Introduction
Typedefs
typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
Discussion
Annotation
typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
Discussion
xmlSchemaAttribute:
An attribute definition.
typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
Discussion
An attribute group definition.
xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
must be kept similar
typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
Discussion
xmlSchemaAttributeLink:
Used to build a list of attribute uses on complexType definitions.
typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
Discussion
xmlSchemaFacetLink:
Used to build a list of facets.
typedef struct _xmlSchemaNotation xmlSchemaNotation;
Discussion
A notation definition.
typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
Discussion
xmlSchemaTypeLink:
Used to build a list of types (e.g. member types of
simpleType with variety "union").
typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
Discussion
xmlSchemaWildcard.
A wildcard.
typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
Discussion
xmlSchemaCharValueLink:
Used to build a list of namespaces on wildcards.
Structs and Unions
struct _xmlSchema {
const xmlChar *name;
const xmlChar *targetNamespace;
const xmlChar *version;
const xmlChar *id;
xmlDocPtr doc;
xmlSchemaAnnotPtr annot;
int flags;
xmlHashTablePtr typeDecl;
xmlHashTablePtr attrDecl;
xmlHashTablePtr attrgrpDecl;
xmlHashTablePtr elemDecl;
xmlHashTablePtr notaDecl;
xmlHashTablePtr schemasImports;
void *_private;
xmlHashTablePtr groupDecl;
xmlDictPtr dict;
void *includes;
int preserve;
int counter;
};
Discussion
_xmlSchema:
A Schemas definition
struct _xmlSchemaFacet {
xmlSchemaTypeType type;
struct _xmlSchemaFacet *next;
const xmlChar *value;
const xmlChar *id;
xmlSchemaAnnotPtr annot;
xmlNodePtr node;
int fixed;
int whitespace;
xmlSchemaValPtr val;
xmlRegexpPtr regexp;
};
Discussion
A facet definition.
struct _xmlSchemaType {
xmlSchemaTypeType type;
struct _xmlSchemaType *next;
const xmlChar *name;
const xmlChar *id;
const xmlChar *ref;
const xmlChar *refNs;
xmlSchemaAnnotPtr annot;
xmlSchemaTypePtr subtypes;
xmlSchemaAttributePtr attributes;
xmlNodePtr node;
int minOccurs;
int maxOccurs;
int flags;
xmlSchemaContentType contentType;
const xmlChar *base;
const xmlChar *baseNs;
xmlSchemaTypePtr baseType;
xmlSchemaFacetPtr facets;
struct _xmlSchemaType *redef;
int recurse;
xmlSchemaAttributeLinkPtr attributeUses;
xmlSchemaWildcardPtr attributeWildcard;
int builtInType;
xmlSchemaTypeLinkPtr memberTypes;
xmlSchemaFacetLinkPtr facetSet;
const xmlChar *refPrefix;
xmlSchemaTypePtr contentTypeDef;
xmlRegexpPtr contModel;
};
Discussion
_xmlSchemaType:
Schemas type definition.
#defines
#define XML_SCHEMAS_ANY_LAX 2
Discussion
XML_SCHEMAS_ANY_LAX:
Used by wildcards.
Validate if type found, don't worry if not found
#define XML_SCHEMAS_ANY_SKIP 1
Discussion
XML_SCHEMAS_ANY_SKIP:
Skip unknown attribute from validation
#define XML_SCHEMAS_ANY_STRICT 3
Discussion
XML_SCHEMAS_ANY_STRICT:
Used by wildcards.
Apply strict validation rules
#define XML_SCHEMAS_ANYATTR_LAX 2
Discussion
XML_SCHEMAS_ANYATTR_LAX:
Ignore validation non definition on attributes
Obsolete, not used anymore.
#define XML_SCHEMAS_ANYATTR_SKIP 1
Discussion
XML_SCHEMAS_ANYATTR_SKIP:
Skip unknown attribute from validation
Obsolete, not used anymore.
#define XML_SCHEMAS_ANYATTR_STRICT 3
Discussion
XML_SCHEMAS_ANYATTR_STRICT:
Apply strict validation rules on attributes
Obsolete, not used anymore.
#define XML_SCHEMAS_ATTR_FIXED 1 << 9
Discussion
XML_SCHEMAS_ATTR_FIXED:
the attribute has a fixed value
#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0
Discussion
XML_SCHEMAS_ATTR_GLOABAL:
allow elements in no namespace
#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8
Discussion
XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
this is set when the "type" and "ref" references
have been resolved.
#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7
Discussion
XML_SCHEMAS_ATTR_NSDEFAULT:
allow elements in no namespace
#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
Discussion
XML_SCHEMAS_ATTR_USE_OPTIONAL:
The attribute is optional.
#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
Discussion
XML_SCHEMAS_ATTR_USE_PROHIBITED:
Used by wildcards.
The attribute is prohibited.
#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
Discussion
XML_SCHEMAS_ATTR_USE_REQUIRED:
The attribute is required.
#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
Discussion
XML_SCHEMAS_ATTRGROUP_GLOBAL:
The attribute wildcard has been already builded.
#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
Discussion
XML_SCHEMAS_ATTRGROUP_MARKED:
Marks the attr group as marked; used for circular checks.
#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
Discussion
XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
The attribute wildcard has been already builded.
#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6
Discussion
XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
the schema has "extension" in the set of blockDefault.
#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7
Discussion
XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
the schema has "restriction" in the set of blockDefault.
#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8
Discussion
XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
the schema has "substitution" in the set of blockDefault.
#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4
Discussion
XML_SCHEMAS_ELEM_ABSTRACT:
the element is abstract
#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10
Discussion
XML_SCHEMAS_ELEM_BLOCK_ABSENT:
the "block" attribute is absent
#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11
Discussion
XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
disallowed substitutions are absent
#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12
Discussion
XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
disallowed substitutions: "restriction"
#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13
Discussion
XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
disallowed substitutions: "substituion"
#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9
Discussion
XML_SCHEMAS_ELEM_CIRCULAR
a helper flag for the search of circular references.
#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2
Discussion
XML_SCHEMAS_ELEM_DEFAULT:
the element has a default value
#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14
Discussion
XML_SCHEMAS_ELEM_FINAL_ABSENT:
substitution group exclusions are absent
#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15
Discussion
XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
substitution group exclusions: "extension"
#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16
Discussion
XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
substitution group exclusions: "restriction"
#define XML_SCHEMAS_ELEM_FIXED 1 << 3
Discussion
XML_SCHEMAS_ELEM_FIXED:
the element has a fixed value
#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1
Discussion
XML_SCHEMAS_ELEM_GLOBAL:
the element is global
#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8
Discussion
XML_SCHEMAS_ELEM_INTERNAL_RESOLVED
this is set when "type", "ref", "substitutionGroup"
references have been resolved.
#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0
Discussion
XML_SCHEMAS_ELEM_NILLABLE:
the element is nillable
#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7
Discussion
XML_SCHEMAS_ELEM_NSDEFAULT:
allow elements in no namespace
Obsolete, not used anymore.
#define XML_SCHEMAS_ELEM_REF 1 << 6
Discussion
XML_SCHEMAS_ELEM_REF:
the element is a reference to a type
#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5
Discussion
XML_SCHEMAS_ELEM_TOPLEVEL:
the element is top level
obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2
Discussion
XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
the schema has "extension" in the set of finalDefault.
#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4
Discussion
XML_SCHEMAS_FINAL_DEFAULT_LIST:
the cshema has "list" in the set of finalDefault.
#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3
Discussion
XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
the schema has "restriction" in the set of finalDefault.
#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5
Discussion
XML_SCHEMAS_FINAL_DEFAULT_UNION:
the schema has "union" in the set of finalDefault.
#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9
Discussion
XML_SCHEMAS_INCLUDING_CONVERT_NS:
the schema is currently including an other schema with
no target namespace.
#define XML_SCHEMAS_QUALIF_ATTR 1 << 1
Discussion
XML_SCHEMAS_QUALIF_ATTR:
the schema requires qualified attributes
#define XML_SCHEMAS_QUALIF_ELEM 1 << 0
Discussion
XML_SCHEMAS_QUALIF_ELEM:
the schema requires qualified elements
#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20
Discussion
XML_SCHEMAS_TYPE_ABSTRACT:
the simple/complexType is abstract.
#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17
Discussion
XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
the complexType did not specify 'block' so use the default of the
item.
#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18
Discussion
XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
the complexType has a 'block' of "extension".
#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19
Discussion
XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
the complexType has a 'block' of "restriction".
#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14
Discussion
XML_SCHEMAS_TYPE_FINAL_UNION:
the simpleType has a final of "union".
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1
Discussion
XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
the simple or complex type has a derivation method of "extension".
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2
Discussion
XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
the simple or complex type has a derivation method of "restriction".
#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13
Discussion
XML_SCHEMAS_TYPE_FINAL_UNION:
the simpleType has a final of "union".
#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9
Discussion
XML_SCHEMAS_TYPE_FINAL_EXTENSION:
the complexType has a final of "extension".
#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11
Discussion
XML_SCHEMAS_TYPE_FINAL_LIST:
the simpleType has a final of "list".
#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10
Discussion
XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
the simpleType/complexType has a final of "restriction".
#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12
Discussion
XML_SCHEMAS_TYPE_FINAL_UNION:
the simpleType has a final of "union".
#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3
Discussion
XML_SCHEMAS_TYPE_GLOBAL:
the type is global
#define XML_SCHEMAS_TYPE_MARKED 1 << 16
Discussion
XML_SCHEMAS_TYPE_MARKED
Marks the item as marked; used for circular checks.
#define XML_SCHEMAS_TYPE_MIXED 1 << 0
Discussion
XML_SCHEMAS_TYPE_MIXED:
the element content type is mixed
#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4
Discussion
XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
the complexType owns an attribute wildcard, i.e.
it can be freed by the complexType
#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5
Discussion
XML_SCHEMAS_TYPE_VARIETY_ABSENT:
the simpleType has a variety of "absent".
#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8
Discussion
XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
the simpleType has a variety of "union".
#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6
Discussion
XML_SCHEMAS_TYPE_VARIETY_LIST:
the simpleType has a variety of "list".
#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7
Discussion
XML_SCHEMAS_TYPE_VARIETY_UNION:
the simpleType has a variety of "union".
#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0
Discussion
XML_SCHEMAS_WILDCARD_COMPLETE:
If the wildcard is complete.
We’re sorry, an error has occurred.
Please try submitting your feedback later.
Thank you for providing feedback!
Your input helps improve our developer documentation.
Last Updated: 2006-06-20