1ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
2ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Summary: internal interfaces for XML Schemas
3ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Description: internal interfaces for the XML Schemas handling
4ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *              and schema validity checking
5ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *		The Schemas development is a Work In Progress.
6ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *              Some of those interfaces are not garanteed to be API or ABI stable !
7ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
8ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Copy: See Copyright for the status of this software.
9ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
10ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Author: Daniel Veillard
11ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
12ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
13ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
14ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifndef __XML_SCHEMA_INTERNALS_H__
15ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define __XML_SCHEMA_INTERNALS_H__
16ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
17ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlversion.h>
18ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
19ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SCHEMAS_ENABLED
20ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
21ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlregexp.h>
22ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/hash.h>
23ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/dict.h>
24ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
25ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
26ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" {
27ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
28ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
29ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
30ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_UNKNOWN = 0,
31ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_STRING,
32ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NORMSTRING,
33ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_DECIMAL,
34ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_TIME,
35ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_GDAY,
36ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_GMONTH,
37ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_GMONTHDAY,
38ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_GYEAR,
39ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_GYEARMONTH,
40ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_DATE,
41ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_DATETIME,
42ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_DURATION,
43ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_FLOAT,
44ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_DOUBLE,
45ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_BOOLEAN,
46ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_TOKEN,
47ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_LANGUAGE,
48ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NMTOKEN,
49ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NMTOKENS,
50ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NAME,
51ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_QNAME,
52ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NCNAME,
53ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ID,
54ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_IDREF,
55ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_IDREFS,
56ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ENTITY,
57ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ENTITIES,
58ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NOTATION,
59ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ANYURI,
60ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_INTEGER,
61ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NPINTEGER,
62ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NINTEGER,
63ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_NNINTEGER,
64ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_PINTEGER,
65ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_INT,
66ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_UINT,
67ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_LONG,
68ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ULONG,
69ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_SHORT,
70ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_USHORT,
71ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_BYTE,
72ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_UBYTE,
73ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_HEXBINARY,
74ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_BASE64BINARY,
75ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ANYTYPE,
76ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMAS_ANYSIMPLETYPE
77ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlSchemaValType;
78ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
79ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
80ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML Schemas defines multiple type of types.
81ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
82ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
83ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
84ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ANY,
85ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_FACET,
86ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_SIMPLE,
87ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_COMPLEX,
88ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_SEQUENCE = 6,
89ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_CHOICE,
90ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ALL,
91ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_SIMPLE_CONTENT,
92ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_COMPLEX_CONTENT,
93ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_UR,
94ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_RESTRICTION,
95ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_EXTENSION,
96ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ELEMENT,
97ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ATTRIBUTE,
98ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
99ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_GROUP,
100ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_NOTATION,
101ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_LIST,
102ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_UNION,
103ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
104ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_IDC_UNIQUE,
105ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_IDC_KEY,
106ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_IDC_KEYREF,
107ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_PARTICLE = 25,
108ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_TYPE_ATTRIBUTE_USE,
109ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_MININCLUSIVE = 1000,
110ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_MINEXCLUSIVE,
111ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_MAXINCLUSIVE,
112ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_MAXEXCLUSIVE,
113ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_TOTALDIGITS,
114ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_FRACTIONDIGITS,
115ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_PATTERN,
116ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_ENUMERATION,
117ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_WHITESPACE,
118ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_LENGTH,
119ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_MAXLENGTH,
120ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_FACET_MINLENGTH,
121ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_EXTRA_QNAMEREF = 2000,
122ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
123ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlSchemaTypeType;
124ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
125ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
126ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_UNKNOWN = 0,
127ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_EMPTY = 1,
128ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_ELEMENTS,
129ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_MIXED,
130ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_SIMPLE,
131ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
132ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_BASIC,
133ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_SCHEMA_CONTENT_ANY
134ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlSchemaContentType;
135ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
136ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaVal xmlSchemaVal;
137ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaVal *xmlSchemaValPtr;
138ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
139ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaType xmlSchemaType;
140ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaType *xmlSchemaTypePtr;
141ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
142ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaFacet xmlSchemaFacet;
143ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaFacet *xmlSchemaFacetPtr;
144ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
145ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
146ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Annotation
147ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
148ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaAnnot xmlSchemaAnnot;
149ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
150ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaAnnot {
151ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaAnnot *next;
152ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr content;         /* the annotation */
153ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
154ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
155ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
156ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ANYATTR_SKIP:
157ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
158ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Skip unknown attribute from validation
159ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Obsolete, not used anymore.
160ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
161ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ANYATTR_SKIP        1
162ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
163ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ANYATTR_LAX:
164ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
165ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Ignore validation non definition on attributes
166ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Obsolete, not used anymore.
167ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
168ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ANYATTR_LAX                2
169ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
170ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ANYATTR_STRICT:
171ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
172ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Apply strict validation rules on attributes
173ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Obsolete, not used anymore.
174ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
175ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ANYATTR_STRICT        3
176ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
177ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ANY_SKIP:
178ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
179ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Skip unknown attribute from validation
180ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
181ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ANY_SKIP        1
182ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
183ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ANY_LAX:
184ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
185ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used by wildcards.
186ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Validate if type found, don't worry if not found
187ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
188ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ANY_LAX                2
189ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
190ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ANY_STRICT:
191ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
192ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used by wildcards.
193ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Apply strict validation rules
194ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
195ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ANY_STRICT        3
196ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
197ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_USE_PROHIBITED:
198ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
199ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used by wildcards.
200ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The attribute is prohibited.
201ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
202ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
203ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
204ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_USE_REQUIRED:
205ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
206ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The attribute is required.
207ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
208ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
209ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
210ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_USE_OPTIONAL:
211ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
212ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The attribute is optional.
213ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
214ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
215ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
216ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_GLOBAL:
217ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
218ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * allow elements in no namespace
219ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
220ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_GLOBAL        1 << 0
221ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
222ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_NSDEFAULT:
223ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
224ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * allow elements in no namespace
225ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
226ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_NSDEFAULT        1 << 7
227ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
228ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
229ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
230ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * this is set when the "type" and "ref" references
231ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * have been resolved.
232ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
233ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED        1 << 8
234ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
235ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTR_FIXED:
236ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
237ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the attribute has a fixed value
238ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
239ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTR_FIXED        1 << 9
240ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
241ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
242ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaAttribute:
243ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An attribute definition.
244ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
245ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
246ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaAttribute xmlSchemaAttribute;
247ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaAttribute *xmlSchemaAttributePtr;
248ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaAttribute {
249ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type;
250ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */
251ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *name; /* the name of the declaration */
252ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id; /* Deprecated; not used */
253ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *ref; /* Deprecated; not used */
254ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refNs; /* Deprecated; not used */
255ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *typeName; /* the local name of the type definition */
256ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *typeNs; /* the ns URI of the type definition */
257ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
258ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
259ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr base; /* Deprecated; not used */
260ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int occurs; /* Deprecated; not used */
261ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *defValue; /* The initial value of the value constraint */
262ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr subtypes; /* the type definition */
263ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr node;
264ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *targetNamespace;
265ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int flags;
266ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refPrefix; /* Deprecated; not used */
267ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaValPtr defVal; /* The compiled value constraint */
268ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAttributePtr refDecl; /* Deprecated; not used */
269ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
270ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
271ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
272ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaAttributeLink:
273ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used to build a list of attribute uses on complexType definitions.
274ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * WARNING: Deprecated; not used.
275ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
276ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
277ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
278ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaAttributeLink {
279ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
280ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaAttribute *attr;/* the linked attribute */
281ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
282ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
283ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
284ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_WILDCARD_COMPLETE:
285ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
286ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * If the wildcard is complete.
287ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
288ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0
289ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
290ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
291ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaCharValueLink:
292ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used to build a list of namespaces on wildcards.
293ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
294ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
295ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
296ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaWildcardNs {
297ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
298ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *value;/* the value */
299ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
300ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
301ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
302ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaWildcard.
303ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A wildcard.
304ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
305ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaWildcard xmlSchemaWildcard;
306ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
307ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaWildcard {
308ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type;        /* The kind of type */
309ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id; /* Deprecated; not used */
310ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
311ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr node;
312ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int minOccurs; /* Deprecated; not used */
313ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int maxOccurs; /* Deprecated; not used */
314ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int processContents;
315ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int any; /* Indicates if the ns constraint is of ##any */
316ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
317ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
318ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int flags;
319ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
320ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
321ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
322ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
323ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
324ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The attribute wildcard has been already builded.
325ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
326ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
327ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
328ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTRGROUP_GLOBAL:
329ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
330ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The attribute wildcard has been already builded.
331ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
332ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
333ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
334ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTRGROUP_MARKED:
335ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
336ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Marks the attr group as marked; used for circular checks.
337ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
338ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
339ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
340ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
341ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTRGROUP_REDEFINED:
342ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
343ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The attr group was redefined.
344ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
345ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
346ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
347ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
348ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
349ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Whether this attr. group contains attr. group references.
350ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
351ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4
352ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
353ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
354ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An attribute group definition.
355ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
356ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
357ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * must be kept similar
358ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
359ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
360ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
361ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaAttributeGroup {
362ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type;        /* The kind of type */
363ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
364ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *name;
365ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id;
366ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *ref; /* Deprecated; not used */
367ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refNs; /* Deprecated; not used */
368ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
369ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
370ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
371ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr node;
372ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int flags;
373ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaWildcardPtr attributeWildcard;
374ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refPrefix; /* Deprecated; not used */
375ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */
376ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *targetNamespace;
377ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *attrUses;
378ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
379ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
380ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
381ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaTypeLink:
382ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used to build a list of types (e.g. member types of
383ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * simpleType with variety "union").
384ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
385ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
386ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
387ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaTypeLink {
388ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaTypeLink *next;/* the next type link ... */
389ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr type;/* the linked type */
390ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
391ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
392ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
393ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaFacetLink:
394ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used to build a list of facets.
395ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
396ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
397ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
398ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaFacetLink {
399ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaFacetLink *next;/* the next facet link ... */
400ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaFacetPtr facet;/* the linked facet */
401ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
402ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
403ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
404ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_MIXED:
405ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
406ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element content type is mixed
407ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
408ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_MIXED                1 << 0
409ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
410ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
411ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
412ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simple or complex type has a derivation method of "extension".
413ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
414ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION                1 << 1
415ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
416ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
417ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
418ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simple or complex type has a derivation method of "restriction".
419ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
420ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION                1 << 2
421ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
422ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_GLOBAL:
423ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
424ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the type is global
425ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
426ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_GLOBAL                1 << 3
427ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
428ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
429ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
430ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the complexType owns an attribute wildcard, i.e.
431ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * it can be freed by the complexType
432ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
433ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD    1 << 4 /* Obsolete. */
434ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
435ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
436ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
437ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a variety of "absent".
438ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * TODO: Actually not necessary :-/, since if
439ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * none of the variety flags occur then it's
440ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * automatically absent.
441ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
442ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
443ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
444ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_VARIETY_LIST:
445ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
446ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a variety of "list".
447ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
448ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_VARIETY_LIST    1 << 6
449ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
450ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_VARIETY_UNION:
451ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
452ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a variety of "union".
453ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
454ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_VARIETY_UNION    1 << 7
455ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
456ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
457ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
458ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a variety of "union".
459ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
460ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC    1 << 8
461ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
462ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
463ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
464ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the complexType has a final of "extension".
465ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
466ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FINAL_EXTENSION    1 << 9
467ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
468ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
469ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
470ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType/complexType has a final of "restriction".
471ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
472ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION    1 << 10
473ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
474ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FINAL_LIST:
475ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
476ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a final of "list".
477ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
478ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FINAL_LIST    1 << 11
479ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
480ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FINAL_UNION:
481ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
482ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a final of "union".
483ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
484ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FINAL_UNION    1 << 12
485ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
486ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
487ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
488ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simpleType has a final of "default".
489ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
490ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FINAL_DEFAULT    1 << 13
491ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
492ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
493ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
494ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Marks the item as a builtin primitive.
495ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
496ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
497ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
498ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_MARKED:
499ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
500ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Marks the item as marked; used for circular checks.
501ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
502ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_MARKED        1 << 16
503ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
504ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
505ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
506ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the complexType did not specify 'block' so use the default of the
507ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * <schema> item.
508ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
509ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT    1 << 17
510ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
511ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
512ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
513ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the complexType has a 'block' of "extension".
514ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
515ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION    1 << 18
516ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
517ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
518ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
519ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the complexType has a 'block' of "restriction".
520ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
521ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION    1 << 19
522ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
523ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_ABSTRACT:
524ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
525ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the simple/complexType is abstract.
526ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
527ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_ABSTRACT    1 << 20
528ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
529ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
530ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
531ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * indicates if the facets need a computed value
532ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
533ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE    1 << 21
534ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
535ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
536ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
537ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * indicates that the type was typefixed
538ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
539ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED    1 << 22
540ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
541ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
542ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
543ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * indicates that the type is invalid
544ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
545ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_INTERNAL_INVALID    1 << 23
546ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
547ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
548ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
549ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * a whitespace-facet value of "preserve"
550ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
551ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE    1 << 24
552ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
553ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
554ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
555ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * a whitespace-facet value of "replace"
556ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
557ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE    1 << 25
558ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
559ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
560ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
561ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * a whitespace-facet value of "collapse"
562ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
563ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE    1 << 26
564ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
565ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_HAS_FACETS:
566ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
567ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * has facets
568ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
569ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_HAS_FACETS    1 << 27
570ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
571ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
572ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
573ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * indicates if the facets (pattern) need a normalized value
574ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
575ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_NORMVALUENEEDED    1 << 28
576ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
577ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
578ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_FIXUP_1:
579ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
580ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * First stage of fixup was done.
581ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
582ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_FIXUP_1    1 << 29
583ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
584ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
585ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_REDEFINED:
586ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
587ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The type was redefined.
588ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
589ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_TYPE_REDEFINED    1 << 30
590ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
591ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_TYPE_REDEFINING:
592ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
593ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The type redefines an other type.
594ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
595ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* #define XML_SCHEMAS_TYPE_REDEFINING    1 << 31 */
596ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
597ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
598ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * _xmlSchemaType:
599ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
600ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Schemas type definition.
601ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
602ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaType {
603ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type; /* The kind of type */
604ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaType *next; /* the next type if in a sequence ... */
605ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *name;
606ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id ; /* Deprecated; not used */
607ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *ref; /* Deprecated; not used */
608ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refNs; /* Deprecated; not used */
609ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
610ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr subtypes;
611ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
612ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr node;
613ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int minOccurs; /* Deprecated; not used */
614ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int maxOccurs; /* Deprecated; not used */
615ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
616ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int flags;
617ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaContentType contentType;
618ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *base; /* Base type's local name */
619ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *baseNs; /* Base type's target namespace */
620ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr baseType; /* The base type component */
621ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaFacetPtr facets; /* Local facets */
622ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaType *redef; /* Deprecated; not used */
623ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int recurse; /* Obsolete */
624ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */
625ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaWildcardPtr attributeWildcard;
626ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int builtInType; /* Type of built-in types. */
627ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */
628ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
629ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refPrefix; /* Deprecated; not used */
630ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types.
631ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                                        Could we use @subtypes for this? */
632ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlRegexpPtr contModel; /* Holds the automaton of the content model */
633ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *targetNamespace;
634ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *attrUses;
635ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
636ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
637ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
638ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaElement:
639ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An element definition.
640ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
641ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
642ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * structures must be kept similar
643ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
644ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
645ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_NILLABLE:
646ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
647ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element is nillable
648ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
649ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_NILLABLE        1 << 0
650ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
651ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_GLOBAL:
652ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
653ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element is global
654ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
655ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_GLOBAL                1 << 1
656ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
657ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_DEFAULT:
658ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
659ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element has a default value
660ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
661ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_DEFAULT        1 << 2
662ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
663ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_FIXED:
664ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
665ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element has a fixed value
666ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
667ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_FIXED                1 << 3
668ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
669ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_ABSTRACT:
670ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
671ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element is abstract
672ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
673ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_ABSTRACT        1 << 4
674ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
675ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_TOPLEVEL:
676ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
677ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element is top level
678ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
679ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
680ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_TOPLEVEL        1 << 5
681ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
682ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_REF:
683ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
684ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element is a reference to a type
685ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
686ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_REF                1 << 6
687ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
688ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_NSDEFAULT:
689ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
690ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * allow elements in no namespace
691ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Obsolete, not used anymore.
692ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
693ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_NSDEFAULT        1 << 7
694ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
695ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
696ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
697ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * this is set when "type", "ref", "substitutionGroup"
698ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * references have been resolved.
699ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
700ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED        1 << 8
701ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project /**
702ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_CIRCULAR:
703ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
704ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * a helper flag for the search of circular references.
705ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
706ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_CIRCULAR        1 << 9
707ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
708ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
709ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
710ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the "block" attribute is absent
711ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
712ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_BLOCK_ABSENT        1 << 10
713ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
714ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
715ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
716ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * disallowed substitutions are absent
717ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
718ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION        1 << 11
719ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
720ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
721ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
722ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * disallowed substitutions: "restriction"
723ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
724ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION        1 << 12
725ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
726ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
727ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
728ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * disallowed substitutions: "substituion"
729ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
730ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION        1 << 13
731ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
732ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_FINAL_ABSENT:
733ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
734ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * substitution group exclusions are absent
735ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
736ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_FINAL_ABSENT        1 << 14
737ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
738ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
739ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
740ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * substitution group exclusions: "extension"
741ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
742ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_FINAL_EXTENSION        1 << 15
743ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
744ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
745ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
746ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * substitution group exclusions: "restriction"
747ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
748ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION        1 << 16
749ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
750ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
751ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
752ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the declaration is a substitution group head
753ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
754ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD        1 << 17
755ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
756ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
757ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
758ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * this is set when the elem decl has been checked against
759ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * all constraints
760ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
761ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED        1 << 18
762ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
763ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaElement xmlSchemaElement;
764ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaElement *xmlSchemaElementPtr;
765ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaElement {
766ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type; /* The kind of type */
767ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaType *next; /* Not used? */
768ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *name;
769ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id; /* Deprecated; not used */
770ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *ref; /* Deprecated; not used */
771ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refNs; /* Deprecated; not used */
772ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
773ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypePtr subtypes; /* the type definition */
774ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAttributePtr attributes;
775ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr node;
776ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int minOccurs; /* Deprecated; not used */
777ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int maxOccurs; /* Deprecated; not used */
778ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
779ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int flags;
780ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *targetNamespace;
781ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *namedType;
782ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *namedTypeNs;
783ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *substGroup;
784ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *substGroupNs;
785ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *scope;
786ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *value; /* The original value of the value constraint. */
787ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaElement *refDecl; /* This will now be used for the
788ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                                          substitution group affiliation */
789ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
790ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaContentType contentType;
791ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *refPrefix; /* Deprecated; not used */
792ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaValPtr defVal; /* The compiled value contraint. */
793ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *idcs; /* The identity-constraint defs */
794ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
795ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
796ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
797ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FACET_UNKNOWN:
798ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
799ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * unknown facet handling
800ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
801ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FACET_UNKNOWN        0
802ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
803ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FACET_PRESERVE:
804ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
805ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * preserve the type of the facet
806ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
807ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FACET_PRESERVE        1
808ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
809ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FACET_REPLACE:
810ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
811ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * replace the type of the facet
812ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
813ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FACET_REPLACE        2
814ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
815ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FACET_COLLAPSE:
816ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
817ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * collapse the types of the facet
818ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
819ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FACET_COLLAPSE        3
820ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
821ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A facet definition.
822ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
823ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaFacet {
824ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type;        /* The kind of type */
825ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
826ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *value; /* The original value */
827ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id; /* Obsolete */
828ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
829ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr node;
830ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
831ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int whitespace;
832ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaValPtr val; /* The compiled value */
833ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlRegexpPtr    regexp; /* The regex for patterns */
834ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
835ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
836ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
837ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A notation definition.
838ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
839ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSchemaNotation xmlSchemaNotation;
840ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSchemaNotation *xmlSchemaNotationPtr;
841ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchemaNotation {
842ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaTypeType type; /* The kind of type */
843ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *name;
844ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
845ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *identifier;
846ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *targetNamespace;
847ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
848ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
849ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
850ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project* TODO: Actually all those flags used for the schema should sit
851ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project* on the schema parser context, since they are used only
852ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project* during parsing an XML schema document, and not available
853ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project* on the component level as per spec.
854ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project*/
855ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
856ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_QUALIF_ELEM:
857ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
858ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Reflects elementFormDefault == qualified in
859ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * an XML schema document.
860ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
861ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_QUALIF_ELEM                1 << 0
862ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
863ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_QUALIF_ATTR:
864ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
865ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Reflects attributeFormDefault == qualified in
866ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * an XML schema document.
867ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
868ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_QUALIF_ATTR            1 << 1
869ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
870ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
871ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
872ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema has "extension" in the set of finalDefault.
873ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
874ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION        1 << 2
875ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
876ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
877ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
878ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema has "restriction" in the set of finalDefault.
879ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
880ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION            1 << 3
881ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
882ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FINAL_DEFAULT_LIST:
883ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
884ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the cshema has "list" in the set of finalDefault.
885ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
886ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FINAL_DEFAULT_LIST            1 << 4
887ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
888ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_FINAL_DEFAULT_UNION:
889ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
890ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema has "union" in the set of finalDefault.
891ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
892ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_FINAL_DEFAULT_UNION            1 << 5
893ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
894ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
895ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
896ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema has "extension" in the set of blockDefault.
897ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
898ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION            1 << 6
899ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
900ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
901ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
902ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema has "restriction" in the set of blockDefault.
903ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
904ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION            1 << 7
905ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
906ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
907ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
908ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema has "substitution" in the set of blockDefault.
909ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
910ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION            1 << 8
911ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
912ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SCHEMAS_INCLUDING_CONVERT_NS:
913ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
914ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the schema is currently including an other schema with
915ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * no target namespace.
916ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
917ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SCHEMAS_INCLUDING_CONVERT_NS            1 << 9
918ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
919ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * _xmlSchema:
920ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
921ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A Schemas definition
922ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
923ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSchema {
924ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *name; /* schema name */
925ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *targetNamespace; /* the target namespace */
926ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *version;
927ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *id; /* Obsolete */
928ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlDocPtr doc;
929ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlSchemaAnnotPtr annot;
930ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int flags;
931ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
932ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr typeDecl;
933ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr attrDecl;
934ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr attrgrpDecl;
935ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr elemDecl;
936ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr notaDecl;
937ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
938ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr schemasImports;
939ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
940ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *_private;        /* unused by the library for users or bindings */
941ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr groupDecl;
942ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlDictPtr      dict;
943ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *includes;     /* the includes, this is opaque for now */
944ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int preserve;        /* whether to free the document */
945ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int counter; /* used to give ononymous components unique names */
946ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr idcDef; /* All identity-constraint defs. */
947ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *volatiles; /* Obsolete */
948ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
949ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
950ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
951ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
952ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
953ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
954ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project}
955ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
956ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
957ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SCHEMAS_ENABLED */
958ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* __XML_SCHEMA_INTERNALS_H__ */
959