* 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 guaranteed 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__