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...
struct | _xmlSchemaAttributeLink
| 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...
struct | _xmlSchemaTypeLink
| Used to build a list of types (e.g. More...
struct | _xmlSchemaFacetLink
| 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 !

Copyright
  See Copyright for the status of this software.

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

  type | a schema type structure

## xmlSchemaFreeWildcard()

void xmlSchemaFreeWildcard | ( | xmlSchemaWildcard * | wildcard | ) |

Deallocates a wildcard structure.

Parameters

  wildcard | a wildcard structure