blob: 8d3013efe5bbcce1e37a06f370836b62e0a54892 [file] [log] [blame]
* Summary: internal interfaces for XML Schemas
* Description: 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 garanteed to be API or
* ABI stable !
*
* Copy: See Copyright for the status of this software.
*
* Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
/if not defined(XML_SCHEMA_INTERNALS_H__)
/define XML_SCHEMA_INTERNALS_H__
/include "libxmlrpg/xmlversion"
/if defined(LIBXML_SCHEMAS_ENABLED)
/include "libxmlrpg/xmlTypesC"
/include "libxmlrpg/xmlregexp"
/include "libxmlrpg/hash"
/include "libxmlrpg/dict"
d xmlSchemaValType...
d s based(######typedef######)
d like(xmlCenum)
d XML_SCHEMAS_UNKNOWN...
d c 0
d XML_SCHEMAS_STRING...
d c 1
d XML_SCHEMAS_NORMSTRING...
d c 2
d XML_SCHEMAS_DECIMAL...
d c 3
d XML_SCHEMAS_TIME...
d c 4
d XML_SCHEMAS_GDAY...
d c 5
d XML_SCHEMAS_GMONTH...
d c 6
d XML_SCHEMAS_GMONTHDAY...
d c 7
d XML_SCHEMAS_GYEAR...
d c 8
d XML_SCHEMAS_GYEARMONTH...
d c 9
d XML_SCHEMAS_DATE...
d c 10
d XML_SCHEMAS_DATETIME...
d c 11
d XML_SCHEMAS_DURATION...
d c 12
d XML_SCHEMAS_FLOAT...
d c 13
d XML_SCHEMAS_DOUBLE...
d c 14
d XML_SCHEMAS_BOOLEAN...
d c 15
d XML_SCHEMAS_TOKEN...
d c 16
d XML_SCHEMAS_LANGUAGE...
d c 17
d XML_SCHEMAS_NMTOKEN...
d c 18
d XML_SCHEMAS_NMTOKENS...
d c 19
d XML_SCHEMAS_NAME...
d c 20
d XML_SCHEMAS_QNAME...
d c 21
d XML_SCHEMAS_NCNAME...
d c 22
d XML_SCHEMAS_ID...
d c 23
d XML_SCHEMAS_IDREF...
d c 24
d XML_SCHEMAS_IDREFS...
d c 25
d XML_SCHEMAS_ENTITY...
d c 26
d XML_SCHEMAS_ENTITIES...
d c 27
d XML_SCHEMAS_NOTATION...
d c 28
d XML_SCHEMAS_ANYURI...
d c 29
d XML_SCHEMAS_INTEGER...
d c 30
d XML_SCHEMAS_NPINTEGER...
d c 31
d XML_SCHEMAS_NINTEGER...
d c 32
d XML_SCHEMAS_NNINTEGER...
d c 33
d XML_SCHEMAS_PINTEGER...
d c 34
d XML_SCHEMAS_INT...
d c 35
d XML_SCHEMAS_UINT...
d c 36
d XML_SCHEMAS_LONG...
d c 37
d XML_SCHEMAS_ULONG...
d c 38
d XML_SCHEMAS_SHORT...
d c 39
d XML_SCHEMAS_USHORT...
d c 40
d XML_SCHEMAS_BYTE...
d c 41
d XML_SCHEMAS_UBYTE...
d c 42
d XML_SCHEMAS_HEXBINARY...
d c 43
d XML_SCHEMAS_BASE64BINARY...
d c 44
d XML_SCHEMAS_ANYTYPE...
d c 45
d XML_SCHEMAS_ANYSIMPLETYPE...
d c 46
* XML Schemas defines multiple type of types.
d xmlSchemaTypeType...
d s based(######typedef######)
d like(xmlCenum)
d XML_SCHEMA_TYPE_BASIC... A builtin datatype
d c 1
d XML_SCHEMA_TYPE_ANY...
d c 2
d XML_SCHEMA_TYPE_FACET...
d c 3
d XML_SCHEMA_TYPE_SIMPLE...
d c 4
d XML_SCHEMA_TYPE_COMPLEX...
d c 5
d XML_SCHEMA_TYPE_SEQUENCE...
d c 6
d XML_SCHEMA_TYPE_CHOICE...
d c 7
d XML_SCHEMA_TYPE_ALL...
d c 8
d XML_SCHEMA_TYPE_SIMPLE_CONTENT...
d c 9
d XML_SCHEMA_TYPE_COMPLEX_CONTENT...
d c 10
d XML_SCHEMA_TYPE_UR...
d c 11
d XML_SCHEMA_TYPE_RESTRICTION...
d c 12
d XML_SCHEMA_TYPE_EXTENSION...
d c 13
d XML_SCHEMA_TYPE_ELEMENT...
d c 14
d XML_SCHEMA_TYPE_ATTRIBUTE...
d c 15
d XML_SCHEMA_TYPE_ATTRIBUTEGROUP...
d c 16
d XML_SCHEMA_TYPE_GROUP...
d c 17
d XML_SCHEMA_TYPE_NOTATION...
d c 18
d XML_SCHEMA_TYPE_LIST...
d c 19
d XML_SCHEMA_TYPE_UNION...
d c 20
d XML_SCHEMA_TYPE_ANY_ATTRIBUTE...
d c 21
d XML_SCHEMA_TYPE_IDC_UNIQUE...
d c 22
d XML_SCHEMA_TYPE_IDC_KEY...
d c 23
d XML_SCHEMA_TYPE_IDC_KEYREF...
d c 24
d XML_SCHEMA_TYPE_PARTICLE...
d c 25
d XML_SCHEMA_TYPE_ATTRIBUTE_USE...
d c 26
d XML_SCHEMA_FACET_MININCLUSIVE...
d c 1000
d XML_SCHEMA_FACET_MINEXCLUSIVE...
d c 1001
d XML_SCHEMA_FACET_MAXINCLUSIVE...
d c 1002
d XML_SCHEMA_FACET_MAXEXCLUSIVE...
d c 1003
d XML_SCHEMA_FACET_TOTALDIGITS...
d c 1004
d XML_SCHEMA_FACET_FRACTIONDIGITS...
d c 1005
d XML_SCHEMA_FACET_PATTERN...
d c 1006
d XML_SCHEMA_FACET_ENUMERATION...
d c 1007
d XML_SCHEMA_FACET_WHITESPACE...
d c 1008
d XML_SCHEMA_FACET_LENGTH...
d c 1009
d XML_SCHEMA_FACET_MAXLENGTH...
d c 1010
d XML_SCHEMA_FACET_MINLENGTH...
d c 1011
d XML_SCHEMA_EXTRA_QNAMEREF...
d c 2000
d XML_SCHEMA_EXTRA_ATTR_USE_PROHIB...
d c 2001
d xmlSchemaContentType...
d s based(######typedef######)
d like(xmlCenum)
d XML_SCHEMA_CONTENT_UNKNOWN...
d c 0
d XML_SCHEMA_CONTENT_EMPTY...
d c 1
d XML_SCHEMA_CONTENT_ELEMENTS...
d c 2
d XML_SCHEMA_CONTENT_MIXED...
d c 3
d XML_SCHEMA_CONTENT_SIMPLE...
d c 4
d XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS... Obsolete
d c 5
d XML_SCHEMA_CONTENT_BASIC...
d c 6
d XML_SCHEMA_CONTENT_ANY...
d c 7
d xmlSchemaValPtr...
d s * based(######typedef######)
d xmlSchemaTypePtr...
d s * based(######typedef######)
d xmlSchemaFacetPtr...
d s * based(######typedef######)
* Annotation
d xmlSchemaAnnotPtr...
d s * based(######typedef######)
d xmlSchemaAnnot ds based(xmlSchemaAnnotPtr)
d align qualified
d next like(xmlSchemaAnnotPtr)
d content like(xmlNodePtr) The annotation
* XML_SCHEMAS_ANYATTR_SKIP:
*
* Skip unknown attribute from validation
* Obsolete, not used anymore.
d XML_SCHEMAS_ANYATTR_SKIP...
d c 1
* XML_SCHEMAS_ANYATTR_LAX:
*
* Ignore validation non definition on attributes
* Obsolete, not used anymore.
d XML_SCHEMAS_ANYATTR_LAX...
d c 2
* XML_SCHEMAS_ANYATTR_STRICT:
*
* Apply strict validation rules on attributes
* Obsolete, not used anymore.
d XML_SCHEMAS_ANYATTR_STRICT...
d c 3
* XML_SCHEMAS_ANY_SKIP:
*
* Skip unknown attribute from validation
d XML_SCHEMAS_ANY_SKIP...
d c 1
* XML_SCHEMAS_ANY_LAX:
*
* Used by wildcards.
* Validate if type found, don't worry if not found
d XML_SCHEMAS_ANY_LAX...
d c 2
* XML_SCHEMAS_ANY_STRICT:
*
* Used by wildcards.
* Apply strict validation rules
d XML_SCHEMAS_ANY_STRICT...
d c 3
* XML_SCHEMAS_ATTR_USE_PROHIBITED:
*
* Used by wildcards.
* The attribute is prohibited.
d XML_SCHEMAS_ATTR_USE_PROHIBITED...
d c 0
* XML_SCHEMAS_ATTR_USE_REQUIRED:
*
* The attribute is required.
d XML_SCHEMAS_ATTR_USE_REQUIRED...
d c 1
* XML_SCHEMAS_ATTR_USE_OPTIONAL:
*
* The attribute is optional.
d XML_SCHEMAS_ATTR_USE_OPTIONAL...
d c 2
* XML_SCHEMAS_ATTR_GLOBAL:
*
* allow elements in no namespace
d XML_SCHEMAS_ATTR_GLOBAL...
d c X'0001'
* XML_SCHEMAS_ATTR_NSDEFAULT:
*
* allow elements in no namespace
d XML_SCHEMAS_ATTR_NSDEFAULT...
d c X'0080'
* XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
*
* this is set when the "type" and "ref" references
* have been resolved.
d XML_SCHEMAS_ATTR_INTERNAL_RESOLVED...
d c X'0100'
* XML_SCHEMAS_ATTR_FIXED:
*
* the attribute has a fixed value
d XML_SCHEMAS_ATTR_FIXED...
d c X'0200'
* xmlSchemaAttribute:
* An attribute definition.
d xmlSchemaAttributePtr...
d s * based(######typedef######)
d xmlSchemaAttribute...
d ds based(xmlSchemaAttributePtr)
d align qualified
d type like(xmlSchemaTypeType)
d next like(xmlSchemaAttributePtr) Next attribute
d name * const xmlChar *
d id * const xmlChar *
d ref * const xmlChar *
d refNs * const xmlChar *
d typeName * const xmlChar *
d typeNs * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
*
d base like(xmlSchemaTypePtr) Deprecated
d occurs like(xmlCint) Deprecated
d defValue * const xmlChar *
d subtypes like(xmlSchemaTypePtr) The type definition
d node like(xmlNodePtr)
d targetNamespace... const xmlChar *
d *
d flags like(xmlCint)
d refPrefix * const xmlChar *
d defVal like(xmlSchemaValPtr) Compiled constraint
d refDecl like(xmlSchemaAttributePtr) Deprecated
* xmlSchemaAttributeLink:
* Used to build a list of attribute uses on complexType definitions.
* WARNING: Deprecated; not used.
d xmlSchemaAttributeLinkPtr...
d s * based(######typedef######)
d xmlSchemaAttributeLink...
d ds based(xmlSchemaAttributeLinkPtr)
d align qualified
d next like(xmlSchemaAttributeLinkPtr) The next link
d attr like(xmlSchemaAttributePtr) The linked attribute
* XML_SCHEMAS_WILDCARD_COMPLETE:
*
* If the wildcard is complete.
d XML_SCHEMAS_WILDCARD_COMPLETE...
d c X'0001'
* xmlSchemaCharValueLink:
* Used to build a list of namespaces on wildcards.
d xmlSchemaWildcardNsPtr...
d s * based(######typedef######)
d xmlSchemaWildcardNs...
d ds based(xmlSchemaWildcardNsPtr)
d align qualified
d next like(xmlSchemaWildcardNsPtr) The next link
d value * const xmlChar *
* xmlSchemaWildcard.
* A wildcard.
d xmlSchemaWildcardPtr...
d s * based(######typedef######)
d xmlSchemaWildcard...
d ds based(xmlSchemaWildcardPtr)
d align qualified
d type like(xmlSchemaTypeType) Kind of type
d id * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
d node like(xmlNodePtr)
d minOccurs like(xmlCint) Deprecated; not used
d maxOccurs like(xmlCint) Deprecated; not used
d processContents...
d like(xmlCint)
d any like(xmlCint) Ns constraint ##any?
d nsSet like(xmlSchemaWildcardNsPtr) Allowed namspce list
d negNsSet like(xmlSchemaWildcardNsPtr) Negated namespace
d flags like(xmlCint) Deprecated; not used
* XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
*
* The attribute wildcard has been already builded.
d XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED...
d c X'0001'
* XML_SCHEMAS_ATTRGROUP_GLOBAL:
*
* The attribute wildcard has been already builded.
d XML_SCHEMAS_ATTRGROUP_GLOBAL...
d c X'0002'
* XML_SCHEMAS_ATTRGROUP_MARKED:
*
* Marks the attr group as marked; used for circular checks.
d XML_SCHEMAS_ATTRGROUP_MARKED...
d c X'0004'
* XML_SCHEMAS_ATTRGROUP_REDEFINED:
*
* The attr group was redefined.
d XML_SCHEMAS_ATTRGROUP_REDEFINED...
d c X'0008'
* XML_SCHEMAS_ATTRGROUP_HAS_REFS:
*
* Whether this attr. group contains attr. group references.
d XML_SCHEMAS_ATTRGROUP_HAS_REFS...
d c X'0010'
* An attribute group definition.
*
* xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
* must be kept similar
d xmlSchemaAttributeGroupPtr...
d s * based(######typedef######)
d xmlSchemaAttributeGroup...
d ds based(xmlSchemaAttributeGroupPtr)
d align qualified
d type like(xmlSchemaTypeType) Kind of type
d next like(xmlSchemaAttributePtr) Next attribute
d name * const xmlChar *
d id * const xmlChar *
d ref * const xmlChar *
d refNs * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
*
d attributes like(xmlSchemaAttributePtr) Deprecated; not used
d node like(xmlNodePtr)
d flags like(xmlCint)
d attributeWildcard...
d like(xmlSchemaWildcardPtr)
d refPrefix * const xmlChar *
d refItem like(xmlSchemaAttributeGroupPtr) Deprecated; not used
d targetNamespace...
d * const xmlChar *
d attrUses * void *
* xmlSchemaTypeLink:
* Used to build a list of types (e.g. member types of
* simpleType with variety "union").
d xmlSchemaTypeLinkPtr...
d s * based(######typedef######)
d xmlSchemaTypeLink...
d ds based(xmlSchemaTypeLinkPtr)
d align qualified
d next like(xmlSchemaTypeLinkPtr) Next type link
d type like(xmlSchemaTypePtr) Linked type
* xmlSchemaFacetLink:
* Used to build a list of facets.
d xmlSchemaFacetLinkPtr...
d s * based(######typedef######)
d xmlSchemaFacetLink...
d ds based(xmlSchemaFacetLinkPtr)
d align qualified
d next like(xmlSchemaFacetLinkPtr) Next facet link
d facet like(xmlSchemaFacetPtr) Linked facet
* XML_SCHEMAS_TYPE_MIXED:
*
* the element content type is mixed
d XML_SCHEMAS_TYPE_MIXED...
d c X'00000001'
* XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
*
* the simple or complex type has a derivation method of "extension".
d XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION...
d c X'00000002'
* XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
*
* the simple or complex type has a derivation method of "restriction".
d XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION...
d c X'00000004'
* XML_SCHEMAS_TYPE_GLOBAL:
*
* the type is global
d XML_SCHEMAS_TYPE_GLOBAL...
d c X'00000008'
* XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
*
* the complexType owns an attribute wildcard, i.e.
* it can be freed by the complexType
d XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD... Obsolete.
d c X'00000010'
* 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.
d XML_SCHEMAS_TYPE_VARIETY_ABSENT...
d c X'00000020'
* XML_SCHEMAS_TYPE_VARIETY_LIST:
*
* the simpleType has a variety of "list".
d XML_SCHEMAS_TYPE_VARIETY_LIST...
d c X'00000040'
* XML_SCHEMAS_TYPE_VARIETY_UNION:
*
* the simpleType has a variety of "union".
d XML_SCHEMAS_TYPE_VARIETY_UNION...
d c X'00000080'
* XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
*
* the simpleType has a variety of "union".
d XML_SCHEMAS_TYPE_VARIETY_ATOMIC...
d c X'00000100'
* XML_SCHEMAS_TYPE_FINAL_EXTENSION:
*
* the complexType has a final of "extension".
d XML_SCHEMAS_TYPE_FINAL_EXTENSION...
d c X'00000200'
* XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
*
* the simpleType/complexType has a final of "restriction".
d XML_SCHEMAS_TYPE_FINAL_RESTRICTION...
d c X'00000400'
* XML_SCHEMAS_TYPE_FINAL_LIST:
*
* the simpleType has a final of "list".
d XML_SCHEMAS_TYPE_FINAL_LIST...
d c X'00000800'
* XML_SCHEMAS_TYPE_FINAL_UNION:
*
* the simpleType has a final of "union".
d XML_SCHEMAS_TYPE_FINAL_UNION...
d c X'00001000'
* XML_SCHEMAS_TYPE_FINAL_DEFAULT:
*
* the simpleType has a final of "default".
d XML_SCHEMAS_TYPE_FINAL_DEFAULT...
d c X'00002000'
* XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
*
* Marks the item as a builtin primitive.
d XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE...
d c X'00004000'
* XML_SCHEMAS_TYPE_MARKED:
*
* Marks the item as marked; used for circular checks.
d XML_SCHEMAS_TYPE_MARKED...
d c X'00010000'
* XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
*
* the complexType did not specify 'block' so use the default of the
* <schema> item.
d XML_SCHEMAS_TYPE_BLOCK_DEFAULT...
d c X'00020000'
* XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
*
* the complexType has a 'block' of "extension".
d XML_SCHEMAS_TYPE_BLOCK_EXTENSION...
d c X'00040000'
* XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
*
* the complexType has a 'block' of "restriction".
d XML_SCHEMAS_TYPE_BLOCK_RESTRICTION...
d c X'00080000'
* XML_SCHEMAS_TYPE_ABSTRACT:
*
* the simple/complexType is abstract.
d XML_SCHEMAS_TYPE_ABSTRACT...
d c X'00100000'
* XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
*
* indicates if the facets need a computed value
d XML_SCHEMAS_TYPE_FACETSNEEDVALUE...
d c X'00200000'
* XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
*
* indicates that the type was typefixed
d XML_SCHEMAS_TYPE_INTERNAL_RESOLVED...
d c X'00400000'
* XML_SCHEMAS_TYPE_INTERNAL_INVALID:
*
* indicates that the type is invalid
d XML_SCHEMAS_TYPE_INTERNAL_INVALID...
d c X'00800000'
* XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
*
* a whitespace-facet value of "preserve"
d XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE...
d c X'01000000'
* XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
*
* a whitespace-facet value of "replace"
d XML_SCHEMAS_TYPE_WHITESPACE_REPLACE...
d c X'02000000'
* XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
*
* a whitespace-facet value of "collapse"
d XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE...
d c X'04000000'
* XML_SCHEMAS_TYPE_HAS_FACETS:
*
* has facets
d XML_SCHEMAS_TYPE_HAS_FACETS...
d c X'08000000'
* XML_SCHEMAS_TYPE_NORMVALUENEEDED:
*
* indicates if the facets (pattern) need a normalized value
d XML_SCHEMAS_TYPE_NORMVALUENEEDED...
d c X'10000000'
* XML_SCHEMAS_TYPE_FIXUP_1:
*
* First stage of fixup was done.
d XML_SCHEMAS_TYPE_FIXUP_1...
d c X'20000000'
* XML_SCHEMAS_TYPE_REDEFINED:
*
* The type was redefined.
d XML_SCHEMAS_TYPE_REDEFINED...
d c X'40000000'
/if defined(DISABLED)
* XML_SCHEMAS_TYPE_REDEFINING:
*
* The type redefines an other type.
d XML_SCHEMAS_TYPE_REDEFINING...
d c X'80000000'
/endif
* _xmlSchemaType:
*
* Schemas type definition.
d xmlSchemaType...
d ds based(xmlSchemaTypePtr)
d align qualified
d type like(xmlSchemaTypeType) Kind of type
d next like(xmlSchemaTypePtr) Next type
d name * const xmlChar *
d id * const xmlChar *
d ref * const xmlChar *
d refNs * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
d subtypes like(xmlSchemaTypePtr)
d attributes like(xmlSchemaAttributePtr) Deprecated; not used
d node like(xmlNodePtr)
d minOccurs like(xmlCint) Deprecated; not used
d maxOccurs like(xmlCint) Deprecated; not used
*
d flags like(xmlCint)
d contentType like(xmlSchemaContentType)
d base * const xmlChar *
d baseNs * const xmlChar *
d baseType like(xmlSchemaTypePtr) Base type component
d facets like(xmlSchemaFacetPtr) Local facets
d redef like(xmlSchemaTypePtr) Deprecated; not used
d recurse like(xmlCint) Obsolete
d attributeUses like(xmlSchemaAttributeLinkPtr) Deprecated; not used
d attributeWildcard...
d like(xmlSchemaWildcardPtr)
d builtInType like(xmlCint) Built-in types type
d memberTypes like(xmlSchemaTypeLinkPtr) Union member-types
d facetSet like(xmlSchemaFacetLinkPtr) All facets
d refPrefix * const xmlChar *
d contentTypeDef...
d like(xmlSchemaTypePtr)
d contModel like(xmlRegexpPtr) Content model autom.
d targetNamespace...
d * const xmlChar *
d attrUses * void *
* xmlSchemaElement:
* An element definition.
*
* xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
* structures must be kept similar
* XML_SCHEMAS_ELEM_NILLABLE:
*
* the element is nillable
d XML_SCHEMAS_ELEM_NILLABLE...
d c X'00000001'
* XML_SCHEMAS_ELEM_GLOBAL:
*
* the element is global
d XML_SCHEMAS_ELEM_GLOBAL...
d c X'00000002'
* XML_SCHEMAS_ELEM_DEFAULT:
*
* the element has a default value
d XML_SCHEMAS_ELEM_DEFAULT...
d c X'00000004'
* XML_SCHEMAS_ELEM_FIXED:
*
* the element has a fixed value
d XML_SCHEMAS_ELEM_FIXED...
d c X'00000008'
* XML_SCHEMAS_ELEM_ABSTRACT:
*
* the element is abstract
d XML_SCHEMAS_ELEM_ABSTRACT...
d c X'00000010'
* XML_SCHEMAS_ELEM_TOPLEVEL:
*
* the element is top level
* obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
d XML_SCHEMAS_ELEM_TOPLEVEL...
d c X'00000020'
* XML_SCHEMAS_ELEM_REF:
*
* the element is a reference to a type
d XML_SCHEMAS_ELEM_REF...
d c X'00000040'
* XML_SCHEMAS_ELEM_NSDEFAULT:
*
* allow elements in no namespace
* Obsolete, not used anymore.
d XML_SCHEMAS_ELEM_NSDEFAULT...
d c X'00000080'
* XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
*
* this is set when "type", "ref", "substitutionGroup"
* references have been resolved.
d XML_SCHEMAS_ELEM_INTERNAL_RESOLVED...
d c X'00000100'
* XML_SCHEMAS_ELEM_CIRCULAR:
*
* a helper flag for the search of circular references.
d XML_SCHEMAS_ELEM_CIRCULAR...
d c X'00000200'
* XML_SCHEMAS_ELEM_BLOCK_ABSENT:
*
* the "block" attribute is absent
d XML_SCHEMAS_ELEM_BLOCK_ABSENT...
d c X'00000400'
* XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
*
* disallowed substitutions are absent
d XML_SCHEMAS_ELEM_BLOCK_EXTENSION...
d c X'00000800'
* XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
*
* disallowed substitutions: "restriction"
d XML_SCHEMAS_ELEM_BLOCK_RESTRICTION...
d c X'00001000'
* XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
*
* disallowed substitutions: "substituion"
d XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION...
d c X'00002000'
* XML_SCHEMAS_ELEM_FINAL_ABSENT:
*
* substitution group exclusions are absent
d XML_SCHEMAS_ELEM_FINAL_ABSENT...
d c X'00004000'
* XML_SCHEMAS_ELEM_FINAL_EXTENSION:
*
* substitution group exclusions: "extension"
d XML_SCHEMAS_ELEM_FINAL_EXTENSION...
d c X'00008000'
* XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
*
* substitution group exclusions: "restriction"
d XML_SCHEMAS_ELEM_FINAL_RESTRICTION...
d c X'00010000'
* XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
*
* the declaration is a substitution group head
d XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD...
d c X'00020000'
* XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
*
* this is set when the elem decl has been checked against
* all constraints
d XML_SCHEMAS_ELEM_INTERNAL_CHECKED...
d c X'00040000'
d xmlSchemaElementPtr...
d s * based(######typedef######)
d xmlSchemaElement...
d ds based(xmlSchemaElementPtr)
d align qualified
d type like(xmlSchemaTypeType) Kind of type
d next like(xmlSchemaElementPtr) Not used ?
d name * const xmlChar *
d id * const xmlChar *
d ref * const xmlChar *
d refNs * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
d subtypes like(xmlSchemaTypePtr)
d attributes like(xmlSchemaAttributePtr) Deprecated; not used
d node like(xmlNodePtr)
d minOccurs like(xmlCint) Deprecated; not used
d maxOccurs like(xmlCint) Deprecated; not used
*
d flags like(xmlCint)
d targetNamespace...
d * const xmlChar *
d namedType * const xmlChar *
d namedTypeNs * const xmlChar *
d substGroup * const xmlChar *
d substGroupNs * const xmlChar *
d scope * const xmlChar *
d value * const xmlChar *
d refDecl like(xmlSchemaElementPtr)
d contModel like(xmlRegexpPtr)
d contentType like(xmlSchemaContentType)
d refPrefix * const xmlChar *
d devVal like(xmlSchemaValPtr) Comp val constraint
d idcs * void *
* XML_SCHEMAS_FACET_UNKNOWN:
*
* unknown facet handling
d XML_SCHEMAS_FACET_UNKNOWN...
d c 0
* XML_SCHEMAS_FACET_PRESERVE:
*
* preserve the type of the facet
d XML_SCHEMAS_FACET_PRESERVE...
d c 1
* XML_SCHEMAS_FACET_REPLACE:
*
* replace the type of the facet
d XML_SCHEMAS_FACET_REPLACE...
d c 2
* XML_SCHEMAS_FACET_COLLAPSE:
*
* collapse the types of the facet
d XML_SCHEMAS_FACET_COLLAPSE...
d c 3
* A facet definition.
d xmlSchemaFacet...
d ds based(xmlSchemaFacetPtr)
d align qualified
d type like(xmlSchemaTypeType) Kind of type
d next like(xmlSchemaFacetPtr) Next type in seq.
d value * const xmlChar *
d id * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
d node like(xmlNodePtr)
d fixed like(xmlCint) _FACET_PRESERVE, etc
d whitespace like(xmlCint)
d val like(xmlSchemaValPtr) Compiled value
d regexp like(xmlRegexpPtr) Regexp for patterns
* A notation definition.
d xmlSchemaNotationPtr...
d s * based(######typedef######)
d xmlSchemaNotation...
d ds based(xmlSchemaNotationPtr)
d align qualified
d type like(xmlSchemaTypeType) Kind of type
d name * const xmlChar *
d annot like(xmlSchemaAnnotPtr)
d identifier * const xmlChar *
d targetNamespace...
d * const xmlChar *
* TODO: Actually all those flags used for the schema should sit
* on the schema parser context, since they are used only
* during parsing an XML schema document, and not available
* on the component level as per spec.
* XML_SCHEMAS_QUALIF_ELEM:
*
* Reflects elementFormDefault == qualified in
* an XML schema document.
d XML_SCHEMAS_QUALIF_ELEM...
d c X'00000001'
* XML_SCHEMAS_QUALIF_ATTR:
*
* Reflects attributeFormDefault == qualified in
* an XML schema document.
d XML_SCHEMAS_QUALIF_ATTR...
d c X'00000002'
* XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
*
* the schema has "extension" in the set of finalDefault.
d XML_SCHEMAS_FINAL_DEFAULT_EXTENSION...
d c X'00000004'
* XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
*
* the schema has "restriction" in the set of finalDefault.
d XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION...
d c X'00000008'
* XML_SCHEMAS_FINAL_DEFAULT_LIST:
*
* the cshema has "list" in the set of finalDefault.
d XML_SCHEMAS_FINAL_DEFAULT_LIST...
d c X'00000010'
* XML_SCHEMAS_FINAL_DEFAULT_UNION:
*
* the schema has "union" in the set of finalDefault.
d XML_SCHEMAS_FINAL_DEFAULT_UNION...
d c X'00000020'
* XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
*
* the schema has "extension" in the set of blockDefault.
d XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION...
d c X'00000040'
* XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
*
* the schema has "restriction" in the set of blockDefault.
d XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION...
d c X'00000080'
* XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
*
* the schema has "substitution" in the set of blockDefault.
d XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION...
d c X'00000100'
* XML_SCHEMAS_INCLUDING_CONVERT_NS:
*
* the schema is currently including an other schema with
* no target namespace.
d XML_SCHEMAS_INCLUDING_CONVERT_NS...
d c X'00000200'
* _xmlSchema:
*
* A Schemas definition
d xmlSchema ds based(xmlSchemaPtr)
d align qualified
d name * const xmlChar *
d targetNamespace...
d * const xmlChar *
d version * const xmlChar *
d id * const xmlChar *
d doc like(xmlDocPtr)
d annot like(xmlSchemaAnnotPtr)
d flags like(xmlCint)
*
d typeDecl like(xmlHashTablePtr)
d attrDecl like(xmlHashTablePtr)
d attrGrpDecl like(xmlHashTablePtr)
d elemDecl like(xmlHashTablePtr)
d notaDecl like(xmlHashTablePtr)
d schemasImports...
d like(xmlHashTablePtr)
*
d #private * void *
d groupDecl like(xmlHashTablePtr)
d dict like(xmlDictPtr)
d includes * void *
d preserve like(xmlCint) Do not free doc ?
d counter like(xmlCint) For name uniqueness
d idcDef like(xmlHashTablePtr) All id-constr. defs
d volatiles * void *
d xmlSchemaFreeType...
d pr extproc('xmlSchemaFreeType')
d type value like(xmlSchemaTypePtr)
d xmlSchemaFreeWildcard...
d pr extproc('xmlSchemaFreeWildcard')
d wildcard value like(xmlSchemaWildcardPtr)
/endif LIBXML_SCHEMAS_ENBLD
/endif SCHEMA_INTERNALS_H__