ReactOS 0.4.15-dev-7958-gcd0bb1a
schemasInternals.h
Go to the documentation of this file.
1/*
2 * Summary: internal interfaces for XML Schemas
3 * Description: internal interfaces for the XML Schemas handling
4 * and schema validity checking
5 * The Schemas development is a Work In Progress.
6 * Some of those interfaces are not guaranteed to be API or ABI stable !
7 *
8 * Copy: See Copyright for the status of this software.
9 *
10 * Author: Daniel Veillard
11 */
12
13
14#ifndef __XML_SCHEMA_INTERNALS_H__
15#define __XML_SCHEMA_INTERNALS_H__
16
17#include <libxml/xmlversion.h>
18
19#ifdef LIBXML_SCHEMAS_ENABLED
20
21#include <libxml/xmlregexp.h>
22#include <libxml/hash.h>
23#include <libxml/dict.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29typedef enum {
30 XML_SCHEMAS_UNKNOWN = 0,
31 XML_SCHEMAS_STRING = 1,
32 XML_SCHEMAS_NORMSTRING = 2,
33 XML_SCHEMAS_DECIMAL = 3,
34 XML_SCHEMAS_TIME = 4,
35 XML_SCHEMAS_GDAY = 5,
36 XML_SCHEMAS_GMONTH = 6,
37 XML_SCHEMAS_GMONTHDAY = 7,
38 XML_SCHEMAS_GYEAR = 8,
39 XML_SCHEMAS_GYEARMONTH = 9,
40 XML_SCHEMAS_DATE = 10,
41 XML_SCHEMAS_DATETIME = 11,
42 XML_SCHEMAS_DURATION = 12,
43 XML_SCHEMAS_FLOAT = 13,
44 XML_SCHEMAS_DOUBLE = 14,
45 XML_SCHEMAS_BOOLEAN = 15,
46 XML_SCHEMAS_TOKEN = 16,
47 XML_SCHEMAS_LANGUAGE = 17,
48 XML_SCHEMAS_NMTOKEN = 18,
49 XML_SCHEMAS_NMTOKENS = 19,
50 XML_SCHEMAS_NAME = 20,
51 XML_SCHEMAS_QNAME = 21,
52 XML_SCHEMAS_NCNAME = 22,
53 XML_SCHEMAS_ID = 23,
54 XML_SCHEMAS_IDREF = 24,
55 XML_SCHEMAS_IDREFS = 25,
56 XML_SCHEMAS_ENTITY = 26,
57 XML_SCHEMAS_ENTITIES = 27,
58 XML_SCHEMAS_NOTATION = 28,
59 XML_SCHEMAS_ANYURI = 29,
60 XML_SCHEMAS_INTEGER = 30,
61 XML_SCHEMAS_NPINTEGER = 31,
62 XML_SCHEMAS_NINTEGER = 32,
63 XML_SCHEMAS_NNINTEGER = 33,
64 XML_SCHEMAS_PINTEGER = 34,
65 XML_SCHEMAS_INT = 35,
66 XML_SCHEMAS_UINT = 36,
67 XML_SCHEMAS_LONG = 37,
68 XML_SCHEMAS_ULONG = 38,
69 XML_SCHEMAS_SHORT = 39,
70 XML_SCHEMAS_USHORT = 40,
71 XML_SCHEMAS_BYTE = 41,
72 XML_SCHEMAS_UBYTE = 42,
73 XML_SCHEMAS_HEXBINARY = 43,
74 XML_SCHEMAS_BASE64BINARY = 44,
75 XML_SCHEMAS_ANYTYPE = 45,
76 XML_SCHEMAS_ANYSIMPLETYPE = 46
77} xmlSchemaValType;
78
79/*
80 * XML Schemas defines multiple type of types.
81 */
82typedef enum {
83 XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
84 XML_SCHEMA_TYPE_ANY,
85 XML_SCHEMA_TYPE_FACET,
86 XML_SCHEMA_TYPE_SIMPLE,
87 XML_SCHEMA_TYPE_COMPLEX,
88 XML_SCHEMA_TYPE_SEQUENCE = 6,
89 XML_SCHEMA_TYPE_CHOICE,
90 XML_SCHEMA_TYPE_ALL,
91 XML_SCHEMA_TYPE_SIMPLE_CONTENT,
92 XML_SCHEMA_TYPE_COMPLEX_CONTENT,
93 XML_SCHEMA_TYPE_UR,
94 XML_SCHEMA_TYPE_RESTRICTION,
95 XML_SCHEMA_TYPE_EXTENSION,
96 XML_SCHEMA_TYPE_ELEMENT,
97 XML_SCHEMA_TYPE_ATTRIBUTE,
98 XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
99 XML_SCHEMA_TYPE_GROUP,
100 XML_SCHEMA_TYPE_NOTATION,
101 XML_SCHEMA_TYPE_LIST,
102 XML_SCHEMA_TYPE_UNION,
103 XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
104 XML_SCHEMA_TYPE_IDC_UNIQUE,
105 XML_SCHEMA_TYPE_IDC_KEY,
106 XML_SCHEMA_TYPE_IDC_KEYREF,
107 XML_SCHEMA_TYPE_PARTICLE = 25,
108 XML_SCHEMA_TYPE_ATTRIBUTE_USE,
109 XML_SCHEMA_FACET_MININCLUSIVE = 1000,
110 XML_SCHEMA_FACET_MINEXCLUSIVE,
111 XML_SCHEMA_FACET_MAXINCLUSIVE,
112 XML_SCHEMA_FACET_MAXEXCLUSIVE,
113 XML_SCHEMA_FACET_TOTALDIGITS,
114 XML_SCHEMA_FACET_FRACTIONDIGITS,
115 XML_SCHEMA_FACET_PATTERN,
116 XML_SCHEMA_FACET_ENUMERATION,
117 XML_SCHEMA_FACET_WHITESPACE,
118 XML_SCHEMA_FACET_LENGTH,
119 XML_SCHEMA_FACET_MAXLENGTH,
120 XML_SCHEMA_FACET_MINLENGTH,
121 XML_SCHEMA_EXTRA_QNAMEREF = 2000,
122 XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
123} xmlSchemaTypeType;
124
125typedef enum {
126 XML_SCHEMA_CONTENT_UNKNOWN = 0,
127 XML_SCHEMA_CONTENT_EMPTY = 1,
128 XML_SCHEMA_CONTENT_ELEMENTS,
129 XML_SCHEMA_CONTENT_MIXED,
130 XML_SCHEMA_CONTENT_SIMPLE,
131 XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
132 XML_SCHEMA_CONTENT_BASIC,
133 XML_SCHEMA_CONTENT_ANY
134} xmlSchemaContentType;
135
136typedef struct _xmlSchemaVal xmlSchemaVal;
137typedef xmlSchemaVal *xmlSchemaValPtr;
138
139typedef struct _xmlSchemaType xmlSchemaType;
140typedef xmlSchemaType *xmlSchemaTypePtr;
141
142typedef struct _xmlSchemaFacet xmlSchemaFacet;
143typedef xmlSchemaFacet *xmlSchemaFacetPtr;
144
148typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
149typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
150struct _xmlSchemaAnnot {
151 struct _xmlSchemaAnnot *next;
152 xmlNodePtr content; /* the annotation */
153};
154
161#define XML_SCHEMAS_ANYATTR_SKIP 1
168#define XML_SCHEMAS_ANYATTR_LAX 2
175#define XML_SCHEMAS_ANYATTR_STRICT 3
181#define XML_SCHEMAS_ANY_SKIP 1
188#define XML_SCHEMAS_ANY_LAX 2
195#define XML_SCHEMAS_ANY_STRICT 3
202#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
208#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
214#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
220#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0
226#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7
233#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8
239#define XML_SCHEMAS_ATTR_FIXED 1 << 9
240
246typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
247typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
248struct _xmlSchemaAttribute {
249 xmlSchemaTypeType type;
250 struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */
251 const xmlChar *name; /* the name of the declaration */
252 const xmlChar *id; /* Deprecated; not used */
253 const xmlChar *ref; /* Deprecated; not used */
254 const xmlChar *refNs; /* Deprecated; not used */
255 const xmlChar *typeName; /* the local name of the type definition */
256 const xmlChar *typeNs; /* the ns URI of the type definition */
257 xmlSchemaAnnotPtr annot;
258
259 xmlSchemaTypePtr base; /* Deprecated; not used */
260 int occurs; /* Deprecated; not used */
261 const xmlChar *defValue; /* The initial value of the value constraint */
262 xmlSchemaTypePtr subtypes; /* the type definition */
264 const xmlChar *targetNamespace;
265 int flags;
266 const xmlChar *refPrefix; /* Deprecated; not used */
267 xmlSchemaValPtr defVal; /* The compiled value constraint */
268 xmlSchemaAttributePtr refDecl; /* Deprecated; not used */
269};
270
276typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
277typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
278struct _xmlSchemaAttributeLink {
279 struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
280 struct _xmlSchemaAttribute *attr;/* the linked attribute */
281};
282
288#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0
289
294typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
295typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
296struct _xmlSchemaWildcardNs {
297 struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
298 const xmlChar *value;/* the value */
299};
300
305typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
306typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
307struct _xmlSchemaWildcard {
308 xmlSchemaTypeType type; /* The kind of type */
309 const xmlChar *id; /* Deprecated; not used */
310 xmlSchemaAnnotPtr annot;
312 int minOccurs; /* Deprecated; not used */
313 int maxOccurs; /* Deprecated; not used */
314 int processContents;
315 int any; /* Indicates if the ns constraint is of ##any */
316 xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
317 xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
318 int flags;
319};
320
326#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
332#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
338#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
339
345#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
351#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4
352
359typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
360typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
361struct _xmlSchemaAttributeGroup {
362 xmlSchemaTypeType type; /* The kind of type */
363 struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
364 const xmlChar *name;
365 const xmlChar *id;
366 const xmlChar *ref; /* Deprecated; not used */
367 const xmlChar *refNs; /* Deprecated; not used */
368 xmlSchemaAnnotPtr annot;
369
370 xmlSchemaAttributePtr attributes; /* Deprecated; not used */
372 int flags;
373 xmlSchemaWildcardPtr attributeWildcard;
374 const xmlChar *refPrefix; /* Deprecated; not used */
375 xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */
376 const xmlChar *targetNamespace;
377 void *attrUses;
378};
379
385typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
386typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
387struct _xmlSchemaTypeLink {
388 struct _xmlSchemaTypeLink *next;/* the next type link ... */
389 xmlSchemaTypePtr type;/* the linked type */
390};
391
396typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
397typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
398struct _xmlSchemaFacetLink {
399 struct _xmlSchemaFacetLink *next;/* the next facet link ... */
400 xmlSchemaFacetPtr facet;/* the linked facet */
401};
402
408#define XML_SCHEMAS_TYPE_MIXED 1 << 0
414#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1
420#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2
426#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3
433#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */
442#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5
448#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6
454#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7
460#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8
466#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9
472#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10
478#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11
484#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12
490#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13
496#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14
502#define XML_SCHEMAS_TYPE_MARKED 1 << 16
509#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17
515#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18
521#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19
527#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20
533#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21
539#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22
545#define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23
551#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24
557#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25
563#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26
569#define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27
575#define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28
576
582#define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29
583
589#define XML_SCHEMAS_TYPE_REDEFINED 1 << 30
595/* #define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 */
596
602struct _xmlSchemaType {
603 xmlSchemaTypeType type; /* The kind of type */
604 struct _xmlSchemaType *next; /* the next type if in a sequence ... */
605 const xmlChar *name;
606 const xmlChar *id ; /* Deprecated; not used */
607 const xmlChar *ref; /* Deprecated; not used */
608 const xmlChar *refNs; /* Deprecated; not used */
609 xmlSchemaAnnotPtr annot;
610 xmlSchemaTypePtr subtypes;
611 xmlSchemaAttributePtr attributes; /* Deprecated; not used */
613 int minOccurs; /* Deprecated; not used */
614 int maxOccurs; /* Deprecated; not used */
615
616 int flags;
617 xmlSchemaContentType contentType;
618 const xmlChar *base; /* Base type's local name */
619 const xmlChar *baseNs; /* Base type's target namespace */
620 xmlSchemaTypePtr baseType; /* The base type component */
621 xmlSchemaFacetPtr facets; /* Local facets */
622 struct _xmlSchemaType *redef; /* Deprecated; not used */
623 int recurse; /* Obsolete */
624 xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */
625 xmlSchemaWildcardPtr attributeWildcard;
626 int builtInType; /* Type of built-in types. */
627 xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */
628 xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
629 const xmlChar *refPrefix; /* Deprecated; not used */
630 xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types.
631 Could we use @subtypes for this? */
632 xmlRegexpPtr contModel; /* Holds the automaton of the content model */
633 const xmlChar *targetNamespace;
634 void *attrUses;
635};
636
637/*
638 * xmlSchemaElement:
639 * An element definition.
640 *
641 * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
642 * structures must be kept similar
643 */
649#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0
655#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1
661#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2
667#define XML_SCHEMAS_ELEM_FIXED 1 << 3
673#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4
680#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5
686#define XML_SCHEMAS_ELEM_REF 1 << 6
693#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7
700#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8
706#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9
712#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10
718#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11
724#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12
730#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13
736#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14
742#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15
748#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16
754#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17
761#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18
762
763typedef struct _xmlSchemaElement xmlSchemaElement;
764typedef xmlSchemaElement *xmlSchemaElementPtr;
765struct _xmlSchemaElement {
766 xmlSchemaTypeType type; /* The kind of type */
767 struct _xmlSchemaType *next; /* Not used? */
768 const xmlChar *name;
769 const xmlChar *id; /* Deprecated; not used */
770 const xmlChar *ref; /* Deprecated; not used */
771 const xmlChar *refNs; /* Deprecated; not used */
772 xmlSchemaAnnotPtr annot;
773 xmlSchemaTypePtr subtypes; /* the type definition */
774 xmlSchemaAttributePtr attributes;
776 int minOccurs; /* Deprecated; not used */
777 int maxOccurs; /* Deprecated; not used */
778
779 int flags;
780 const xmlChar *targetNamespace;
781 const xmlChar *namedType;
782 const xmlChar *namedTypeNs;
783 const xmlChar *substGroup;
784 const xmlChar *substGroupNs;
785 const xmlChar *scope;
786 const xmlChar *value; /* The original value of the value constraint. */
787 struct _xmlSchemaElement *refDecl; /* This will now be used for the
788 substitution group affiliation */
789 xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
790 xmlSchemaContentType contentType;
791 const xmlChar *refPrefix; /* Deprecated; not used */
792 xmlSchemaValPtr defVal; /* The compiled value constraint. */
793 void *idcs; /* The identity-constraint defs */
794};
795
796/*
797 * XML_SCHEMAS_FACET_UNKNOWN:
798 *
799 * unknown facet handling
800 */
801#define XML_SCHEMAS_FACET_UNKNOWN 0
802/*
803 * XML_SCHEMAS_FACET_PRESERVE:
804 *
805 * preserve the type of the facet
806 */
807#define XML_SCHEMAS_FACET_PRESERVE 1
808/*
809 * XML_SCHEMAS_FACET_REPLACE:
810 *
811 * replace the type of the facet
812 */
813#define XML_SCHEMAS_FACET_REPLACE 2
814/*
815 * XML_SCHEMAS_FACET_COLLAPSE:
816 *
817 * collapse the types of the facet
818 */
819#define XML_SCHEMAS_FACET_COLLAPSE 3
823struct _xmlSchemaFacet {
824 xmlSchemaTypeType type; /* The kind of type */
825 struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
826 const xmlChar *value; /* The original value */
827 const xmlChar *id; /* Obsolete */
828 xmlSchemaAnnotPtr annot;
830 int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
831 int whitespace;
832 xmlSchemaValPtr val; /* The compiled value */
833 xmlRegexpPtr regexp; /* The regex for patterns */
834};
835
839typedef struct _xmlSchemaNotation xmlSchemaNotation;
840typedef xmlSchemaNotation *xmlSchemaNotationPtr;
841struct _xmlSchemaNotation {
842 xmlSchemaTypeType type; /* The kind of type */
843 const xmlChar *name;
844 xmlSchemaAnnotPtr annot;
845 const xmlChar *identifier;
846 const xmlChar *targetNamespace;
847};
848
849/*
850* TODO: Actually all those flags used for the schema should sit
851* on the schema parser context, since they are used only
852* during parsing an XML schema document, and not available
853* on the component level as per spec.
854*/
861#define XML_SCHEMAS_QUALIF_ELEM 1 << 0
868#define XML_SCHEMAS_QUALIF_ATTR 1 << 1
874#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2
880#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3
886#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4
892#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5
898#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6
904#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7
910#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8
917#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9
923struct _xmlSchema {
924 const xmlChar *name; /* schema name */
925 const xmlChar *targetNamespace; /* the target namespace */
926 const xmlChar *version;
927 const xmlChar *id; /* Obsolete */
928 xmlDocPtr doc;
929 xmlSchemaAnnotPtr annot;
930 int flags;
931
932 xmlHashTablePtr typeDecl;
933 xmlHashTablePtr attrDecl;
934 xmlHashTablePtr attrgrpDecl;
935 xmlHashTablePtr elemDecl;
936 xmlHashTablePtr notaDecl;
937
938 xmlHashTablePtr schemasImports;
939
940 void *_private; /* unused by the library for users or bindings */
941 xmlHashTablePtr groupDecl;
942 xmlDictPtr dict;
943 void *includes; /* the includes, this is opaque for now */
944 int preserve; /* whether to free the document */
945 int counter; /* used to give anonymous components unique names */
946 xmlHashTablePtr idcDef; /* All identity-constraint defs. */
947 void *volatiles; /* Obsolete */
948};
949
950XMLPUBFUN void XMLCALL xmlSchemaFreeType (xmlSchemaTypePtr type);
951XMLPUBFUN void XMLCALL xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
952
953#ifdef __cplusplus
954}
955#endif
956
957#endif /* LIBXML_SCHEMAS_ENABLED */
958#endif /* __XML_SCHEMA_INTERNALS_H__ */
ios_base &_STLP_CALL fixed(ios_base &__s)
Definition: _ios_base.h:332
static struct loaded_include * includes
Definition: compiler.c:53
content
Definition: atl_ax.c:994
static const WCHAR version[]
Definition: asmname.c:66
#define XMLCALL
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLbitfield flags
Definition: glext.h:7161
GLuint GLfloat * val
Definition: glext.h:7180
GLuint GLsizei const GLvoid GLenum preserve
Definition: glext.h:9550
GLuint id
Definition: glext.h:5910
static const char whitespace[]
Definition: main.c:63
static unsigned __int64 next
Definition: rand_nt.c:6
Definition: dict.c:111
Definition: tree.h:551
Definition: tree.h:489
Definition: cookie.c:202
Definition: name.c:39
Definition: send.c:48
Definition: dlist.c:348
Definition: pdh_main.c:94
#define XMLPUBFUN
Definition: xmlexports.h:61
unsigned char xmlChar
Definition: xmlstring.h:28