14#ifndef XSD_CXX_TREE_TYPES_HXX
15#define XSD_CXX_TREE_TYPES_HXX
20#include <xercesc/dom/DOMAttr.hpp>
21#include <xercesc/dom/DOMElement.hpp>
24#include <xsd/cxx/tree/list.hxx>
26#include <xsd/cxx/tree/istream-fwd.hxx>
55 template <
typename C,
typename B>
56 class string:
public B,
public std::basic_string<C>
58 typedef std::basic_string<C> base_type;
131 std::size_t n = std::basic_string<C>::npos)
132 : base_type (s, pos, n)
147 : B (x, f, c), base_type (x)
175 template <
typename S>
208 const xercesc::DOMElement* e,
278 const std::basic_string<C>&
290 template <
typename C,
typename B>
294 return static_cast<const std::basic_string<C>&
> (a) == b;
302 template <
typename C,
typename B>
320 template <
typename C,
typename B>
396 std::size_t n = std::basic_string<C>::npos)
397 : base_type (s, pos, n)
414 : base_type (x, f, c)
442 template <
typename S>
479 const xercesc::DOMElement* e,
565 template <
typename C,
typename B>
627 token (
const std::basic_string<C>& s)
639 token (
const std::basic_string<C>& s,
641 std::size_t n = std::basic_string<C>::npos)
642 : base_type (s, pos, n)
657 : base_type (x, f, c)
685 template <
typename S>
717 token (
const std::basic_string<C>& s,
718 const xercesc::DOMElement* e,
803 template <
typename C,
typename B>
872 std::size_t n = std::basic_string<C>::npos)
873 : base_type (s, pos, n)
888 : base_type (x, f, c)
916 template <
typename S>
949 const xercesc::DOMElement* e,
1035 template <
typename C,
typename B,
typename nmtoken>
1038 typedef list<nmtoken, C> base_type;
1061 : base_type (n, x, this)
1072 template <
typename I>
1074 : base_type (begin, end, this)
1089 : B (x, f, c), base_type (x, f, this)
1095 operator= (
const nmtokens&) =
default;
1122 template <
typename S>
1155 const xercesc::DOMElement* e,
1166 template <
typename C,
typename B,
typename nmtoken>
1171 return static_cast<const list<nmtoken, C>&
> (a) == b;
1179 template <
typename C,
typename B,
typename nmtoken>
1198 template <
typename C,
typename B>
1201 typedef B base_type;
1253 name (
const std::basic_string<C>& s)
1265 name (
const std::basic_string<C>& s,
1267 std::size_t n = std::basic_string<C>::npos)
1268 : base_type (s, pos, n)
1283 : base_type (x, f, c)
1311 template <
typename S>
1343 name (
const std::basic_string<C>& s,
1344 const xercesc::DOMElement* e,
1422 template <
typename C,
typename B,
typename uri,
typename ncname>
1437 template <
typename C,
typename B>
1440 typedef B base_type;
1506 std::size_t n = std::basic_string<C>::npos)
1507 : base_type (s, pos, n)
1522 : base_type (x, f, c)
1550 template <
typename S>
1583 const xercesc::DOMElement* e,
1657 template <
typename,
typename,
typename,
typename>
1673 template <
typename C,
typename B>
1676 typedef B base_type;
1742 std::size_t n = std::basic_string<C>::npos)
1743 : base_type (s, pos, n)
1758 : base_type (x, f, c)
1786 template <
typename S>
1819 const xercesc::DOMElement* e,
1897 template <
typename C,
typename ncname>
1898 struct identity_impl: identity
1900 identity_impl (
const ncname&
id)
1906 before (
const identity& y)
const;
1909 throw_duplicate_id ()
const;
1929 template <
typename C,
typename B>
1932 typedef B base_type;
1958 : base_type (s), identity_ (*this)
1969 id (
const C* s, std::size_t n)
1970 : base_type (s, n), identity_ (*this)
1983 : base_type (n, c), identity_ (*this)
1993 id (
const std::basic_string<C>& s)
1994 : base_type (s), identity_ (*this)
2006 id (
const std::basic_string<C>& s,
2008 std::size_t n = std::basic_string<C>::npos)
2009 : base_type (s, pos, n), identity_ (*this)
2025 : base_type (x, f, c), identity_ (*this)
2054 template <
typename S>
2086 id (
const std::basic_string<C>& s,
2087 const xercesc::DOMElement* e,
2142 using B::_container;
2150 : base_type (), identity_ (*this)
2165 identity_impl<C, B> identity_;
2186 template <
typename C,
typename B,
typename T>
2189 typedef B base_type;
2215 : base_type (s), identity_ (*this)
2226 : base_type (s, n), identity_ (*this)
2238 : base_type (n, c), identity_ (*this)
2248 : base_type (s), identity_ (*this)
2261 std::size_t n = std::basic_string<C>::npos)
2262 : base_type (s, pos, n), identity_ (*this)
2277 : base_type (x, f, c), identity_ (*this)
2305 template <
typename S>
2338 const xercesc::DOMElement* e,
2456 return dynamic_cast<const ref_type*
> (get_ ());
2468 return dynamic_cast<ref_type*
> (get_ ());
2483 return get_ () ? &idref::true_ : 0;
2490 : base_type (), identity_ (*this)
2507 identity_impl<C, B> identity_;
2521 template <
typename C,
typename B,
typename idref>
2522 class idrefs:
public B,
public list<idref, C>
2524 typedef list<idref, C> base_type;
2547 : base_type (n, x, this)
2558 template <
typename I>
2560 : base_type (begin, end, this)
2575 : B (x, f, c), base_type (x, f, this)
2581 operator= (
const idrefs&) =
default;
2608 template <
typename S>
2641 const xercesc::DOMElement* e,
2652 template <
typename C,
typename B,
typename idref>
2656 return static_cast<const list<idref, C>&
> (a) == b;
2664 template <
typename C,
typename B,
typename idref>
2682 template <
typename C,
typename B>
2683 class uri:
public B,
public std::basic_string<C>
2685 typedef std::basic_string<C> base_type;
2715 uri (
const C* s, std::size_t n)
2737 uri (
const std::basic_string<C>& s)
2749 uri (
const std::basic_string<C>& s,
2751 std::size_t n = std::basic_string<C>::npos)
2752 : base_type (s, pos, n)
2767 : B (x, f, c), base_type (x)
2795 template <
typename S>
2827 uri (
const std::basic_string<C>& s,
2828 const xercesc::DOMElement* e,
2898 const std::basic_string<C>&
2914 template <
typename,
typename,
typename,
typename>
2923 template <
typename C,
typename B>
2927 return static_cast<const std::basic_string<C>&
> (a) == b;
2935 template <
typename C,
typename B>
2951 template <
typename C,
typename B,
typename uri,
typename ncname>
2981 : ns_ (ns), name_ (n)
3006 operator= (
const qname&) =
default;
3033 template <
typename S>
3066 const xercesc::DOMElement* e,
3080 return !ns_.empty ();
3117 resolve (
const std::basic_string<C>&,
const xercesc::DOMElement*);
3129 template <
typename C,
typename B,
typename uri,
typename ncname>
3142 template <
typename C,
typename B,
typename uri,
typename ncname>
3161 template <
typename C,
typename B>
3237 bool assume_ownership);
3251 : B (x, f, c),
buffer<C> (x)
3279 template <
typename S>
3314 const xercesc::DOMElement* e,
3340 std::basic_string<C>
3345 decode (
const XMLCh*);
3353 template <
typename C,
typename B>
3357 return static_cast<const buffer<C>&
> (a) == b;
3365 template <
typename C,
typename B>
3382 template <
typename C,
typename B>
3458 bool assume_ownership);
3471 : B (x, f, c),
buffer<C> (x)
3499 template <
typename S>
3532 const xercesc::DOMElement* e,
3558 std::basic_string<C>
3563 decode (
const XMLCh*);
3571 template <
typename C,
typename B>
3575 return static_cast<const buffer<C>&
> (a) == b;
3583 template <
typename C,
typename B>
3601 template <
typename C,
typename B>
3604 typedef B base_type;
3670 std::size_t n = std::basic_string<C>::npos)
3671 : base_type (s, pos, n)
3686 : base_type (x, f, c)
3714 template <
typename S>
3747 const xercesc::DOMElement* e,
3833 template <
typename C,
typename B,
typename entity>
3836 typedef list<entity, C> base_type;
3859 : base_type (n, x, this)
3870 template <
typename I>
3872 : base_type (begin, end, this)
3887 : B (x, f, c), base_type (x, f, this)
3893 operator= (
const entities&) =
default;
3920 template <
typename S>
3953 const xercesc::DOMElement* e,
3964 template <
typename C,
typename B,
typename entity>
3969 return static_cast<const list<entity, C>&
> (a) == b;
3977 template <
typename C,
typename B,
typename entity>
3988#include <xsd/cxx/tree/types.txx>
Contains a simple binary buffer abstraction that is used to implement the base64Binary and hexBinary ...
Class corresponding to the XML Schema anyType built-in type.
Definition elements.hxx:318
Class corresponding to the XML Schema base64Binary built-in type.
Definition types.hxx:3163
base64_binary(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
base64_binary(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
std::basic_string< C > encode() const
Encode the buffer in base64 encoding.
base64_binary(const void *data, size_t size)
Allocate a buffer of the specified size and copy the data.
virtual base64_binary * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
base64_binary(size_t size, size_t capacity)
Allocate a buffer of the specified size and capacity.
base64_binary(const void *data, size_t size, size_t capacity)
Allocate a buffer of the specified size and capacity and copy the data.
base64_binary & operator=(const base64_binary &x)
Copy assignment operator.
Definition types.hxx:3327
base64_binary(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
base64_binary(void *data, size_t size, size_t capacity, bool assume_ownership)
Reuse an existing buffer.
base64_binary(const base64_binary &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:3248
base64_binary(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
base64_binary(size_t size=0)
Allocate a buffer of the specified size.
Simple binary buffer abstraction.
Definition buffer.hxx:81
size_t size() const
Get buffer's size.
Definition buffer.hxx:215
size_t capacity() const
Get buffer's capacity.
Definition buffer.hxx:191
std::size_t size_t
Size type.
Definition buffer.hxx:86
const char * data() const
Get the underlying memory region.
Definition buffer.hxx:243
Class corresponding to the XML Schema ENTITIES built-in type.
Definition types.hxx:3835
entities(const I &begin, const I &end)
Initialize the instance with copies of elements from an iterator range.
Definition types.hxx:3871
entities(typename base_type::size_type n, const entity &x)
Initialize the instance with copies of an exemplar elements.
Definition types.hxx:3858
virtual entities * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
entities(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
entities(const entities &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:3886
entities()
Default constructor creates no elements.
Definition types.hxx:3847
entities(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
entities(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
entities(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
Class corresponding to the XML Schema ENTITY built-in type.
Definition types.hxx:3603
entity & operator=(C c)
Assign a character to the instance.
Definition types.hxx:3762
entity(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
entity(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:3668
entity(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
virtual entity * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
entity(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:3623
entity(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
entity(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:3634
entity(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
entity(const entity &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:3685
entity(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:3646
entity(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:3656
Parsing and serialization flags.
Definition elements.hxx:76
Class corresponding to the XML Schema hexBinary built-in type.
Definition types.hxx:3384
hex_binary(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
std::basic_string< C > encode() const
Encode the buffer in hex encoding.
virtual hex_binary * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
hex_binary(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
hex_binary(void *data, size_t size, size_t capacity, bool assume_ownership)
Reuse an existing buffer..
hex_binary(size_t size=0)
Allocate a buffer of the specified size.
hex_binary(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
hex_binary(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
hex_binary(const void *data, size_t size, size_t capacity)
Allocate a buffer of the specified size and capacity and copy the data.
hex_binary(const void *data, size_t size)
Allocate a buffer of the specified size and copy the data.
hex_binary(const hex_binary &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:3470
hex_binary & operator=(const hex_binary &x)
Copy assignment operator.
Definition types.hxx:3545
hex_binary(size_t size, size_t capacity)
Allocate a buffer of the specified size and capacity.
Class corresponding to the XML Schema ID built-in type.
Definition types.hxx:1931
id(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:1957
id(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
id(const id &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:2024
id(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:1993
id(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:2006
id(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:1982
id(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:1969
virtual id * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
id & operator=(C c)
Assign a character to the instance.
id(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
id(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
id(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
Class corresponding to the XML Schema IDREF built-in type.
Definition types.hxx:2188
virtual idref * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
idref(const idref &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:2276
idref(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:2247
idref(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:2214
idref(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
idref & operator=(C c)
Assign a character to the instance.
Definition types.hxx:2353
ref_type * get()
Get a pointer to the referenced object.
Definition types.hxx:2466
idref(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:2225
void(idref::* bool_convertible)()
Opaque type that can be evaluated as true or false.
Definition types.hxx:2474
idref(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:2237
const ref_type * operator->() const
Call referenced object.
Definition types.hxx:2409
idref(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
T ref_type
Referenced type.
Definition types.hxx:2201
idref(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:2259
const ref_type & operator*() const
Dereference referenced object.
Definition types.hxx:2431
idref(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
idref(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
const ref_type * get() const
Get a constant pointer to the referenced object.
Definition types.hxx:2454
Class corresponding to the XML Schema IDREFS built-in type.
Definition types.hxx:2523
idrefs(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
idrefs(const idrefs &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:2574
idrefs(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
idrefs(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
idrefs(const I &begin, const I &end)
Initialize the instance with copies of elements from an iterator range.
Definition types.hxx:2559
virtual idrefs * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
idrefs(typename base_type::size_type n, const idref &x)
Initialize the instance with copies of an exemplar elements.
Definition types.hxx:2546
idrefs(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
idrefs()
Default constructor creates no elements.
Definition types.hxx:2535
Class corresponding to the XML Schema language built-in type.
Definition types.hxx:1675
language(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
language(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
language(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:1718
language(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:1695
language & operator=(C c)
Assign a character to the instance.
Definition types.hxx:1834
language(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
virtual language * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
language(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:1728
language(const language &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:1757
language(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:1706
language(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
language(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:1740
Class corresponding to the XML Schema Name built-in type.
Definition types.hxx:1200
name(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
name(const name &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:1282
name(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:1265
name(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:1231
name(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
name(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
virtual name * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
name(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
name & operator=(C c)
Assign a character to the instance.
Definition types.hxx:1359
name(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:1243
name(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:1253
name(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:1220
Class corresponding to the XML Schema NCame built-in type.
Definition types.hxx:1439
ncname(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
ncname(const ncname &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:1521
ncname(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:1470
ncname(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:1459
ncname(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:1504
ncname & operator=(C c)
Assign a character to the instance.
Definition types.hxx:1598
ncname(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:1482
ncname(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
ncname(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
virtual ncname * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
ncname(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
ncname(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:1492
Class corresponding to the XML Schema NMTOKEN built-in type.
Definition types.hxx:805
nmtoken(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
nmtoken(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:870
nmtoken(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
nmtoken(const nmtoken &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:887
nmtoken(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:836
nmtoken(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:825
nmtoken(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:858
virtual nmtoken * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
nmtoken(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:848
nmtoken(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
nmtoken & operator=(C c)
Assign a character to the instance.
Definition types.hxx:964
nmtoken(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
Class corresponding to the XML Schema NMTOKENS built-in type.
Definition types.hxx:1037
nmtokens(const I &begin, const I &end)
Initialize the instance with copies of elements from an iterator range.
Definition types.hxx:1073
nmtokens(typename base_type::size_type n, const nmtoken &x)
Initialize the instance with copies of an exemplar elements.
Definition types.hxx:1060
virtual nmtokens * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
nmtokens(const nmtokens &x, flags f, container *c=0)
Copy constructor.
Definition types.hxx:1088
nmtokens(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
nmtokens(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
nmtokens(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
nmtokens(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
nmtokens()
Default constructor creates no elements.
Definition types.hxx:1049
Class corresponding to the XML Schema normalizedString built-in type.
Definition types.hxx:322
normalized_string(const normalized_string &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:411
normalized_string(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
virtual normalized_string * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
normalized_string(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:349
normalized_string(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
normalized_string(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
normalized_string(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:382
normalized_string(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
normalized_string(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:360
normalized_string & operator=(C c)
Assign a character to the instance.
Definition types.hxx:494
normalized_string()
Default constructor creates an empty normalized_string.
Definition types.hxx:340
normalized_string(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:372
normalized_string(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:394
Class corresponding to the XML Schema QName built-in type.
Definition types.hxx:2953
qname(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
qname(const qname &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:2995
qname(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
const ncname & name() const
Get XML name.
Definition types.hxx:3100
virtual qname * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
qname(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
bool qualified() const
Determine if the name is qualified.
Definition types.hxx:3078
qname(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
qname(const uri &ns, const ncname &n)
Initialize an instance with a name and a namespace.
Definition types.hxx:2980
qname(const ncname &n)
Initialize an instance with a name only.
Definition types.hxx:2967
const uri & namespace_() const
Get XML namespace.
Definition types.hxx:3089
Class corresponding to the XML Schema string built-in type.
Definition types.hxx:57
string(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:107
string(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:117
string(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
string(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:95
virtual string * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
string(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
const std::basic_string< C > & base_string() const
Explicitly "cast" to the base string type.
Definition types.hxx:279
string(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
string(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:84
string(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:129
string()
Default constructor creates an empty string.
Definition types.hxx:75
string(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
string(const string &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:146
string & operator=(C c)
Assign a character to the instance.
Definition types.hxx:223
Class corresponding to the XML Schema token built-in type.
Definition types.hxx:567
token(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:594
token(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:605
token(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
token(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:617
virtual token * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
token(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:639
token(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
token(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:627
token(const token &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:656
token()
Default constructor creates an empty token.
Definition types.hxx:585
token & operator=(C c)
Assign a character to the instance.
Definition types.hxx:733
token(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
token(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
Class corresponding to the XML Schema anyURI built-in type.
Definition types.hxx:2684
uri(const C *s)
Initialize an instance with a copy of a C string.
Definition types.hxx:2704
uri(istream< S > &s, flags f=0, container *c=0)
Create an instance from a data representation stream.
uri(const std::basic_string< C > &s, std::size_t pos, std::size_t n=std::basic_string< C >::npos)
Initialize an instance with a copy of a substring.
Definition types.hxx:2749
uri(const C *s, std::size_t n)
Initialize an instance with a character array.
Definition types.hxx:2715
const std::basic_string< C > & base_string() const
Explicitly "cast" to the base string type.
Definition types.hxx:2899
virtual uri * _clone(flags f=0, container *c=0) const
Copy the instance polymorphically.
uri(const std::basic_string< C > &s, const xercesc::DOMElement *e, flags f=0, container *c=0)
Create an instance from a string fragment.
uri(const uri &x, flags f=0, container *c=0)
Copy constructor.
Definition types.hxx:2766
uri(const xercesc::DOMElement &e, flags f=0, container *c=0)
Create an instance from a DOM element.
uri(const xercesc::DOMAttr &a, flags f=0, container *c=0)
Create an instance from a DOM Attribute.
uri(const std::basic_string< C > &s)
Initialize an instance with a copy of a standard string.
Definition types.hxx:2737
uri & operator=(C c)
Assign a character to the instance.
Definition types.hxx:2843
uri(std::size_t n, C c)
Initialize an instance with multiple copies of the same character.
Definition types.hxx:2727
Contains C++ class definitions for the XML Schema date/time types.
Contains C++ class definitions for XML Schema anyType and anySimpleType types as well as supporting c...
bool operator==(const buffer< C > &a, const buffer< C > &b)
buffer comparison operator.
Definition buffer.hxx:311
bool operator!=(const buffer< C > &a, const buffer< C > &b)
buffer comparison operator.
Definition buffer.hxx:325