#

## Module schemasInternals from libxml2

API Menu

- Main Menu
- Developer Menu
- Code Examples
- API Menu
- Parser API
- Tree API
- Reader API
- XML Guidelines
- ChangeLog

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

Related links

- Mail archive
- XSLT libxslt
- DOM gdome2
- XML-DSig xmlsec
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- lxml Python bindings
- Perl bindings
- C++ bindings
- PHP bindings
- Pascal bindings
- Ruby bindings
- Tcl bindings
- Bug Tracker

internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable !

## Table of Contents

    #define XML_SCHEMAS_ANYATTR_LAX

    #define XML_SCHEMAS_ANYATTR_SKIP

    #define XML_SCHEMAS_ANYATTR_STRICT

    #define XML_SCHEMAS_ANY_LAX

    #define XML_SCHEMAS_ANY_SKIP

    #define XML_SCHEMAS_ANY_STRICT

    #define XML_SCHEMAS_ATTRGROUP_GLOBAL

    #define XML_SCHEMAS_ATTRGROUP_HAS_REFS

    #define XML_SCHEMAS_ATTRGROUP_MARKED

    #define XML_SCHEMAS_ATTRGROUP_REDEFINED

    #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED

    #define XML_SCHEMAS_ATTR_FIXED

    #define XML_SCHEMAS_ATTR_GLOBAL

    #define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED

    #define XML_SCHEMAS_ATTR_NSDEFAULT

    #define XML_SCHEMAS_ATTR_USE_OPTIONAL

    #define XML_SCHEMAS_ATTR_USE_PROHIBITED

    #define XML_SCHEMAS_ATTR_USE_REQUIRED

    #define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION

    #define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION

    #define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION

    #define XML_SCHEMAS_ELEM_ABSTRACT

    #define XML_SCHEMAS_ELEM_BLOCK_ABSENT

    #define XML_SCHEMAS_ELEM_BLOCK_EXTENSION

    #define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION

    #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION

    #define XML_SCHEMAS_ELEM_CIRCULAR

    #define XML_SCHEMAS_ELEM_DEFAULT

    #define XML_SCHEMAS_ELEM_FINAL_ABSENT

    #define XML_SCHEMAS_ELEM_FINAL_EXTENSION

    #define XML_SCHEMAS_ELEM_FINAL_RESTRICTION

    #define XML_SCHEMAS_ELEM_FIXED

    #define XML_SCHEMAS_ELEM_GLOBAL

    #define XML_SCHEMAS_ELEM_INTERNAL_CHECKED

    #define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED

    #define XML_SCHEMAS_ELEM_NILLABLE

    #define XML_SCHEMAS_ELEM_NSDEFAULT

    #define XML_SCHEMAS_ELEM_REF

    #define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD

    #define XML_SCHEMAS_ELEM_TOPLEVEL

    #define XML_SCHEMAS_FACET_COLLAPSE

    #define XML_SCHEMAS_FACET_PRESERVE

    #define XML_SCHEMAS_FACET_REPLACE

    #define XML_SCHEMAS_FACET_UNKNOWN

    #define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION

    #define XML_SCHEMAS_FINAL_DEFAULT_LIST

    #define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION

    #define XML_SCHEMAS_FINAL_DEFAULT_UNION

    #define XML_SCHEMAS_INCLUDING_CONVERT_NS

    #define XML_SCHEMAS_QUALIF_ATTR

    #define XML_SCHEMAS_QUALIF_ELEM

    #define XML_SCHEMAS_TYPE_ABSTRACT

    #define XML_SCHEMAS_TYPE_BLOCK_DEFAULT

    #define XML_SCHEMAS_TYPE_BLOCK_EXTENSION

    #define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION

    #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE

    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION

    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION

    #define XML_SCHEMAS_TYPE_FACETSNEEDVALUE

    #define XML_SCHEMAS_TYPE_FINAL_DEFAULT

    #define XML_SCHEMAS_TYPE_FINAL_EXTENSION

    #define XML_SCHEMAS_TYPE_FINAL_LIST

    #define XML_SCHEMAS_TYPE_FINAL_RESTRICTION

    #define XML_SCHEMAS_TYPE_FINAL_UNION

    #define XML_SCHEMAS_TYPE_FIXUP_1

    #define XML_SCHEMAS_TYPE_GLOBAL

    #define XML_SCHEMAS_TYPE_HAS_FACETS

    #define XML_SCHEMAS_TYPE_INTERNAL_INVALID

    #define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED

    #define XML_SCHEMAS_TYPE_MARKED

    #define XML_SCHEMAS_TYPE_MIXED

    #define XML_SCHEMAS_TYPE_NORMVALUENEEDED

    #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD

    #define XML_SCHEMAS_TYPE_REDEFINED

    #define XML_SCHEMAS_TYPE_VARIETY_ABSENT

    #define XML_SCHEMAS_TYPE_VARIETY_ATOMIC

    #define XML_SCHEMAS_TYPE_VARIETY_LIST

    #define XML_SCHEMAS_TYPE_VARIETY_UNION

    #define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE

    #define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE

    #define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE

    #define XML_SCHEMAS_WILDCARD_COMPLETE

    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot

    Typedef xmlSchemaAnnot * xmlSchemaAnnotPtr

    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute

    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup

    Typedef xmlSchemaAttributeGroup * xmlSchemaAttributeGroupPtr

    Structure xmlSchemaAttributeLink
    struct _xmlSchemaAttributeLink

    Typedef xmlSchemaAttributeLink * xmlSchemaAttributeLinkPtr

    Typedef xmlSchemaAttribute * xmlSchemaAttributePtr

    Enum xmlSchemaContentType

    Structure xmlSchemaElement
    struct _xmlSchemaElement

    Typedef xmlSchemaElement * xmlSchemaElementPtr

    Structure xmlSchemaFacet
    struct _xmlSchemaFacet

    Structure xmlSchemaFacetLink
    struct _xmlSchemaFacetLink

    Typedef xmlSchemaFacetLink * xmlSchemaFacetLinkPtr

    Typedef xmlSchemaFacet * xmlSchemaFacetPtr

    Structure xmlSchemaNotation
    struct _xmlSchemaNotation

    Typedef xmlSchemaNotation * xmlSchemaNotationPtr

    Structure xmlSchemaType
    struct _xmlSchemaType

    Structure xmlSchemaTypeLink
    struct _xmlSchemaTypeLink

    Typedef xmlSchemaTypeLink * xmlSchemaTypeLinkPtr

    Typedef xmlSchemaType * xmlSchemaTypePtr

    Enum xmlSchemaTypeType

    Structure xmlSchemaVal
    struct _xmlSchemaVal
    The content of this structure is not made public by the API.

    Typedef xmlSchemaVal * xmlSchemaValPtr

    Enum xmlSchemaValType

    Structure xmlSchemaWildcard
    struct _xmlSchemaWildcard

    Structure xmlSchemaWildcardNs
    struct _xmlSchemaWildcardNs

    Typedef xmlSchemaWildcardNs * xmlSchemaWildcardNsPtr

    Typedef xmlSchemaWildcard * xmlSchemaWildcardPtr

    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)

    void	xmlSchemaFreeWildcard		(xmlSchemaWildcardPtr wildcard)

## Description

### Macro: XML_SCHEMAS_ANYATTR_LAX

    #define XML_SCHEMAS_ANYATTR_LAX

Ignore validation non definition on attributes Obsolete, not used anymore.

### Macro: XML_SCHEMAS_ANYATTR_SKIP

    #define XML_SCHEMAS_ANYATTR_SKIP

Skip unknown attribute from validation Obsolete, not used anymore.

### Macro: XML_SCHEMAS_ANYATTR_STRICT

    #define XML_SCHEMAS_ANYATTR_STRICT

Apply strict validation rules on attributes Obsolete, not used anymore.

### Macro: XML_SCHEMAS_ANY_LAX

    #define XML_SCHEMAS_ANY_LAX

Used by wildcards. Validate if type found, don't worry if not found

### Macro: XML_SCHEMAS_ANY_SKIP

    #define XML_SCHEMAS_ANY_SKIP

Skip unknown attribute from validation

### Macro: XML_SCHEMAS_ANY_STRICT

    #define XML_SCHEMAS_ANY_STRICT

Used by wildcards. Apply strict validation rules

### Macro: XML_SCHEMAS_ATTRGROUP_GLOBAL

    #define XML_SCHEMAS_ATTRGROUP_GLOBAL

The attribute group has been defined.

### Macro: XML_SCHEMAS_ATTRGROUP_HAS_REFS

    #define XML_SCHEMAS_ATTRGROUP_HAS_REFS

Whether this attr. group contains attr. group references.

### Macro: XML_SCHEMAS_ATTRGROUP_MARKED

    #define XML_SCHEMAS_ATTRGROUP_MARKED

Marks the attr group as marked; used for circular checks.

### Macro: XML_SCHEMAS_ATTRGROUP_REDEFINED

    #define XML_SCHEMAS_ATTRGROUP_REDEFINED

The attr group was redefined.

### Macro: XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED

    #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED

The attribute wildcard has been built.

### Macro: XML_SCHEMAS_ATTR_FIXED

    #define XML_SCHEMAS_ATTR_FIXED

the attribute has a fixed value

### Macro: XML_SCHEMAS_ATTR_GLOBAL

    #define XML_SCHEMAS_ATTR_GLOBAL

allow elements in no namespace

### Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED

    #define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED

this is set when the "type" and "ref" references have been resolved.

### Macro: XML_SCHEMAS_ATTR_NSDEFAULT

    #define XML_SCHEMAS_ATTR_NSDEFAULT

allow elements in no namespace

### Macro: XML_SCHEMAS_ATTR_USE_OPTIONAL

    #define XML_SCHEMAS_ATTR_USE_OPTIONAL

The attribute is optional.

### Macro: XML_SCHEMAS_ATTR_USE_PROHIBITED

    #define XML_SCHEMAS_ATTR_USE_PROHIBITED

Used by wildcards. The attribute is prohibited.

### Macro: XML_SCHEMAS_ATTR_USE_REQUIRED

    #define XML_SCHEMAS_ATTR_USE_REQUIRED

The attribute is required.

### Macro: XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION

    #define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION

the schema has "extension" in the set of blockDefault.

### Macro: XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION

    #define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION

the schema has "restriction" in the set of blockDefault.

### Macro: XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION

    #define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION

the schema has "substitution" in the set of blockDefault.

### Macro: XML_SCHEMAS_ELEM_ABSTRACT

    #define XML_SCHEMAS_ELEM_ABSTRACT

the element is abstract

### Macro: XML_SCHEMAS_ELEM_BLOCK_ABSENT

    #define XML_SCHEMAS_ELEM_BLOCK_ABSENT

the "block" attribute is absent

### Macro: XML_SCHEMAS_ELEM_BLOCK_EXTENSION

    #define XML_SCHEMAS_ELEM_BLOCK_EXTENSION

disallowed substitutions are absent

### Macro: XML_SCHEMAS_ELEM_BLOCK_RESTRICTION

    #define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION

disallowed substitutions: "restriction"

### Macro: XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION

    #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION

disallowed substitutions: "substitution"

### Macro: XML_SCHEMAS_ELEM_CIRCULAR

    #define XML_SCHEMAS_ELEM_CIRCULAR

a helper flag for the search of circular references.

### Macro: XML_SCHEMAS_ELEM_DEFAULT

    #define XML_SCHEMAS_ELEM_DEFAULT

the element has a default value

### Macro: XML_SCHEMAS_ELEM_FINAL_ABSENT

    #define XML_SCHEMAS_ELEM_FINAL_ABSENT

substitution group exclusions are absent

### Macro: XML_SCHEMAS_ELEM_FINAL_EXTENSION

    #define XML_SCHEMAS_ELEM_FINAL_EXTENSION

substitution group exclusions: "extension"

### Macro: XML_SCHEMAS_ELEM_FINAL_RESTRICTION

    #define XML_SCHEMAS_ELEM_FINAL_RESTRICTION

substitution group exclusions: "restriction"

### Macro: XML_SCHEMAS_ELEM_FIXED

    #define XML_SCHEMAS_ELEM_FIXED

the element has a fixed value

### Macro: XML_SCHEMAS_ELEM_GLOBAL

    #define XML_SCHEMAS_ELEM_GLOBAL

the element is global

### Macro: XML_SCHEMAS_ELEM_INTERNAL_CHECKED

    #define XML_SCHEMAS_ELEM_INTERNAL_CHECKED

this is set when the elem decl has been checked against all constraints

### Macro: XML_SCHEMAS_ELEM_INTERNAL_RESOLVED

    #define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED

this is set when "type", "ref", "substitutionGroup" references have been resolved.

### Macro: XML_SCHEMAS_ELEM_NILLABLE

    #define XML_SCHEMAS_ELEM_NILLABLE

the element is nillable

### Macro: XML_SCHEMAS_ELEM_NSDEFAULT

    #define XML_SCHEMAS_ELEM_NSDEFAULT

allow elements in no namespace Obsolete, not used anymore.

### Macro: XML_SCHEMAS_ELEM_REF

    #define XML_SCHEMAS_ELEM_REF

the element is a reference to a type

### Macro: XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD

    #define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD

the declaration is a substitution group head

### Macro: XML_SCHEMAS_ELEM_TOPLEVEL

    #define XML_SCHEMAS_ELEM_TOPLEVEL

the element is top level obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead

### Macro: XML_SCHEMAS_FACET_COLLAPSE

    #define XML_SCHEMAS_FACET_COLLAPSE

collapse the types of the facet

### Macro: XML_SCHEMAS_FACET_PRESERVE

    #define XML_SCHEMAS_FACET_PRESERVE

preserve the type of the facet

### Macro: XML_SCHEMAS_FACET_REPLACE

    #define XML_SCHEMAS_FACET_REPLACE

replace the type of the facet

### Macro: XML_SCHEMAS_FACET_UNKNOWN

    #define XML_SCHEMAS_FACET_UNKNOWN

unknown facet handling

### Macro: XML_SCHEMAS_FINAL_DEFAULT_EXTENSION

    #define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION

the schema has "extension" in the set of finalDefault.

### Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST

    #define XML_SCHEMAS_FINAL_DEFAULT_LIST

the schema has "list" in the set of finalDefault.

### Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION

    #define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION

the schema has "restriction" in the set of finalDefault.

### Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION

    #define XML_SCHEMAS_FINAL_DEFAULT_UNION

the schema has "union" in the set of finalDefault.

### Macro: XML_SCHEMAS_INCLUDING_CONVERT_NS

    #define XML_SCHEMAS_INCLUDING_CONVERT_NS

the schema is currently including an other schema with no target namespace.

### Macro: XML_SCHEMAS_QUALIF_ATTR

    #define XML_SCHEMAS_QUALIF_ATTR

Reflects attributeFormDefault == qualified in an XML schema document.

### Macro: XML_SCHEMAS_QUALIF_ELEM

    #define XML_SCHEMAS_QUALIF_ELEM

Reflects elementFormDefault == qualified in an XML schema document.

### Macro: XML_SCHEMAS_TYPE_ABSTRACT

    #define XML_SCHEMAS_TYPE_ABSTRACT

the simple/complexType is abstract.

### Macro: XML_SCHEMAS_TYPE_BLOCK_DEFAULT

    #define XML_SCHEMAS_TYPE_BLOCK_DEFAULT

the complexType did not specify 'block' so use the default of the <schema> item.

### Macro: XML_SCHEMAS_TYPE_BLOCK_EXTENSION

    #define XML_SCHEMAS_TYPE_BLOCK_EXTENSION

the complexType has a 'block' of "extension".

### Macro: XML_SCHEMAS_TYPE_BLOCK_RESTRICTION

    #define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION

the complexType has a 'block' of "restriction".

### Macro: XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE

    #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE

Marks the item as a builtin primitive.

### Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION

    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION

the simple or complex type has a derivation method of "extension".

### Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION

    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION

the simple or complex type has a derivation method of "restriction".

### Macro: XML_SCHEMAS_TYPE_FACETSNEEDVALUE

    #define XML_SCHEMAS_TYPE_FACETSNEEDVALUE

indicates if the facets need a computed value

### Macro: XML_SCHEMAS_TYPE_FINAL_DEFAULT

    #define XML_SCHEMAS_TYPE_FINAL_DEFAULT

the simpleType has a final of "default".

### Macro: XML_SCHEMAS_TYPE_FINAL_EXTENSION

    #define XML_SCHEMAS_TYPE_FINAL_EXTENSION

the complexType has a final of "extension".

### Macro: XML_SCHEMAS_TYPE_FINAL_LIST

    #define XML_SCHEMAS_TYPE_FINAL_LIST

the simpleType has a final of "list".

### Macro: XML_SCHEMAS_TYPE_FINAL_RESTRICTION

    #define XML_SCHEMAS_TYPE_FINAL_RESTRICTION

the simpleType/complexType has a final of "restriction".

### Macro: XML_SCHEMAS_TYPE_FINAL_UNION

    #define XML_SCHEMAS_TYPE_FINAL_UNION

the simpleType has a final of "union".

### Macro: XML_SCHEMAS_TYPE_FIXUP_1

    #define XML_SCHEMAS_TYPE_FIXUP_1

First stage of fixup was done.

### Macro: XML_SCHEMAS_TYPE_GLOBAL

    #define XML_SCHEMAS_TYPE_GLOBAL

the type is global

### Macro: XML_SCHEMAS_TYPE_HAS_FACETS

    #define XML_SCHEMAS_TYPE_HAS_FACETS

has facets

### Macro: XML_SCHEMAS_TYPE_INTERNAL_INVALID

    #define XML_SCHEMAS_TYPE_INTERNAL_INVALID

indicates that the type is invalid

### Macro: XML_SCHEMAS_TYPE_INTERNAL_RESOLVED

    #define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED

indicates that the type was typefixed

### Macro: XML_SCHEMAS_TYPE_MARKED

    #define XML_SCHEMAS_TYPE_MARKED

Marks the item as marked; used for circular checks.

### Macro: XML_SCHEMAS_TYPE_MIXED

    #define XML_SCHEMAS_TYPE_MIXED

the element content type is mixed

### Macro: XML_SCHEMAS_TYPE_NORMVALUENEEDED

    #define XML_SCHEMAS_TYPE_NORMVALUENEEDED

indicates if the facets (pattern) need a normalized value

### Macro: XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD

    #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD

the complexType owns an attribute wildcard, i.e. it can be freed by the complexType

### Macro: XML_SCHEMAS_TYPE_REDEFINED

    #define XML_SCHEMAS_TYPE_REDEFINED

The type was redefined.

### Macro: XML_SCHEMAS_TYPE_VARIETY_ABSENT

    #define XML_SCHEMAS_TYPE_VARIETY_ABSENT

the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically absent.

### Macro: XML_SCHEMAS_TYPE_VARIETY_ATOMIC

    #define XML_SCHEMAS_TYPE_VARIETY_ATOMIC

the simpleType has a variety of "union".

### Macro: XML_SCHEMAS_TYPE_VARIETY_LIST

    #define XML_SCHEMAS_TYPE_VARIETY_LIST

the simpleType has a variety of "list".

### Macro: XML_SCHEMAS_TYPE_VARIETY_UNION

    #define XML_SCHEMAS_TYPE_VARIETY_UNION

the simpleType has a variety of "union".

### Macro: XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE

    #define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE

a whitespace-facet value of "collapse"

### Macro: XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE

    #define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE

a whitespace-facet value of "preserve"

### Macro: XML_SCHEMAS_TYPE_WHITESPACE_REPLACE

    #define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE

a whitespace-facet value of "replace"

### Macro: XML_SCHEMAS_WILDCARD_COMPLETE

    #define XML_SCHEMAS_WILDCARD_COMPLETE

If the wildcard is complete.

### Structure xmlSchemaAnnot

    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot {
        struct _xmlSchemaAnnot *	next
        xmlNodePtr	content	: the annotation
    }

### Structure xmlSchemaAttribute

    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute {
        xmlSchemaTypeType	type
        struct _xmlSchemaAttribute *	next	: the next attribute (not used?)
        const xmlChar *	name	: the name of the declaration
        const xmlChar *	id	: Deprecated; not used
        const xmlChar *	ref	: Deprecated; not used
        const xmlChar *	refNs	: Deprecated; not used
        const xmlChar *	typeName	: the local name of the type definition
        const xmlChar *	typeNs	: the ns URI of the type definition
        xmlSchemaAnnotPtr	annot
        xmlSchemaTypePtr	base	: Deprecated; not used
        int	occurs	: Deprecated; not used
        const xmlChar *	defValue	: The initial value of the value constrai
        xmlSchemaTypePtr	subtypes	: the type definition
        xmlNodePtr	node
        const xmlChar *	targetNamespace
        int	flags
        const xmlChar *	refPrefix	: Deprecated; not used
        xmlSchemaValPtr	defVal	: The compiled value constraint
        xmlSchemaAttributePtr	refDecl	: Deprecated; not used
    }

### Structure xmlSchemaAttributeGroup

    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup {
        xmlSchemaTypeType	type	: The kind of type
        struct _xmlSchemaAttribute *	next	: the next attribute if in a group ...
        const xmlChar *	name
        const xmlChar *	id
        const xmlChar *	ref	: Deprecated; not used
        const xmlChar *	refNs	: Deprecated; not used
        xmlSchemaAnnotPtr	annot
        xmlSchemaAttributePtr	attributes	: Deprecated; not used
        xmlNodePtr	node
        int	flags
        xmlSchemaWildcardPtr	attributeWildcard
        const xmlChar *	refPrefix	: Deprecated; not used
        xmlSchemaAttributeGroupPtr	refItem	: Deprecated; not used
        const xmlChar *	targetNamespace
        void *	attrUses
    }

### Structure xmlSchemaAttributeLink

    Structure xmlSchemaAttributeLink
    struct _xmlSchemaAttributeLink {
        struct _xmlSchemaAttributeLink *	next	: the next attribute link ...
        struct _xmlSchemaAttribute *	attr	: the linked attribute
    }

### Enum xmlSchemaContentType

    Enum xmlSchemaContentType {
        XML_SCHEMA_CONTENT_UNKNOWN = 0
        XML_SCHEMA_CONTENT_EMPTY = 1
        XML_SCHEMA_CONTENT_ELEMENTS = 2
        XML_SCHEMA_CONTENT_MIXED = 3
        XML_SCHEMA_CONTENT_SIMPLE = 4
        XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5 : Obsolete
        XML_SCHEMA_CONTENT_BASIC = 6
        XML_SCHEMA_CONTENT_ANY = 7
    }

### Structure xmlSchemaElement

    Structure xmlSchemaElement
    struct _xmlSchemaElement {
        xmlSchemaTypeType	type	: The kind of type
        struct _xmlSchemaType *	next	: Not used?
        const xmlChar *	name
        const xmlChar *	id	: Deprecated; not used
        const xmlChar *	ref	: Deprecated; not used
        const xmlChar *	refNs	: Deprecated; not used
        xmlSchemaAnnotPtr	annot
        xmlSchemaTypePtr	subtypes	: the type definition
        xmlSchemaAttributePtr	attributes
        xmlNodePtr	node
        int	minOccurs	: Deprecated; not used
        int	maxOccurs	: Deprecated; not used
        int	flags
        const xmlChar *	targetNamespace
        const xmlChar *	namedType
        const xmlChar *	namedTypeNs
        const xmlChar *	substGroup
        const xmlChar *	substGroupNs
        const xmlChar *	scope
        const xmlChar *	value	: The original value of the value constra
        struct _xmlSchemaElement *	refDecl	: This will now be used for the substitut
        xmlRegexpPtr	contModel	: Obsolete for WXS, maybe used for RelaxN
        xmlSchemaContentType	contentType
        const xmlChar *	refPrefix	: Deprecated; not used
        xmlSchemaValPtr	defVal	: The compiled value constraint.
        void *	idcs	: The identity-constraint defs
    }

### Structure xmlSchemaFacet

    Structure xmlSchemaFacet
    struct _xmlSchemaFacet {
        xmlSchemaTypeType	type	: The kind of type
        struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
        const xmlChar *	value	: The original value
        const xmlChar *	id	: Obsolete
        xmlSchemaAnnotPtr	annot
        xmlNodePtr	node
        int	fixed	: XML_SCHEMAS_FACET_PRESERVE, etc.
        int	whitespace
        xmlSchemaValPtr	val	: The compiled value
        xmlRegexpPtr	regexp	: The regex for patterns
    }

### Structure xmlSchemaFacetLink

    Structure xmlSchemaFacetLink
    struct _xmlSchemaFacetLink {
        struct _xmlSchemaFacetLink *	next	: the next facet link ...
        xmlSchemaFacetPtr	facet	: the linked facet
    }

### Structure xmlSchemaNotation

    Structure xmlSchemaNotation
    struct _xmlSchemaNotation {
        xmlSchemaTypeType	type	: The kind of type
        const xmlChar *	name
        xmlSchemaAnnotPtr	annot
        const xmlChar *	identifier
        const xmlChar *	targetNamespace
    }

### Structure xmlSchemaType

    Structure xmlSchemaType
    struct _xmlSchemaType {
        xmlSchemaTypeType	type	: The kind of type
        struct _xmlSchemaType *	next	: the next type if in a sequence ...
        const xmlChar *	name
        const xmlChar *	id	: Deprecated; not used
        const xmlChar *	ref	: Deprecated; not used
        const xmlChar *	refNs	: Deprecated; not used
        xmlSchemaAnnotPtr	annot
        xmlSchemaTypePtr	subtypes
        xmlSchemaAttributePtr	attributes	: Deprecated; not used
        xmlNodePtr	node
        int	minOccurs	: Deprecated; not used
        int	maxOccurs	: Deprecated; not used
        int	flags
        xmlSchemaContentType	contentType
        const xmlChar *	base	: Base type's local name
        const xmlChar *	baseNs	: Base type's target namespace
        xmlSchemaTypePtr	baseType	: The base type component
        xmlSchemaFacetPtr	facets	: Local facets
        struct _xmlSchemaType *	redef	: Deprecated; not used
        int	recurse	: Obsolete
        xmlSchemaAttributeLinkPtr *	attributeUses	: Deprecated; not used
        xmlSchemaWildcardPtr	attributeWildcard
        int	builtInType	: Type of built-in types.
        xmlSchemaTypeLinkPtr	memberTypes	: member-types if a union type.
        xmlSchemaFacetLinkPtr	facetSet	: All facets (incl. inherited)
        const xmlChar *	refPrefix	: Deprecated; not used
        xmlSchemaTypePtr	contentTypeDef	: Used for the simple content of complex
        xmlRegexpPtr	contModel	: Holds the automaton of the content mode
        const xmlChar *	targetNamespace
        void *	attrUses
    }

### Structure xmlSchemaTypeLink

    Structure xmlSchemaTypeLink
    struct _xmlSchemaTypeLink {
        struct _xmlSchemaTypeLink *	next	: the next type link ...
        xmlSchemaTypePtr	type	: the linked type
    }

### Enum xmlSchemaTypeType

    Enum xmlSchemaTypeType {
        XML_SCHEMA_TYPE_BASIC = 1 : A built-in datatype
        XML_SCHEMA_TYPE_ANY = 2
        XML_SCHEMA_TYPE_FACET = 3
        XML_SCHEMA_TYPE_SIMPLE = 4
        XML_SCHEMA_TYPE_COMPLEX = 5
        XML_SCHEMA_TYPE_SEQUENCE = 6
        XML_SCHEMA_TYPE_CHOICE = 7
        XML_SCHEMA_TYPE_ALL = 8
        XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
        XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
        XML_SCHEMA_TYPE_UR = 11
        XML_SCHEMA_TYPE_RESTRICTION = 12
        XML_SCHEMA_TYPE_EXTENSION = 13
        XML_SCHEMA_TYPE_ELEMENT = 14
        XML_SCHEMA_TYPE_ATTRIBUTE = 15
        XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
        XML_SCHEMA_TYPE_GROUP = 17
        XML_SCHEMA_TYPE_NOTATION = 18
        XML_SCHEMA_TYPE_LIST = 19
        XML_SCHEMA_TYPE_UNION = 20
        XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
        XML_SCHEMA_TYPE_IDC_UNIQUE = 22
        XML_SCHEMA_TYPE_IDC_KEY = 23
        XML_SCHEMA_TYPE_IDC_KEYREF = 24
        XML_SCHEMA_TYPE_PARTICLE = 25
        XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
        XML_SCHEMA_FACET_MININCLUSIVE = 1000
        XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
        XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
        XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
        XML_SCHEMA_FACET_TOTALDIGITS = 1004
        XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
        XML_SCHEMA_FACET_PATTERN = 1006
        XML_SCHEMA_FACET_ENUMERATION = 1007
        XML_SCHEMA_FACET_WHITESPACE = 1008
        XML_SCHEMA_FACET_LENGTH = 1009
        XML_SCHEMA_FACET_MAXLENGTH = 1010
        XML_SCHEMA_FACET_MINLENGTH = 1011
        XML_SCHEMA_EXTRA_QNAMEREF = 2000
        XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
    }

### Structure xmlSchemaVal

    Structure xmlSchemaVal
    struct _xmlSchemaVal {
    The content of this structure is not made public by the API.
    }

### Enum xmlSchemaValType

    Enum xmlSchemaValType {
        XML_SCHEMAS_UNKNOWN = 0
        XML_SCHEMAS_STRING = 1
        XML_SCHEMAS_NORMSTRING = 2
        XML_SCHEMAS_DECIMAL = 3
        XML_SCHEMAS_TIME = 4
        XML_SCHEMAS_GDAY = 5
        XML_SCHEMAS_GMONTH = 6
        XML_SCHEMAS_GMONTHDAY = 7
        XML_SCHEMAS_GYEAR = 8
        XML_SCHEMAS_GYEARMONTH = 9
        XML_SCHEMAS_DATE = 10
        XML_SCHEMAS_DATETIME = 11
        XML_SCHEMAS_DURATION = 12
        XML_SCHEMAS_FLOAT = 13
        XML_SCHEMAS_DOUBLE = 14
        XML_SCHEMAS_BOOLEAN = 15
        XML_SCHEMAS_TOKEN = 16
        XML_SCHEMAS_LANGUAGE = 17
        XML_SCHEMAS_NMTOKEN = 18
        XML_SCHEMAS_NMTOKENS = 19
        XML_SCHEMAS_NAME = 20
        XML_SCHEMAS_QNAME = 21
        XML_SCHEMAS_NCNAME = 22
        XML_SCHEMAS_ID = 23
        XML_SCHEMAS_IDREF = 24
        XML_SCHEMAS_IDREFS = 25
        XML_SCHEMAS_ENTITY = 26
        XML_SCHEMAS_ENTITIES = 27
        XML_SCHEMAS_NOTATION = 28
        XML_SCHEMAS_ANYURI = 29
        XML_SCHEMAS_INTEGER = 30
        XML_SCHEMAS_NPINTEGER = 31
        XML_SCHEMAS_NINTEGER = 32
        XML_SCHEMAS_NNINTEGER = 33
        XML_SCHEMAS_PINTEGER = 34
        XML_SCHEMAS_INT = 35
        XML_SCHEMAS_UINT = 36
        XML_SCHEMAS_LONG = 37
        XML_SCHEMAS_ULONG = 38
        XML_SCHEMAS_SHORT = 39
        XML_SCHEMAS_USHORT = 40
        XML_SCHEMAS_BYTE = 41
        XML_SCHEMAS_UBYTE = 42
        XML_SCHEMAS_HEXBINARY = 43
        XML_SCHEMAS_BASE64BINARY = 44
        XML_SCHEMAS_ANYTYPE = 45
        XML_SCHEMAS_ANYSIMPLETYPE = 46
    }

### Structure xmlSchemaWildcard

    Structure xmlSchemaWildcard
    struct _xmlSchemaWildcard {
        xmlSchemaTypeType	type	: The kind of type
        const xmlChar *	id	: Deprecated; not used
        xmlSchemaAnnotPtr	annot
        xmlNodePtr	node
        int	minOccurs	: Deprecated; not used
        int	maxOccurs	: Deprecated; not used
        int	processContents
        int	any	: Indicates if the ns constraint is of ##
        xmlSchemaWildcardNsPtr	nsSet	: The list of allowed namespaces
        xmlSchemaWildcardNsPtr	negNsSet	: The negated namespace
        int	flags
    }

### Structure xmlSchemaWildcardNs

    Structure xmlSchemaWildcardNs
    struct _xmlSchemaWildcardNs {
        struct _xmlSchemaWildcardNs *	next	: the next constraint link ...
        const xmlChar *	value	: the value
    }

### Function: xmlSchemaFreeType

    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)

Deallocate a Schema Type structure.

`type`: | a schema type structure

### Function: xmlSchemaFreeWildcard

    void	xmlSchemaFreeWildcard		(xmlSchemaWildcardPtr wildcard)

Deallocates a wildcard structure.

`wildcard`: | a wildcard structure

Daniel Veillard