14#ifndef __XML_SCHEMA_INTERNALS_H__
15#define __XML_SCHEMA_INTERNALS_H__
19#ifdef LIBXML_SCHEMAS_ENABLED
31 XML_SCHEMAS_UNKNOWN = 0,
32 XML_SCHEMAS_STRING = 1,
33 XML_SCHEMAS_NORMSTRING = 2,
34 XML_SCHEMAS_DECIMAL = 3,
37 XML_SCHEMAS_GMONTH = 6,
38 XML_SCHEMAS_GMONTHDAY = 7,
39 XML_SCHEMAS_GYEAR = 8,
40 XML_SCHEMAS_GYEARMONTH = 9,
41 XML_SCHEMAS_DATE = 10,
42 XML_SCHEMAS_DATETIME = 11,
43 XML_SCHEMAS_DURATION = 12,
44 XML_SCHEMAS_FLOAT = 13,
45 XML_SCHEMAS_DOUBLE = 14,
46 XML_SCHEMAS_BOOLEAN = 15,
47 XML_SCHEMAS_TOKEN = 16,
48 XML_SCHEMAS_LANGUAGE = 17,
49 XML_SCHEMAS_NMTOKEN = 18,
50 XML_SCHEMAS_NMTOKENS = 19,
51 XML_SCHEMAS_NAME = 20,
52 XML_SCHEMAS_QNAME = 21,
53 XML_SCHEMAS_NCNAME = 22,
55 XML_SCHEMAS_IDREF = 24,
56 XML_SCHEMAS_IDREFS = 25,
57 XML_SCHEMAS_ENTITY = 26,
58 XML_SCHEMAS_ENTITIES = 27,
59 XML_SCHEMAS_NOTATION = 28,
60 XML_SCHEMAS_ANYURI = 29,
61 XML_SCHEMAS_INTEGER = 30,
62 XML_SCHEMAS_NPINTEGER = 31,
63 XML_SCHEMAS_NINTEGER = 32,
64 XML_SCHEMAS_NNINTEGER = 33,
65 XML_SCHEMAS_PINTEGER = 34,
67 XML_SCHEMAS_UINT = 36,
68 XML_SCHEMAS_LONG = 37,
69 XML_SCHEMAS_ULONG = 38,
70 XML_SCHEMAS_SHORT = 39,
71 XML_SCHEMAS_USHORT = 40,
72 XML_SCHEMAS_BYTE = 41,
73 XML_SCHEMAS_UBYTE = 42,
74 XML_SCHEMAS_HEXBINARY = 43,
75 XML_SCHEMAS_BASE64BINARY = 44,
76 XML_SCHEMAS_ANYTYPE = 45,
77 XML_SCHEMAS_ANYSIMPLETYPE = 46
84 XML_SCHEMA_TYPE_BASIC = 1,
86 XML_SCHEMA_TYPE_FACET,
87 XML_SCHEMA_TYPE_SIMPLE,
88 XML_SCHEMA_TYPE_COMPLEX,
89 XML_SCHEMA_TYPE_SEQUENCE = 6,
90 XML_SCHEMA_TYPE_CHOICE,
92 XML_SCHEMA_TYPE_SIMPLE_CONTENT,
93 XML_SCHEMA_TYPE_COMPLEX_CONTENT,
95 XML_SCHEMA_TYPE_RESTRICTION,
96 XML_SCHEMA_TYPE_EXTENSION,
97 XML_SCHEMA_TYPE_ELEMENT,
98 XML_SCHEMA_TYPE_ATTRIBUTE,
99 XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
100 XML_SCHEMA_TYPE_GROUP,
101 XML_SCHEMA_TYPE_NOTATION,
102 XML_SCHEMA_TYPE_LIST,
103 XML_SCHEMA_TYPE_UNION,
104 XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
105 XML_SCHEMA_TYPE_IDC_UNIQUE,
106 XML_SCHEMA_TYPE_IDC_KEY,
107 XML_SCHEMA_TYPE_IDC_KEYREF,
108 XML_SCHEMA_TYPE_PARTICLE = 25,
109 XML_SCHEMA_TYPE_ATTRIBUTE_USE,
110 XML_SCHEMA_FACET_MININCLUSIVE = 1000,
111 XML_SCHEMA_FACET_MINEXCLUSIVE,
112 XML_SCHEMA_FACET_MAXINCLUSIVE,
113 XML_SCHEMA_FACET_MAXEXCLUSIVE,
114 XML_SCHEMA_FACET_TOTALDIGITS,
115 XML_SCHEMA_FACET_FRACTIONDIGITS,
116 XML_SCHEMA_FACET_PATTERN,
117 XML_SCHEMA_FACET_ENUMERATION,
118 XML_SCHEMA_FACET_WHITESPACE,
119 XML_SCHEMA_FACET_LENGTH,
120 XML_SCHEMA_FACET_MAXLENGTH,
121 XML_SCHEMA_FACET_MINLENGTH,
122 XML_SCHEMA_EXTRA_QNAMEREF = 2000,
123 XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
127 XML_SCHEMA_CONTENT_UNKNOWN = 0,
128 XML_SCHEMA_CONTENT_EMPTY = 1,
129 XML_SCHEMA_CONTENT_ELEMENTS,
130 XML_SCHEMA_CONTENT_MIXED,
131 XML_SCHEMA_CONTENT_SIMPLE,
132 XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS,
133 XML_SCHEMA_CONTENT_BASIC,
134 XML_SCHEMA_CONTENT_ANY
135} xmlSchemaContentType;
137typedef struct _xmlSchemaVal xmlSchemaVal;
138typedef xmlSchemaVal *xmlSchemaValPtr;
140typedef struct _xmlSchemaType xmlSchemaType;
141typedef xmlSchemaType *xmlSchemaTypePtr;
143typedef struct _xmlSchemaFacet xmlSchemaFacet;
144typedef xmlSchemaFacet *xmlSchemaFacetPtr;
149typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
150typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
151struct _xmlSchemaAnnot {
152 struct _xmlSchemaAnnot *
next;
162#define XML_SCHEMAS_ANYATTR_SKIP 1
169#define XML_SCHEMAS_ANYATTR_LAX 2
176#define XML_SCHEMAS_ANYATTR_STRICT 3
182#define XML_SCHEMAS_ANY_SKIP 1
189#define XML_SCHEMAS_ANY_LAX 2
196#define XML_SCHEMAS_ANY_STRICT 3
203#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
209#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
215#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
221#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0
227#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7
234#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8
240#define XML_SCHEMAS_ATTR_FIXED 1 << 9
247typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
248typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
249struct _xmlSchemaAttribute {
250 xmlSchemaTypeType
type;
251 struct _xmlSchemaAttribute *
next;
258 xmlSchemaAnnotPtr annot;
260 xmlSchemaTypePtr
base;
263 xmlSchemaTypePtr subtypes;
265 const xmlChar *targetNamespace;
268 xmlSchemaValPtr defVal;
269 xmlSchemaAttributePtr refDecl;
277typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
278typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
279struct _xmlSchemaAttributeLink {
280 struct _xmlSchemaAttributeLink *
next;
281 struct _xmlSchemaAttribute *
attr;
289#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0
295typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
296typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
297struct _xmlSchemaWildcardNs {
298 struct _xmlSchemaWildcardNs *
next;
306typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
307typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
308struct _xmlSchemaWildcard {
309 xmlSchemaTypeType
type;
311 xmlSchemaAnnotPtr annot;
317 xmlSchemaWildcardNsPtr nsSet;
318 xmlSchemaWildcardNsPtr negNsSet;
327#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
333#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
339#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
346#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
352#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4
360typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
361typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
362struct _xmlSchemaAttributeGroup {
363 xmlSchemaTypeType
type;
364 struct _xmlSchemaAttribute *
next;
369 xmlSchemaAnnotPtr annot;
371 xmlSchemaAttributePtr attributes;
374 xmlSchemaWildcardPtr attributeWildcard;
376 xmlSchemaAttributeGroupPtr refItem;
377 const xmlChar *targetNamespace;
386typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
387typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
388struct _xmlSchemaTypeLink {
389 struct _xmlSchemaTypeLink *
next;
390 xmlSchemaTypePtr
type;
397typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
398typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
399struct _xmlSchemaFacetLink {
400 struct _xmlSchemaFacetLink *
next;
401 xmlSchemaFacetPtr facet;
409#define XML_SCHEMAS_TYPE_MIXED 1 << 0
415#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1
421#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2
427#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3
434#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4
443#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5
449#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6
455#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7
461#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8
467#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9
473#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10
479#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11
485#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12
491#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13
497#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14
503#define XML_SCHEMAS_TYPE_MARKED 1 << 16
510#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17
516#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18
522#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19
528#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20
534#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21
540#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22
546#define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23
552#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24
558#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25
564#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26
570#define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27
576#define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28
583#define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29
590#define XML_SCHEMAS_TYPE_REDEFINED 1 << 30
603struct _xmlSchemaType {
604 xmlSchemaTypeType
type;
605 struct _xmlSchemaType *
next;
610 xmlSchemaAnnotPtr annot;
611 xmlSchemaTypePtr subtypes;
612 xmlSchemaAttributePtr attributes;
618 xmlSchemaContentType contentType;
621 xmlSchemaTypePtr baseType;
622 xmlSchemaFacetPtr facets;
623 struct _xmlSchemaType *redef;
625 xmlSchemaAttributeLinkPtr *attributeUses;
626 xmlSchemaWildcardPtr attributeWildcard;
628 xmlSchemaTypeLinkPtr memberTypes;
629 xmlSchemaFacetLinkPtr facetSet;
631 xmlSchemaTypePtr contentTypeDef;
633 xmlRegexpPtr contModel;
634 const xmlChar *targetNamespace;
650#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0
656#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1
662#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2
668#define XML_SCHEMAS_ELEM_FIXED 1 << 3
674#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4
681#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5
687#define XML_SCHEMAS_ELEM_REF 1 << 6
694#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7
701#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8
707#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9
713#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10
719#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11
725#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12
731#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13
737#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14
743#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15
749#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16
755#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17
762#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18
764typedef struct _xmlSchemaElement xmlSchemaElement;
765typedef xmlSchemaElement *xmlSchemaElementPtr;
766struct _xmlSchemaElement {
767 xmlSchemaTypeType
type;
768 struct _xmlSchemaType *
next;
773 xmlSchemaAnnotPtr annot;
774 xmlSchemaTypePtr subtypes;
775 xmlSchemaAttributePtr attributes;
781 const xmlChar *targetNamespace;
788 struct _xmlSchemaElement *refDecl;
790 xmlRegexpPtr contModel;
791 xmlSchemaContentType contentType;
793 xmlSchemaValPtr defVal;
802#define XML_SCHEMAS_FACET_UNKNOWN 0
808#define XML_SCHEMAS_FACET_PRESERVE 1
814#define XML_SCHEMAS_FACET_REPLACE 2
820#define XML_SCHEMAS_FACET_COLLAPSE 3
824struct _xmlSchemaFacet {
825 xmlSchemaTypeType
type;
826 struct _xmlSchemaFacet *
next;
829 xmlSchemaAnnotPtr annot;
840typedef struct _xmlSchemaNotation xmlSchemaNotation;
841typedef xmlSchemaNotation *xmlSchemaNotationPtr;
842struct _xmlSchemaNotation {
843 xmlSchemaTypeType
type;
845 xmlSchemaAnnotPtr annot;
847 const xmlChar *targetNamespace;
862#define XML_SCHEMAS_QUALIF_ELEM 1 << 0
869#define XML_SCHEMAS_QUALIF_ATTR 1 << 1
875#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2
881#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3
887#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4
893#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5
899#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6
905#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7
911#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8
918#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9
926 const xmlChar *targetNamespace;
930 xmlSchemaAnnotPtr annot;
952XMLPUBFUN void xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
static struct loaded_include * includes
static const WCHAR version[]
GLuint GLuint GLsizei GLenum type
GLuint GLsizei const GLvoid GLenum preserve
static const char whitespace[]
static unsigned __int64 next