libxml2
Loading...
Searching...
No Matches
schemasInternals.h File Reference

internal interfaces for XML Schemas More...

Data Structures

struct  _xmlSchemaAnnot
 Annotation. More...
struct  _xmlSchemaAttribute
 An attribute definition. More...
 Used to build a list of attribute uses on complexType definitions. More...
struct  _xmlSchemaWildcardNs
 Used to build a list of namespaces on wildcards. More...
struct  _xmlSchemaWildcard
 A wildcard. More...
struct  _xmlSchemaAttributeGroup
 An attribute group definition. More...
 Used to build a list of types (e.g. More...
 Used to build a list of facets. More...
struct  _xmlSchemaType
 Schemas type definition. More...
struct  _xmlSchemaElement
 An element definition. More...
struct  _xmlSchemaFacet
 A facet definition. More...
struct  _xmlSchemaNotation
 A notation definition. More...
struct  _xmlSchema
 A Schemas definition. More...

Macros

#define XML_SCHEMAS_ANYATTR_SKIP   1
 Skip unknown attribute from validation Obsolete, not used anymore.
#define XML_SCHEMAS_ANYATTR_LAX   2
 Ignore validation non definition on attributes Obsolete, not used anymore.
#define XML_SCHEMAS_ANYATTR_STRICT   3
 Apply strict validation rules on attributes Obsolete, not used anymore.
#define XML_SCHEMAS_ANY_SKIP   1
 Skip unknown attribute from validation.
#define XML_SCHEMAS_ANY_LAX   2
 Used by wildcards.
#define XML_SCHEMAS_ANY_STRICT   3
 Used by wildcards.
#define XML_SCHEMAS_ATTR_USE_PROHIBITED   0
 Used by wildcards.
#define XML_SCHEMAS_ATTR_USE_REQUIRED   1
 The attribute is required.
#define XML_SCHEMAS_ATTR_USE_OPTIONAL   2
 The attribute is optional.
#define XML_SCHEMAS_ATTR_GLOBAL   1 << 0
 allow elements in no namespace
#define XML_SCHEMAS_ATTR_NSDEFAULT   1 << 7
 allow elements in no namespace
#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED   1 << 8
 this is set when the "type" and "ref" references have been resolved.
#define XML_SCHEMAS_ATTR_FIXED   1 << 9
 the attribute has a fixed value
#define XML_SCHEMAS_WILDCARD_COMPLETE   1 << 0
 If the wildcard is complete.
#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED   1 << 0
 The attribute wildcard has been built.
#define XML_SCHEMAS_ATTRGROUP_GLOBAL   1 << 1
 The attribute group has been defined.
#define XML_SCHEMAS_ATTRGROUP_MARKED   1 << 2
 Marks the attr group as marked; used for circular checks.
#define XML_SCHEMAS_ATTRGROUP_REDEFINED   1 << 3
 The attr group was redefined.
#define XML_SCHEMAS_ATTRGROUP_HAS_REFS   1 << 4
 Whether this attr.
#define XML_SCHEMAS_TYPE_MIXED   1 << 0
 the element content type is mixed
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION   1 << 1
 the simple or complex type has a derivation method of "extension".
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION   1 << 2
 the simple or complex type has a derivation method of "restriction".
#define XML_SCHEMAS_TYPE_GLOBAL   1 << 3
 the type is global
#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD   1 << 4 /* Obsolete. */
 the complexType owns an attribute wildcard, i.e.
#define XML_SCHEMAS_TYPE_VARIETY_ABSENT   1 << 5
 the simpleType has a variety of "absent".
#define XML_SCHEMAS_TYPE_VARIETY_LIST   1 << 6
 the simpleType has a variety of "list".
#define XML_SCHEMAS_TYPE_VARIETY_UNION   1 << 7
 the simpleType has a variety of "union".
#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC   1 << 8
 the simpleType has a variety of "union".
#define XML_SCHEMAS_TYPE_FINAL_EXTENSION   1 << 9
 the complexType has a final of "extension".
#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION   1 << 10
 the simpleType/complexType has a final of "restriction".
#define XML_SCHEMAS_TYPE_FINAL_LIST   1 << 11
 the simpleType has a final of "list".
#define XML_SCHEMAS_TYPE_FINAL_UNION   1 << 12
 the simpleType has a final of "union".
#define XML_SCHEMAS_TYPE_FINAL_DEFAULT   1 << 13
 the simpleType has a final of "default".
#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE   1 << 14
 Marks the item as a builtin primitive.
#define XML_SCHEMAS_TYPE_MARKED   1 << 16
 Marks the item as marked; used for circular checks.
#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT   1 << 17
 the complexType did not specify 'block' so use the default of the <schema> item.
#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION   1 << 18
 the complexType has a 'block' of "extension".
#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION   1 << 19
 the complexType has a 'block' of "restriction".
#define XML_SCHEMAS_TYPE_ABSTRACT   1 << 20
 the simple/complexType is abstract.
#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE   1 << 21
 indicates if the facets need a computed value
#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED   1 << 22
 indicates that the type was typefixed
#define XML_SCHEMAS_TYPE_INTERNAL_INVALID   1 << 23
 indicates that the type is invalid
#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE   1 << 24
 a whitespace-facet value of "preserve"
#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE   1 << 25
 a whitespace-facet value of "replace"
#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE   1 << 26
 a whitespace-facet value of "collapse"
#define XML_SCHEMAS_TYPE_HAS_FACETS   1 << 27
 has facets
#define XML_SCHEMAS_TYPE_NORMVALUENEEDED   1 << 28
 indicates if the facets (pattern) need a normalized value
#define XML_SCHEMAS_TYPE_FIXUP_1   1 << 29
 First stage of fixup was done.
#define XML_SCHEMAS_TYPE_REDEFINED   1 << 30
 The type was redefined.
#define XML_SCHEMAS_ELEM_NILLABLE   1 << 0
 the element is nillable
#define XML_SCHEMAS_ELEM_GLOBAL   1 << 1
 the element is global
#define XML_SCHEMAS_ELEM_DEFAULT   1 << 2
 the element has a default value
#define XML_SCHEMAS_ELEM_FIXED   1 << 3
 the element has a fixed value
#define XML_SCHEMAS_ELEM_ABSTRACT   1 << 4
 the element is abstract
#define XML_SCHEMAS_ELEM_TOPLEVEL   1 << 5
 the element is top level obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
#define XML_SCHEMAS_ELEM_REF   1 << 6
 the element is a reference to a type
#define XML_SCHEMAS_ELEM_NSDEFAULT   1 << 7
 allow elements in no namespace Obsolete, not used anymore.
#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED   1 << 8
 this is set when "type", "ref", "substitutionGroup" references have been resolved.
#define XML_SCHEMAS_ELEM_CIRCULAR   1 << 9
 a helper flag for the search of circular references.
#define XML_SCHEMAS_ELEM_BLOCK_ABSENT   1 << 10
 the "block" attribute is absent
#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION   1 << 11
 disallowed substitutions are absent
#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION   1 << 12
 disallowed substitutions: "restriction"
#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION   1 << 13
 disallowed substitutions: "substitution"
#define XML_SCHEMAS_ELEM_FINAL_ABSENT   1 << 14
 substitution group exclusions are absent
#define XML_SCHEMAS_ELEM_FINAL_EXTENSION   1 << 15
 substitution group exclusions: "extension"
#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION   1 << 16
 substitution group exclusions: "restriction"
#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD   1 << 17
 the declaration is a substitution group head
#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED   1 << 18
 this is set when the elem decl has been checked against all constraints
#define XML_SCHEMAS_FACET_UNKNOWN   0
 unknown facet handling
#define XML_SCHEMAS_FACET_PRESERVE   1
 preserve the type of the facet
#define XML_SCHEMAS_FACET_REPLACE   2
 replace the type of the facet
#define XML_SCHEMAS_FACET_COLLAPSE   3
 collapse the types of the facet
#define XML_SCHEMAS_QUALIF_ELEM   1 << 0
 Reflects elementFormDefault == qualified in an XML schema document.
#define XML_SCHEMAS_QUALIF_ATTR   1 << 1
 Reflects attributeFormDefault == qualified in an XML schema document.
#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION   1 << 2
 the schema has "extension" in the set of finalDefault.
#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION   1 << 3
 the schema has "restriction" in the set of finalDefault.
#define XML_SCHEMAS_FINAL_DEFAULT_LIST   1 << 4
 the schema has "list" in the set of finalDefault.
#define XML_SCHEMAS_FINAL_DEFAULT_UNION   1 << 5
 the schema has "union" in the set of finalDefault.
#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION   1 << 6
 the schema has "extension" in the set of blockDefault.
#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION   1 << 7
 the schema has "restriction" in the set of blockDefault.
#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION   1 << 8
 the schema has "substitution" in the set of blockDefault.
#define XML_SCHEMAS_INCLUDING_CONVERT_NS   1 << 9
 the schema is currently including an other schema with no target namespace.

Typedefs

typedef struct _xmlSchemaVal xmlSchemaVal
 Schema value.
typedef struct _xmlSchemaType xmlSchemaType
 Schema type.
typedef struct _xmlSchemaFacet xmlSchemaFacet
 Schema facet.
typedef struct _xmlSchemaAnnot xmlSchemaAnnot
 Schema annotation.
typedef struct _xmlSchemaAttribute xmlSchemaAttribute
 Schema attribute definition.
typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink
 Linked list of schema attributes.
typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs
 Namespace wildcard.
typedef struct _xmlSchemaWildcard xmlSchemaWildcard
 Name wildcard.
typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup
 Attribute group.
typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink
 Linked list of schema types.
typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink
 Linked list of schema facets.
typedef struct _xmlSchemaElement xmlSchemaElement
 Schema element definition.
typedef struct _xmlSchemaNotation xmlSchemaNotation
 Schema notation.

Enumerations

enum  xmlSchemaValType
 Schema value type.
enum  xmlSchemaTypeType
 XML Schemas defines multiple type of types.
enum  xmlSchemaContentType
 Schema content type.

Functions

void xmlSchemaFreeType (xmlSchemaType *type)
 Deallocate a Schema Type structure.
void xmlSchemaFreeWildcard (xmlSchemaWildcard *wildcard)
 Deallocates a wildcard structure.

Detailed Description

internal interfaces for XML Schemas

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 !

Author
Daniel Veillard

Macro Definition Documentation

◆ XML_SCHEMAS_ANY_LAX

#define XML_SCHEMAS_ANY_LAX   2

Used by wildcards.

Validate if type found, don't worry if not found

◆ XML_SCHEMAS_ANY_STRICT

#define XML_SCHEMAS_ANY_STRICT   3

Used by wildcards.

Apply strict validation rules

◆ XML_SCHEMAS_ATTR_USE_PROHIBITED

#define XML_SCHEMAS_ATTR_USE_PROHIBITED   0

Used by wildcards.

The attribute is prohibited.

◆ XML_SCHEMAS_ATTRGROUP_HAS_REFS

#define XML_SCHEMAS_ATTRGROUP_HAS_REFS   1 << 4

Whether this attr.

group contains attr. group references.

◆ XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD

#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD   1 << 4 /* Obsolete. */

the complexType owns an attribute wildcard, i.e.

it can be freed by the complexType

◆ XML_SCHEMAS_TYPE_VARIETY_ABSENT

#define XML_SCHEMAS_TYPE_VARIETY_ABSENT   1 << 5

the simpleType has a variety of "absent".

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

Function Documentation

◆ xmlSchemaFreeType()

void xmlSchemaFreeType ( xmlSchemaType * type)

Deallocate a Schema Type structure.

Parameters
typea schema type structure

◆ xmlSchemaFreeWildcard()

void xmlSchemaFreeWildcard ( xmlSchemaWildcard * wildcard)

Deallocates a wildcard structure.

Parameters
wildcarda wildcard structure