#

## 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
- Pascal bindings
- Bug Tracker

internal interfaces for the XML Schemas handling and schema validity checking

## Table of Contents

    #define XML_SCHEMAS_ANYATTR_LAX

    #define XML_SCHEMAS_ANYATTR_SKIP

    #define XML_SCHEMAS_ANYATTR_STRICT

    #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_ELEM_ABSTRACT

    #define XML_SCHEMAS_ELEM_DEFAULT

    #define XML_SCHEMAS_ELEM_FIXED

    #define XML_SCHEMAS_ELEM_GLOBAL

    #define XML_SCHEMAS_ELEM_NILLABLE

    #define XML_SCHEMAS_ELEM_NSDEFAULT

    #define XML_SCHEMAS_ELEM_REF

    #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_QUALIF_ATTR

    #define XML_SCHEMAS_QUALIF_ELEM

    #define XML_SCHEMAS_TYPE_MIXED

    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot

    Typedef xmlSchemaAnnot * xmlSchemaAnnotPtr

    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute

    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup

    Typedef xmlSchemaAttributeGroup * xmlSchemaAttributeGroupPtr

    Typedef xmlSchemaAttribute * xmlSchemaAttributePtr

    Enum xmlSchemaContentType

    Structure xmlSchemaElement
    struct _xmlSchemaElement

    Typedef xmlSchemaElement * xmlSchemaElementPtr

    Structure xmlSchemaFacet
    struct _xmlSchemaFacet

    Typedef xmlSchemaFacet * xmlSchemaFacetPtr

    Structure xmlSchemaNotation
    struct _xmlSchemaNotation

    Typedef xmlSchemaNotation * xmlSchemaNotationPtr

    Structure xmlSchemaType
    struct _xmlSchemaType

    Typedef xmlSchemaType * xmlSchemaTypePtr

    Enum xmlSchemaTypeType

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

    Typedef xmlSchemaVal * xmlSchemaValPtr

    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)

## Description

### Macro: XML_SCHEMAS_ANYATTR_LAX

    #define XML_SCHEMAS_ANYATTR_LAX

Ignore validation non definition on attributes

### Macro: XML_SCHEMAS_ANYATTR_SKIP

    #define XML_SCHEMAS_ANYATTR_SKIP

Skip unknown attribute from validation

### Macro: XML_SCHEMAS_ANYATTR_STRICT

    #define XML_SCHEMAS_ANYATTR_STRICT

Apply strict validation rules on attributes

### 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

The attribute is prohibited.

### Macro: XML_SCHEMAS_ATTR_USE_REQUIRED

    #define XML_SCHEMAS_ATTR_USE_REQUIRED

The attribute is required.

### Macro: XML_SCHEMAS_ELEM_ABSTRACT

    #define XML_SCHEMAS_ELEM_ABSTRACT

the element is abstract

### Macro: XML_SCHEMAS_ELEM_DEFAULT

    #define XML_SCHEMAS_ELEM_DEFAULT

the element has a default value

### 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_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

### Macro: XML_SCHEMAS_ELEM_REF

    #define XML_SCHEMAS_ELEM_REF

the element is a reference to a type

### Macro: XML_SCHEMAS_ELEM_TOPLEVEL

    #define XML_SCHEMAS_ELEM_TOPLEVEL

the element is top level

### 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_QUALIF_ATTR

    #define XML_SCHEMAS_QUALIF_ATTR

the shemas requires qualified attributes

### Macro: XML_SCHEMAS_QUALIF_ELEM

    #define XML_SCHEMAS_QUALIF_ELEM

the shemas requires qualified elements

### Macro: XML_SCHEMAS_TYPE_MIXED

    #define XML_SCHEMAS_TYPE_MIXED

the element content type is mixed

### Structure xmlSchemaAnnot

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

### Structure xmlSchemaAttribute

    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute {
        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
        const xmlChar *	refNs
        const xmlChar *	typeName
        const xmlChar *	typeNs
        xmlSchemaAnnotPtr	annot
        xmlSchemaTypePtr	base
        int	occurs
        const xmlChar *	defValue
        xmlSchemaTypePtr	subtypes
        xmlNodePtr	node
        const xmlChar *	targetNamespace
        int	flags
    }

### 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
        const xmlChar *	refNs
        xmlSchemaAnnotPtr	annot
        xmlSchemaAttributePtr	attributes
        xmlNodePtr	node
    }

### 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
        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	: the next type if in a sequence ...
        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
        const xmlChar *	targetNamespace
        const xmlChar *	namedType
        const xmlChar *	namedTypeNs
        const xmlChar *	substGroup
        const xmlChar *	substGroupNs
        const xmlChar *	scope
        const xmlChar *	value
        struct _xmlSchemaElement *	refDecl
        xmlRegexpPtr	contModel
        xmlSchemaContentType	contentType
    }

### 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
        const xmlChar *	id
        xmlSchemaAnnotPtr	annot
        xmlNodePtr	node
        int	fixed
        int	whitespace
        xmlSchemaValPtr	val
        xmlRegexpPtr	regexp
    }

### Structure xmlSchemaNotation

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

### 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
        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	: possible redefinitions for the type
        int	recurse
    }

### Enum xmlSchemaTypeType

    Enum xmlSchemaTypeType {
        XML_SCHEMA_TYPE_BASIC = 1
        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_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
    }

### Structure xmlSchemaVal

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

### Function: xmlSchemaFreeType

    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)

Deallocate a Schema Type structure.

`type`: | a schema type structure

Daniel Veillard