1 * Summary: internal interfaces for XML Schemas
2 * Description: internal interfaces for the XML Schemas handling
3 * and schema validity checking
4 * The Schemas development is a Work In Progress.
5 * Some of those interfaces are not garanteed to be API or
8 * Copy: See Copyright for the status of this software.
10 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
12 /if not defined(XML_SCHEMA_INTERNALS_H__)
13 /define XML_SCHEMA_INTERNALS_H__
15 /include "libxmlrpg/xmlversion"
17 /if defined(LIBXML_SCHEMAS_ENABLED)
19 /include "libxmlrpg/xmlTypesC"
20 /include "libxmlrpg/xmlregexp"
21 /include "libxmlrpg/hash"
22 /include "libxmlrpg/dict"
25 d s based(######typedef######)
27 d XML_SCHEMAS_UNKNOWN...
29 d XML_SCHEMAS_STRING...
31 d XML_SCHEMAS_NORMSTRING...
33 d XML_SCHEMAS_DECIMAL...
39 d XML_SCHEMAS_GMONTH...
41 d XML_SCHEMAS_GMONTHDAY...
43 d XML_SCHEMAS_GYEAR...
45 d XML_SCHEMAS_GYEARMONTH...
49 d XML_SCHEMAS_DATETIME...
51 d XML_SCHEMAS_DURATION...
53 d XML_SCHEMAS_FLOAT...
55 d XML_SCHEMAS_DOUBLE...
57 d XML_SCHEMAS_BOOLEAN...
59 d XML_SCHEMAS_TOKEN...
61 d XML_SCHEMAS_LANGUAGE...
63 d XML_SCHEMAS_NMTOKEN...
65 d XML_SCHEMAS_NMTOKENS...
69 d XML_SCHEMAS_QNAME...
71 d XML_SCHEMAS_NCNAME...
75 d XML_SCHEMAS_IDREF...
77 d XML_SCHEMAS_IDREFS...
79 d XML_SCHEMAS_ENTITY...
81 d XML_SCHEMAS_ENTITIES...
83 d XML_SCHEMAS_NOTATION...
85 d XML_SCHEMAS_ANYURI...
87 d XML_SCHEMAS_INTEGER...
89 d XML_SCHEMAS_NPINTEGER...
91 d XML_SCHEMAS_NINTEGER...
93 d XML_SCHEMAS_NNINTEGER...
95 d XML_SCHEMAS_PINTEGER...
101 d XML_SCHEMAS_LONG...
103 d XML_SCHEMAS_ULONG...
105 d XML_SCHEMAS_SHORT...
107 d XML_SCHEMAS_USHORT...
109 d XML_SCHEMAS_BYTE...
111 d XML_SCHEMAS_UBYTE...
113 d XML_SCHEMAS_HEXBINARY...
115 d XML_SCHEMAS_BASE64BINARY...
117 d XML_SCHEMAS_ANYTYPE...
119 d XML_SCHEMAS_ANYSIMPLETYPE...
122 * XML Schemas defines multiple type of types.
124 d xmlSchemaTypeType...
125 d s based(######typedef######)
127 d XML_SCHEMA_TYPE_BASIC... A builtin datatype
129 d XML_SCHEMA_TYPE_ANY...
131 d XML_SCHEMA_TYPE_FACET...
133 d XML_SCHEMA_TYPE_SIMPLE...
135 d XML_SCHEMA_TYPE_COMPLEX...
137 d XML_SCHEMA_TYPE_SEQUENCE...
139 d XML_SCHEMA_TYPE_CHOICE...
141 d XML_SCHEMA_TYPE_ALL...
143 d XML_SCHEMA_TYPE_SIMPLE_CONTENT...
145 d XML_SCHEMA_TYPE_COMPLEX_CONTENT...
147 d XML_SCHEMA_TYPE_UR...
149 d XML_SCHEMA_TYPE_RESTRICTION...
151 d XML_SCHEMA_TYPE_EXTENSION...
153 d XML_SCHEMA_TYPE_ELEMENT...
155 d XML_SCHEMA_TYPE_ATTRIBUTE...
157 d XML_SCHEMA_TYPE_ATTRIBUTEGROUP...
159 d XML_SCHEMA_TYPE_GROUP...
161 d XML_SCHEMA_TYPE_NOTATION...
163 d XML_SCHEMA_TYPE_LIST...
165 d XML_SCHEMA_TYPE_UNION...
167 d XML_SCHEMA_TYPE_ANY_ATTRIBUTE...
169 d XML_SCHEMA_TYPE_IDC_UNIQUE...
171 d XML_SCHEMA_TYPE_IDC_KEY...
173 d XML_SCHEMA_TYPE_IDC_KEYREF...
175 d XML_SCHEMA_TYPE_PARTICLE...
177 d XML_SCHEMA_TYPE_ATTRIBUTE_USE...
179 d XML_SCHEMA_FACET_MININCLUSIVE...
181 d XML_SCHEMA_FACET_MINEXCLUSIVE...
183 d XML_SCHEMA_FACET_MAXINCLUSIVE...
185 d XML_SCHEMA_FACET_MAXEXCLUSIVE...
187 d XML_SCHEMA_FACET_TOTALDIGITS...
189 d XML_SCHEMA_FACET_FRACTIONDIGITS...
191 d XML_SCHEMA_FACET_PATTERN...
193 d XML_SCHEMA_FACET_ENUMERATION...
195 d XML_SCHEMA_FACET_WHITESPACE...
197 d XML_SCHEMA_FACET_LENGTH...
199 d XML_SCHEMA_FACET_MAXLENGTH...
201 d XML_SCHEMA_FACET_MINLENGTH...
203 d XML_SCHEMA_EXTRA_QNAMEREF...
205 d XML_SCHEMA_EXTRA_ATTR_USE_PROHIB...
208 d xmlSchemaContentType...
209 d s based(######typedef######)
211 d XML_SCHEMA_CONTENT_UNKNOWN...
213 d XML_SCHEMA_CONTENT_EMPTY...
215 d XML_SCHEMA_CONTENT_ELEMENTS...
217 d XML_SCHEMA_CONTENT_MIXED...
219 d XML_SCHEMA_CONTENT_SIMPLE...
221 d XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS... Obsolete
223 d XML_SCHEMA_CONTENT_BASIC...
225 d XML_SCHEMA_CONTENT_ANY...
229 d s * based(######typedef######)
231 d xmlSchemaTypePtr...
232 d s * based(######typedef######)
234 d xmlSchemaFacetPtr...
235 d s * based(######typedef######)
239 d xmlSchemaAnnotPtr...
240 d s * based(######typedef######)
242 d xmlSchemaAnnot ds based(xmlSchemaAnnotPtr)
244 d next like(xmlSchemaAnnotPtr)
245 d content like(xmlNodePtr) The annotation
247 * XML_SCHEMAS_ANYATTR_SKIP:
249 * Skip unknown attribute from validation
250 * Obsolete, not used anymore.
252 d XML_SCHEMAS_ANYATTR_SKIP...
255 * XML_SCHEMAS_ANYATTR_LAX:
257 * Ignore validation non definition on attributes
258 * Obsolete, not used anymore.
260 d XML_SCHEMAS_ANYATTR_LAX...
263 * XML_SCHEMAS_ANYATTR_STRICT:
265 * Apply strict validation rules on attributes
266 * Obsolete, not used anymore.
268 d XML_SCHEMAS_ANYATTR_STRICT...
271 * XML_SCHEMAS_ANY_SKIP:
273 * Skip unknown attribute from validation
275 d XML_SCHEMAS_ANY_SKIP...
278 * XML_SCHEMAS_ANY_LAX:
281 * Validate if type found, don't worry if not found
283 d XML_SCHEMAS_ANY_LAX...
286 * XML_SCHEMAS_ANY_STRICT:
289 * Apply strict validation rules
291 d XML_SCHEMAS_ANY_STRICT...
294 * XML_SCHEMAS_ATTR_USE_PROHIBITED:
297 * The attribute is prohibited.
299 d XML_SCHEMAS_ATTR_USE_PROHIBITED...
302 * XML_SCHEMAS_ATTR_USE_REQUIRED:
304 * The attribute is required.
306 d XML_SCHEMAS_ATTR_USE_REQUIRED...
309 * XML_SCHEMAS_ATTR_USE_OPTIONAL:
311 * The attribute is optional.
313 d XML_SCHEMAS_ATTR_USE_OPTIONAL...
316 * XML_SCHEMAS_ATTR_GLOBAL:
318 * allow elements in no namespace
320 d XML_SCHEMAS_ATTR_GLOBAL...
323 * XML_SCHEMAS_ATTR_NSDEFAULT:
325 * allow elements in no namespace
327 d XML_SCHEMAS_ATTR_NSDEFAULT...
330 * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
332 * this is set when the "type" and "ref" references
333 * have been resolved.
335 d XML_SCHEMAS_ATTR_INTERNAL_RESOLVED...
338 * XML_SCHEMAS_ATTR_FIXED:
340 * the attribute has a fixed value
342 d XML_SCHEMAS_ATTR_FIXED...
345 * xmlSchemaAttribute:
346 * An attribute definition.
348 d xmlSchemaAttributePtr...
349 d s * based(######typedef######)
351 d xmlSchemaAttribute...
352 d ds based(xmlSchemaAttributePtr)
354 d type like(xmlSchemaTypeType)
355 d next like(xmlSchemaAttributePtr) Next attribute
356 d name * const xmlChar *
357 d id * const xmlChar *
358 d ref * const xmlChar *
359 d refNs * const xmlChar *
360 d typeName * const xmlChar *
361 d typeNs * const xmlChar *
362 d annot like(xmlSchemaAnnotPtr)
364 d base like(xmlSchemaTypePtr) Deprecated
365 d occurs like(xmlCint) Deprecated
366 d defValue * const xmlChar *
367 d subtypes like(xmlSchemaTypePtr) The type definition
368 d node like(xmlNodePtr)
369 d targetNamespace... const xmlChar *
371 d flags like(xmlCint)
372 d refPrefix * const xmlChar *
373 d defVal like(xmlSchemaValPtr) Compiled constraint
374 d refDecl like(xmlSchemaAttributePtr) Deprecated
376 * xmlSchemaAttributeLink:
377 * Used to build a list of attribute uses on complexType definitions.
378 * WARNING: Deprecated; not used.
380 d xmlSchemaAttributeLinkPtr...
381 d s * based(######typedef######)
383 d xmlSchemaAttributeLink...
384 d ds based(xmlSchemaAttributeLinkPtr)
386 d next like(xmlSchemaAttributeLinkPtr) The next link
387 d attr like(xmlSchemaAttributePtr) The linked attribute
389 * XML_SCHEMAS_WILDCARD_COMPLETE:
391 * If the wildcard is complete.
393 d XML_SCHEMAS_WILDCARD_COMPLETE...
396 * xmlSchemaCharValueLink:
397 * Used to build a list of namespaces on wildcards.
399 d xmlSchemaWildcardNsPtr...
400 d s * based(######typedef######)
402 d xmlSchemaWildcardNs...
403 d ds based(xmlSchemaWildcardNsPtr)
405 d next like(xmlSchemaWildcardNsPtr) The next link
406 d value * const xmlChar *
411 d xmlSchemaWildcardPtr...
412 d s * based(######typedef######)
414 d xmlSchemaWildcard...
415 d ds based(xmlSchemaWildcardPtr)
417 d type like(xmlSchemaTypeType) Kind of type
418 d id * const xmlChar *
419 d annot like(xmlSchemaAnnotPtr)
420 d node like(xmlNodePtr)
421 d minOccurs like(xmlCint) Deprecated; not used
422 d maxOccurs like(xmlCint) Deprecated; not used
425 d any like(xmlCint) Ns constraint ##any?
426 d nsSet like(xmlSchemaWildcardNsPtr) Allowed namspce list
427 d negNsSet like(xmlSchemaWildcardNsPtr) Negated namespace
428 d flags like(xmlCint) Deprecated; not used
430 * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
432 * The attribute wildcard has been already builded.
434 d XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED...
437 * XML_SCHEMAS_ATTRGROUP_GLOBAL:
439 * The attribute wildcard has been already builded.
441 d XML_SCHEMAS_ATTRGROUP_GLOBAL...
444 * XML_SCHEMAS_ATTRGROUP_MARKED:
446 * Marks the attr group as marked; used for circular checks.
448 d XML_SCHEMAS_ATTRGROUP_MARKED...
451 * XML_SCHEMAS_ATTRGROUP_REDEFINED:
453 * The attr group was redefined.
455 d XML_SCHEMAS_ATTRGROUP_REDEFINED...
458 * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
460 * Whether this attr. group contains attr. group references.
462 d XML_SCHEMAS_ATTRGROUP_HAS_REFS...
465 * An attribute group definition.
467 * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
468 * must be kept similar
470 d xmlSchemaAttributeGroupPtr...
471 d s * based(######typedef######)
473 d xmlSchemaAttributeGroup...
474 d ds based(xmlSchemaAttributeGroupPtr)
476 d type like(xmlSchemaTypeType) Kind of type
477 d next like(xmlSchemaAttributePtr) Next attribute
478 d name * const xmlChar *
479 d id * const xmlChar *
480 d ref * const xmlChar *
481 d refNs * const xmlChar *
482 d annot like(xmlSchemaAnnotPtr)
484 d attributes like(xmlSchemaAttributePtr) Deprecated; not used
485 d node like(xmlNodePtr)
486 d flags like(xmlCint)
487 d attributeWildcard...
488 d like(xmlSchemaWildcardPtr)
489 d refPrefix * const xmlChar *
490 d refItem like(xmlSchemaAttributeGroupPtr) Deprecated; not used
496 * Used to build a list of types (e.g. member types of
497 * simpleType with variety "union").
499 d xmlSchemaTypeLinkPtr...
500 d s * based(######typedef######)
502 d xmlSchemaTypeLink...
503 d ds based(xmlSchemaTypeLinkPtr)
505 d next like(xmlSchemaTypeLinkPtr) Next type link
506 d type like(xmlSchemaTypePtr) Linked type
508 * xmlSchemaFacetLink:
509 * Used to build a list of facets.
511 d xmlSchemaFacetLinkPtr...
512 d s * based(######typedef######)
514 d xmlSchemaFacetLink...
515 d ds based(xmlSchemaFacetLinkPtr)
517 d next like(xmlSchemaFacetLinkPtr) Next facet link
518 d facet like(xmlSchemaFacetPtr) Linked facet
520 * XML_SCHEMAS_TYPE_MIXED:
522 * the element content type is mixed
524 d XML_SCHEMAS_TYPE_MIXED...
527 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
529 * the simple or complex type has a derivation method of "extension".
531 d XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION...
534 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
536 * the simple or complex type has a derivation method of "restriction".
538 d XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION...
541 * XML_SCHEMAS_TYPE_GLOBAL:
545 d XML_SCHEMAS_TYPE_GLOBAL...
548 * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
550 * the complexType owns an attribute wildcard, i.e.
551 * it can be freed by the complexType
553 d XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD... Obsolete.
556 * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
558 * the simpleType has a variety of "absent".
559 * TODO: Actually not necessary :-/, since if
560 * none of the variety flags occur then it's
561 * automatically absent.
563 d XML_SCHEMAS_TYPE_VARIETY_ABSENT...
566 * XML_SCHEMAS_TYPE_VARIETY_LIST:
568 * the simpleType has a variety of "list".
570 d XML_SCHEMAS_TYPE_VARIETY_LIST...
573 * XML_SCHEMAS_TYPE_VARIETY_UNION:
575 * the simpleType has a variety of "union".
577 d XML_SCHEMAS_TYPE_VARIETY_UNION...
580 * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
582 * the simpleType has a variety of "union".
584 d XML_SCHEMAS_TYPE_VARIETY_ATOMIC...
587 * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
589 * the complexType has a final of "extension".
591 d XML_SCHEMAS_TYPE_FINAL_EXTENSION...
594 * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
596 * the simpleType/complexType has a final of "restriction".
598 d XML_SCHEMAS_TYPE_FINAL_RESTRICTION...
601 * XML_SCHEMAS_TYPE_FINAL_LIST:
603 * the simpleType has a final of "list".
605 d XML_SCHEMAS_TYPE_FINAL_LIST...
608 * XML_SCHEMAS_TYPE_FINAL_UNION:
610 * the simpleType has a final of "union".
612 d XML_SCHEMAS_TYPE_FINAL_UNION...
615 * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
617 * the simpleType has a final of "default".
619 d XML_SCHEMAS_TYPE_FINAL_DEFAULT...
622 * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
624 * Marks the item as a builtin primitive.
626 d XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE...
629 * XML_SCHEMAS_TYPE_MARKED:
631 * Marks the item as marked; used for circular checks.
633 d XML_SCHEMAS_TYPE_MARKED...
636 * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
638 * the complexType did not specify 'block' so use the default of the
641 d XML_SCHEMAS_TYPE_BLOCK_DEFAULT...
644 * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
646 * the complexType has a 'block' of "extension".
648 d XML_SCHEMAS_TYPE_BLOCK_EXTENSION...
651 * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
653 * the complexType has a 'block' of "restriction".
655 d XML_SCHEMAS_TYPE_BLOCK_RESTRICTION...
658 * XML_SCHEMAS_TYPE_ABSTRACT:
660 * the simple/complexType is abstract.
662 d XML_SCHEMAS_TYPE_ABSTRACT...
665 * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
667 * indicates if the facets need a computed value
669 d XML_SCHEMAS_TYPE_FACETSNEEDVALUE...
672 * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
674 * indicates that the type was typefixed
676 d XML_SCHEMAS_TYPE_INTERNAL_RESOLVED...
679 * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
681 * indicates that the type is invalid
683 d XML_SCHEMAS_TYPE_INTERNAL_INVALID...
686 * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
688 * a whitespace-facet value of "preserve"
690 d XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE...
693 * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
695 * a whitespace-facet value of "replace"
697 d XML_SCHEMAS_TYPE_WHITESPACE_REPLACE...
700 * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
702 * a whitespace-facet value of "collapse"
704 d XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE...
707 * XML_SCHEMAS_TYPE_HAS_FACETS:
711 d XML_SCHEMAS_TYPE_HAS_FACETS...
714 * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
716 * indicates if the facets (pattern) need a normalized value
718 d XML_SCHEMAS_TYPE_NORMVALUENEEDED...
721 * XML_SCHEMAS_TYPE_FIXUP_1:
723 * First stage of fixup was done.
725 d XML_SCHEMAS_TYPE_FIXUP_1...
728 * XML_SCHEMAS_TYPE_REDEFINED:
730 * The type was redefined.
732 d XML_SCHEMAS_TYPE_REDEFINED...
735 /if defined(DISABLED)
736 * XML_SCHEMAS_TYPE_REDEFINING:
738 * The type redefines an other type.
740 d XML_SCHEMAS_TYPE_REDEFINING...
746 * Schemas type definition.
749 d ds based(xmlSchemaTypePtr)
751 d type like(xmlSchemaTypeType) Kind of type
752 d next like(xmlSchemaTypePtr) Next type
753 d name * const xmlChar *
754 d id * const xmlChar *
755 d ref * const xmlChar *
756 d refNs * const xmlChar *
757 d annot like(xmlSchemaAnnotPtr)
758 d subtypes like(xmlSchemaTypePtr)
759 d attributes like(xmlSchemaAttributePtr) Deprecated; not used
760 d node like(xmlNodePtr)
761 d minOccurs like(xmlCint) Deprecated; not used
762 d maxOccurs like(xmlCint) Deprecated; not used
764 d flags like(xmlCint)
765 d contentType like(xmlSchemaContentType)
766 d base * const xmlChar *
767 d baseNs * const xmlChar *
768 d baseType like(xmlSchemaTypePtr) Base type component
769 d facets like(xmlSchemaFacetPtr) Local facets
770 d redef like(xmlSchemaTypePtr) Deprecated; not used
771 d recurse like(xmlCint) Obsolete
772 d attributeUses like(xmlSchemaAttributeLinkPtr) Deprecated; not used
773 d attributeWildcard...
774 d like(xmlSchemaWildcardPtr)
775 d builtInType like(xmlCint) Built-in types type
776 d memberTypes like(xmlSchemaTypeLinkPtr) Union member-types
777 d facetSet like(xmlSchemaFacetLinkPtr) All facets
778 d refPrefix * const xmlChar *
780 d like(xmlSchemaTypePtr)
781 d contModel like(xmlRegexpPtr) Content model autom.
787 * An element definition.
789 * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
790 * structures must be kept similar
792 * XML_SCHEMAS_ELEM_NILLABLE:
794 * the element is nillable
796 d XML_SCHEMAS_ELEM_NILLABLE...
799 * XML_SCHEMAS_ELEM_GLOBAL:
801 * the element is global
803 d XML_SCHEMAS_ELEM_GLOBAL...
806 * XML_SCHEMAS_ELEM_DEFAULT:
808 * the element has a default value
810 d XML_SCHEMAS_ELEM_DEFAULT...
813 * XML_SCHEMAS_ELEM_FIXED:
815 * the element has a fixed value
817 d XML_SCHEMAS_ELEM_FIXED...
820 * XML_SCHEMAS_ELEM_ABSTRACT:
822 * the element is abstract
824 d XML_SCHEMAS_ELEM_ABSTRACT...
827 * XML_SCHEMAS_ELEM_TOPLEVEL:
829 * the element is top level
830 * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
832 d XML_SCHEMAS_ELEM_TOPLEVEL...
835 * XML_SCHEMAS_ELEM_REF:
837 * the element is a reference to a type
839 d XML_SCHEMAS_ELEM_REF...
842 * XML_SCHEMAS_ELEM_NSDEFAULT:
844 * allow elements in no namespace
845 * Obsolete, not used anymore.
847 d XML_SCHEMAS_ELEM_NSDEFAULT...
850 * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
852 * this is set when "type", "ref", "substitutionGroup"
853 * references have been resolved.
855 d XML_SCHEMAS_ELEM_INTERNAL_RESOLVED...
858 * XML_SCHEMAS_ELEM_CIRCULAR:
860 * a helper flag for the search of circular references.
862 d XML_SCHEMAS_ELEM_CIRCULAR...
865 * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
867 * the "block" attribute is absent
869 d XML_SCHEMAS_ELEM_BLOCK_ABSENT...
872 * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
874 * disallowed substitutions are absent
876 d XML_SCHEMAS_ELEM_BLOCK_EXTENSION...
879 * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
881 * disallowed substitutions: "restriction"
883 d XML_SCHEMAS_ELEM_BLOCK_RESTRICTION...
886 * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
888 * disallowed substitutions: "substituion"
890 d XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION...
893 * XML_SCHEMAS_ELEM_FINAL_ABSENT:
895 * substitution group exclusions are absent
897 d XML_SCHEMAS_ELEM_FINAL_ABSENT...
900 * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
902 * substitution group exclusions: "extension"
904 d XML_SCHEMAS_ELEM_FINAL_EXTENSION...
907 * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
909 * substitution group exclusions: "restriction"
911 d XML_SCHEMAS_ELEM_FINAL_RESTRICTION...
914 * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
916 * the declaration is a substitution group head
918 d XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD...
921 * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
923 * this is set when the elem decl has been checked against
926 d XML_SCHEMAS_ELEM_INTERNAL_CHECKED...
929 d xmlSchemaElementPtr...
930 d s * based(######typedef######)
932 d xmlSchemaElement...
933 d ds based(xmlSchemaElementPtr)
935 d type like(xmlSchemaTypeType) Kind of type
936 d next like(xmlSchemaElementPtr) Not used ?
937 d name * const xmlChar *
938 d id * const xmlChar *
939 d ref * const xmlChar *
940 d refNs * const xmlChar *
941 d annot like(xmlSchemaAnnotPtr)
942 d subtypes like(xmlSchemaTypePtr)
943 d attributes like(xmlSchemaAttributePtr) Deprecated; not used
944 d node like(xmlNodePtr)
945 d minOccurs like(xmlCint) Deprecated; not used
946 d maxOccurs like(xmlCint) Deprecated; not used
948 d flags like(xmlCint)
951 d namedType * const xmlChar *
952 d namedTypeNs * const xmlChar *
953 d substGroup * const xmlChar *
954 d substGroupNs * const xmlChar *
955 d scope * const xmlChar *
956 d value * const xmlChar *
957 d refDecl like(xmlSchemaElementPtr)
958 d contModel like(xmlRegexpPtr)
959 d contentType like(xmlSchemaContentType)
960 d refPrefix * const xmlChar *
961 d devVal like(xmlSchemaValPtr) Comp val constraint
964 * XML_SCHEMAS_FACET_UNKNOWN:
966 * unknown facet handling
968 d XML_SCHEMAS_FACET_UNKNOWN...
971 * XML_SCHEMAS_FACET_PRESERVE:
973 * preserve the type of the facet
975 d XML_SCHEMAS_FACET_PRESERVE...
978 * XML_SCHEMAS_FACET_REPLACE:
980 * replace the type of the facet
982 d XML_SCHEMAS_FACET_REPLACE...
985 * XML_SCHEMAS_FACET_COLLAPSE:
987 * collapse the types of the facet
989 d XML_SCHEMAS_FACET_COLLAPSE...
992 * A facet definition.
995 d ds based(xmlSchemaFacetPtr)
997 d type like(xmlSchemaTypeType) Kind of type
998 d next like(xmlSchemaFacetPtr) Next type in seq.
999 d value * const xmlChar *
1000 d id * const xmlChar *
1001 d annot like(xmlSchemaAnnotPtr)
1002 d node like(xmlNodePtr)
1003 d fixed like(xmlCint) _FACET_PRESERVE, etc
1004 d whitespace like(xmlCint)
1005 d val like(xmlSchemaValPtr) Compiled value
1006 d regexp like(xmlRegexpPtr) Regexp for patterns
1008 * A notation definition.
1010 d xmlSchemaNotationPtr...
1011 d s * based(######typedef######)
1013 d xmlSchemaNotation...
1014 d ds based(xmlSchemaNotationPtr)
1016 d type like(xmlSchemaTypeType) Kind of type
1017 d name * const xmlChar *
1018 d annot like(xmlSchemaAnnotPtr)
1019 d identifier * const xmlChar *
1020 d targetNamespace...
1023 * TODO: Actually all those flags used for the schema should sit
1024 * on the schema parser context, since they are used only
1025 * during parsing an XML schema document, and not available
1026 * on the component level as per spec.
1028 * XML_SCHEMAS_QUALIF_ELEM:
1030 * Reflects elementFormDefault == qualified in
1031 * an XML schema document.
1033 d XML_SCHEMAS_QUALIF_ELEM...
1036 * XML_SCHEMAS_QUALIF_ATTR:
1038 * Reflects attributeFormDefault == qualified in
1039 * an XML schema document.
1041 d XML_SCHEMAS_QUALIF_ATTR...
1044 * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
1046 * the schema has "extension" in the set of finalDefault.
1048 d XML_SCHEMAS_FINAL_DEFAULT_EXTENSION...
1051 * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
1053 * the schema has "restriction" in the set of finalDefault.
1055 d XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION...
1058 * XML_SCHEMAS_FINAL_DEFAULT_LIST:
1060 * the cshema has "list" in the set of finalDefault.
1062 d XML_SCHEMAS_FINAL_DEFAULT_LIST...
1065 * XML_SCHEMAS_FINAL_DEFAULT_UNION:
1067 * the schema has "union" in the set of finalDefault.
1069 d XML_SCHEMAS_FINAL_DEFAULT_UNION...
1072 * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
1074 * the schema has "extension" in the set of blockDefault.
1076 d XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION...
1079 * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
1081 * the schema has "restriction" in the set of blockDefault.
1083 d XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION...
1086 * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
1088 * the schema has "substitution" in the set of blockDefault.
1090 d XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION...
1093 * XML_SCHEMAS_INCLUDING_CONVERT_NS:
1095 * the schema is currently including an other schema with
1096 * no target namespace.
1098 d XML_SCHEMAS_INCLUDING_CONVERT_NS...
1103 * A Schemas definition
1105 d xmlSchema ds based(xmlSchemaPtr)
1107 d name * const xmlChar *
1108 d targetNamespace...
1110 d version * const xmlChar *
1111 d id * const xmlChar *
1112 d doc like(xmlDocPtr)
1113 d annot like(xmlSchemaAnnotPtr)
1114 d flags like(xmlCint)
1116 d typeDecl like(xmlHashTablePtr)
1117 d attrDecl like(xmlHashTablePtr)
1118 d attrGrpDecl like(xmlHashTablePtr)
1119 d elemDecl like(xmlHashTablePtr)
1120 d notaDecl like(xmlHashTablePtr)
1122 d like(xmlHashTablePtr)
1125 d groupDecl like(xmlHashTablePtr)
1126 d dict like(xmlDictPtr)
1128 d preserve like(xmlCint) Do not free doc ?
1129 d counter like(xmlCint) For name uniqueness
1130 d idcDef like(xmlHashTablePtr) All id-constr. defs
1131 d volatiles * void *
1133 d xmlSchemaFreeType...
1134 d pr extproc('xmlSchemaFreeType')
1135 d type value like(xmlSchemaTypePtr)
1137 d xmlSchemaFreeWildcard...
1138 d pr extproc('xmlSchemaFreeWildcard')
1139 d wildcard value like(xmlSchemaWildcardPtr)
1141 /endif LIBXML_SCHEMAS_ENBLD
1142 /endif SCHEMA_INTERNALS_H__