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