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)
18 /include "libxmlrpg/xmlregexp"
19 /include "libxmlrpg/hash"
20 /include "libxmlrpg/dict"
23 d s 10i 0 based(######typedef######) enum
24 d XML_SCHEMAS_UNKNOWN...
26 d XML_SCHEMAS_STRING...
28 d XML_SCHEMAS_NORMSTRING...
30 d XML_SCHEMAS_DECIMAL...
36 d XML_SCHEMAS_GMONTH...
38 d XML_SCHEMAS_GMONTHDAY...
40 d XML_SCHEMAS_GYEAR...
42 d XML_SCHEMAS_GYEARMONTH...
46 d XML_SCHEMAS_DATETIME...
48 d XML_SCHEMAS_DURATION...
50 d XML_SCHEMAS_FLOAT...
52 d XML_SCHEMAS_DOUBLE...
54 d XML_SCHEMAS_BOOLEAN...
56 d XML_SCHEMAS_TOKEN...
58 d XML_SCHEMAS_LANGUAGE...
60 d XML_SCHEMAS_NMTOKEN...
62 d XML_SCHEMAS_NMTOKENS...
66 d XML_SCHEMAS_QNAME...
68 d XML_SCHEMAS_NCNAME...
72 d XML_SCHEMAS_IDREF...
74 d XML_SCHEMAS_IDREFS...
76 d XML_SCHEMAS_ENTITY...
78 d XML_SCHEMAS_ENTITIES...
80 d XML_SCHEMAS_NOTATION...
82 d XML_SCHEMAS_ANYURI...
84 d XML_SCHEMAS_INTEGER...
86 d XML_SCHEMAS_NPINTEGER...
88 d XML_SCHEMAS_NINTEGER...
90 d XML_SCHEMAS_NNINTEGER...
92 d XML_SCHEMAS_PINTEGER...
100 d XML_SCHEMAS_ULONG...
102 d XML_SCHEMAS_SHORT...
104 d XML_SCHEMAS_USHORT...
106 d XML_SCHEMAS_BYTE...
108 d XML_SCHEMAS_UBYTE...
110 d XML_SCHEMAS_HEXBINARY...
112 d XML_SCHEMAS_BASE64BINARY...
114 d XML_SCHEMAS_ANYTYPE...
116 d XML_SCHEMAS_ANYSIMPLETYPE...
119 * XML Schemas defines multiple type of types.
121 d xmlSchemaTypeType...
122 d s 10i 0 based(######typedef######) enum
123 d XML_SCHEMA_TYPE_BASIC... A builtin datatype
125 d XML_SCHEMA_TYPE_ANY...
127 d XML_SCHEMA_TYPE_FACET...
129 d XML_SCHEMA_TYPE_SIMPLE...
131 d XML_SCHEMA_TYPE_COMPLEX...
133 d XML_SCHEMA_TYPE_SEQUENCE...
135 d XML_SCHEMA_TYPE_CHOICE...
137 d XML_SCHEMA_TYPE_ALL...
139 d XML_SCHEMA_TYPE_SIMPLE_CONTENT...
141 d XML_SCHEMA_TYPE_COMPLEX_CONTENT...
143 d XML_SCHEMA_TYPE_UR...
145 d XML_SCHEMA_TYPE_RESTRICTION...
147 d XML_SCHEMA_TYPE_EXTENSION...
149 d XML_SCHEMA_TYPE_ELEMENT...
151 d XML_SCHEMA_TYPE_ATTRIBUTE...
153 d XML_SCHEMA_TYPE_ATTRIBUTEGROUP...
155 d XML_SCHEMA_TYPE_GROUP...
157 d XML_SCHEMA_TYPE_NOTATION...
159 d XML_SCHEMA_TYPE_LIST...
161 d XML_SCHEMA_TYPE_UNION...
163 d XML_SCHEMA_TYPE_ANY_ATTRIBUTE...
165 d XML_SCHEMA_TYPE_IDC_UNIQUE...
167 d XML_SCHEMA_TYPE_IDC_KEY...
169 d XML_SCHEMA_TYPE_IDC_KEYREF...
171 d XML_SCHEMA_TYPE_PARTICLE...
173 d XML_SCHEMA_TYPE_ATTRIBUTE_USE...
175 d XML_SCHEMA_FACET_MININCLUSIVE...
177 d XML_SCHEMA_FACET_MINEXCLUSIVE...
179 d XML_SCHEMA_FACET_MAXINCLUSIVE...
181 d XML_SCHEMA_FACET_MAXEXCLUSIVE...
183 d XML_SCHEMA_FACET_TOTALDIGITS...
185 d XML_SCHEMA_FACET_FRACTIONDIGITS...
187 d XML_SCHEMA_FACET_PATTERN...
189 d XML_SCHEMA_FACET_ENUMERATION...
191 d XML_SCHEMA_FACET_WHITESPACE...
193 d XML_SCHEMA_FACET_LENGTH...
195 d XML_SCHEMA_FACET_MAXLENGTH...
197 d XML_SCHEMA_FACET_MINLENGTH...
199 d XML_SCHEMA_EXTRA_QNAMEREF...
201 d XML_SCHEMA_EXTRA_ATTR_USE_PROHIB...
204 d xmlSchemaContentType...
205 d s 10i 0 based(######typedef######) enum
206 d XML_SCHEMA_CONTENT_UNKNOWN...
208 d XML_SCHEMA_CONTENT_EMPTY...
210 d XML_SCHEMA_CONTENT_ELEMENTS...
212 d XML_SCHEMA_CONTENT_MIXED...
214 d XML_SCHEMA_CONTENT_SIMPLE...
216 d XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS... Obsolete
218 d XML_SCHEMA_CONTENT_BASIC...
220 d XML_SCHEMA_CONTENT_ANY...
224 d s * based(######typedef######)
226 d xmlSchemaTypePtr...
227 d s * based(######typedef######)
229 d xmlSchemaFacetPtr...
230 d s * based(######typedef######)
234 d xmlSchemaAnnotPtr...
235 d s * based(######typedef######)
237 d xmlSchemaAnnot ds based(xmlSchemaAnnotPtr)
239 d next like(xmlSchemaAnnotPtr)
240 d content like(xmlNodePtr) The annotation
242 * XML_SCHEMAS_ANYATTR_SKIP:
244 * Skip unknown attribute from validation
245 * Obsolete, not used anymore.
247 d XML_SCHEMAS_ANYATTR_SKIP...
250 * XML_SCHEMAS_ANYATTR_LAX:
252 * Ignore validation non definition on attributes
253 * Obsolete, not used anymore.
255 d XML_SCHEMAS_ANYATTR_LAX...
258 * XML_SCHEMAS_ANYATTR_STRICT:
260 * Apply strict validation rules on attributes
261 * Obsolete, not used anymore.
263 d XML_SCHEMAS_ANYATTR_STRICT...
266 * XML_SCHEMAS_ANY_SKIP:
268 * Skip unknown attribute from validation
270 d XML_SCHEMAS_ANY_SKIP...
273 * XML_SCHEMAS_ANY_LAX:
276 * Validate if type found, don't worry if not found
278 d XML_SCHEMAS_ANY_LAX...
281 * XML_SCHEMAS_ANY_STRICT:
284 * Apply strict validation rules
286 d XML_SCHEMAS_ANY_STRICT...
289 * XML_SCHEMAS_ATTR_USE_PROHIBITED:
292 * The attribute is prohibited.
294 d XML_SCHEMAS_ATTR_USE_PROHIBITED...
297 * XML_SCHEMAS_ATTR_USE_REQUIRED:
299 * The attribute is required.
301 d XML_SCHEMAS_ATTR_USE_REQUIRED...
304 * XML_SCHEMAS_ATTR_USE_OPTIONAL:
306 * The attribute is optional.
308 d XML_SCHEMAS_ATTR_USE_OPTIONAL...
311 * XML_SCHEMAS_ATTR_GLOBAL:
313 * allow elements in no namespace
315 d XML_SCHEMAS_ATTR_GLOBAL...
318 * XML_SCHEMAS_ATTR_NSDEFAULT:
320 * allow elements in no namespace
322 d XML_SCHEMAS_ATTR_NSDEFAULT...
325 * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
327 * this is set when the "type" and "ref" references
328 * have been resolved.
330 d XML_SCHEMAS_ATTR_INTERNAL_RESOLVED...
333 * XML_SCHEMAS_ATTR_FIXED:
335 * the attribute has a fixed value
337 d XML_SCHEMAS_ATTR_FIXED...
340 * xmlSchemaAttribute:
341 * An attribute definition.
343 d xmlSchemaAttributePtr...
344 d s * based(######typedef######)
346 d xmlSchemaAttribute...
347 d ds based(xmlSchemaAttributePtr)
349 d type like(xmlSchemaTypeType)
350 d next like(xmlSchemaAttributePtr) Next attribute
351 d name * const xmlChar *
352 d id * const xmlChar *
353 d ref * const xmlChar *
354 d refNs * const xmlChar *
355 d typeName * const xmlChar *
356 d typeNs * const xmlChar *
357 d annot like(xmlSchemaAnnotPtr)
359 d base like(xmlSchemaTypePtr) Deprecated
360 d occurs 10i 0 Deprecated
361 d defValue * const xmlChar *
362 d subtypes like(xmlSchemaTypePtr) The type definition
363 d node like(xmlNodePtr)
364 d targetNamespace... const xmlChar *
367 d refPrefix * const xmlChar *
368 d defVal like(xmlSchemaValPtr) Compiled constraint
369 d refDecl like(xmlSchemaAttributePtr) Deprecated
371 * xmlSchemaAttributeLink:
372 * Used to build a list of attribute uses on complexType definitions.
373 * WARNING: Deprecated; not used.
375 d xmlSchemaAttributeLinkPtr...
376 d s * based(######typedef######)
378 d xmlSchemaAttributeLink...
379 d ds based(xmlSchemaAttributeLinkPtr)
381 d next like(xmlSchemaAttributeLinkPtr) The next link
382 d attr like(xmlSchemaAttributePtr) The linked attribute
384 * XML_SCHEMAS_WILDCARD_COMPLETE:
386 * If the wildcard is complete.
388 d XML_SCHEMAS_WILDCARD_COMPLETE...
391 * xmlSchemaCharValueLink:
392 * Used to build a list of namespaces on wildcards.
394 d xmlSchemaWildcardNsPtr...
395 d s * based(######typedef######)
397 d xmlSchemaWildcardNs...
398 d ds based(xmlSchemaWildcardNsPtr)
400 d next like(xmlSchemaWildcardNsPtr) The next link
401 d value * const xmlChar *
406 d xmlSchemaWildcardPtr...
407 d s * based(######typedef######)
409 d xmlSchemaWildcard...
410 d ds based(xmlSchemaWildcardPtr)
412 d type like(xmlSchemaTypeType) Kind of type
413 d id * const xmlChar *
414 d annot like(xmlSchemaAnnotPtr)
415 d node like(xmlNodePtr)
416 d minOccurs 10i 0 Deprecated; not used
417 d maxOccurs 10i 0 Deprecated; not used
420 d any 10i 0 Ns constraint ##any?
421 d nsSet like(xmlSchemaWildcardNsPtr) Allowed namspce list
422 d negNsSet like(xmlSchemaWildcardNsPtr) Negated namespace
423 d flags 10i 0 Deprecated; not used
425 * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
427 * The attribute wildcard has been already builded.
429 d XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED...
432 * XML_SCHEMAS_ATTRGROUP_GLOBAL:
434 * The attribute wildcard has been already builded.
436 d XML_SCHEMAS_ATTRGROUP_GLOBAL...
439 * XML_SCHEMAS_ATTRGROUP_MARKED:
441 * Marks the attr group as marked; used for circular checks.
443 d XML_SCHEMAS_ATTRGROUP_MARKED...
446 * XML_SCHEMAS_ATTRGROUP_REDEFINED:
448 * The attr group was redefined.
450 d XML_SCHEMAS_ATTRGROUP_REDEFINED...
453 * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
455 * Whether this attr. group contains attr. group references.
457 d XML_SCHEMAS_ATTRGROUP_HAS_REFS...
460 * An attribute group definition.
462 * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
463 * must be kept similar
465 d xmlSchemaAttributeGroupPtr...
466 d s * based(######typedef######)
468 d xmlSchemaAttributeGroup...
469 d ds based(xmlSchemaAttributeGroupPtr)
471 d type like(xmlSchemaTypeType) Kind of type
472 d next like(xmlSchemaAttributePtr) Next attribute
473 d name * const xmlChar *
474 d id * const xmlChar *
475 d ref * const xmlChar *
476 d refNs * const xmlChar *
477 d annot like(xmlSchemaAnnotPtr)
479 d attributes like(xmlSchemaAttributePtr) Deprecated; not used
480 d node like(xmlNodePtr)
482 d attributeWildcard...
483 d like(xmlSchemaWildcardPtr)
484 d refPrefix * const xmlChar *
485 d refItem like(xmlSchemaAttributeGroupPtr) Deprecated; not used
491 * Used to build a list of types (e.g. member types of
492 * simpleType with variety "union").
494 d xmlSchemaTypeLinkPtr...
495 d s * based(######typedef######)
497 d xmlSchemaTypeLink...
498 d ds based(xmlSchemaTypeLinkPtr)
500 d next like(xmlSchemaTypeLinkPtr) Next type link
501 d type like(xmlSchemaTypePtr) Linked type
503 * xmlSchemaFacetLink:
504 * Used to build a list of facets.
506 d xmlSchemaFacetLinkPtr...
507 d s * based(######typedef######)
509 d xmlSchemaFacetLink...
510 d ds based(xmlSchemaFacetLinkPtr)
512 d next like(xmlSchemaFacetLinkPtr) Next facet link
513 d facet like(xmlSchemaFacetPtr) Linked facet
515 * XML_SCHEMAS_TYPE_MIXED:
517 * the element content type is mixed
519 d XML_SCHEMAS_TYPE_MIXED...
522 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
524 * the simple or complex type has a derivation method of "extension".
526 d XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION...
529 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
531 * the simple or complex type has a derivation method of "restriction".
533 d XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION...
536 * XML_SCHEMAS_TYPE_GLOBAL:
540 d XML_SCHEMAS_TYPE_GLOBAL...
543 * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
545 * the complexType owns an attribute wildcard, i.e.
546 * it can be freed by the complexType
548 d XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD... Obsolete.
551 * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
553 * the simpleType has a variety of "absent".
554 * TODO: Actually not necessary :-/, since if
555 * none of the variety flags occur then it's
556 * automatically absent.
558 d XML_SCHEMAS_TYPE_VARIETY_ABSENT...
561 * XML_SCHEMAS_TYPE_VARIETY_LIST:
563 * the simpleType has a variety of "list".
565 d XML_SCHEMAS_TYPE_VARIETY_LIST...
568 * XML_SCHEMAS_TYPE_VARIETY_UNION:
570 * the simpleType has a variety of "union".
572 d XML_SCHEMAS_TYPE_VARIETY_UNION...
575 * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
577 * the simpleType has a variety of "union".
579 d XML_SCHEMAS_TYPE_VARIETY_ATOMIC...
582 * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
584 * the complexType has a final of "extension".
586 d XML_SCHEMAS_TYPE_FINAL_EXTENSION...
589 * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
591 * the simpleType/complexType has a final of "restriction".
593 d XML_SCHEMAS_TYPE_FINAL_RESTRICTION...
596 * XML_SCHEMAS_TYPE_FINAL_LIST:
598 * the simpleType has a final of "list".
600 d XML_SCHEMAS_TYPE_FINAL_LIST...
603 * XML_SCHEMAS_TYPE_FINAL_UNION:
605 * the simpleType has a final of "union".
607 d XML_SCHEMAS_TYPE_FINAL_UNION...
610 * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
612 * the simpleType has a final of "default".
614 d XML_SCHEMAS_TYPE_FINAL_DEFAULT...
617 * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
619 * Marks the item as a builtin primitive.
621 d XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE...
624 * XML_SCHEMAS_TYPE_MARKED:
626 * Marks the item as marked; used for circular checks.
628 d XML_SCHEMAS_TYPE_MARKED...
631 * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
633 * the complexType did not specify 'block' so use the default of the
636 d XML_SCHEMAS_TYPE_BLOCK_DEFAULT...
639 * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
641 * the complexType has a 'block' of "extension".
643 d XML_SCHEMAS_TYPE_BLOCK_EXTENSION...
646 * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
648 * the complexType has a 'block' of "restriction".
650 d XML_SCHEMAS_TYPE_BLOCK_RESTRICTION...
653 * XML_SCHEMAS_TYPE_ABSTRACT:
655 * the simple/complexType is abstract.
657 d XML_SCHEMAS_TYPE_ABSTRACT...
660 * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
662 * indicates if the facets need a computed value
664 d XML_SCHEMAS_TYPE_FACETSNEEDVALUE...
667 * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
669 * indicates that the type was typefixed
671 d XML_SCHEMAS_TYPE_INTERNAL_RESOLVED...
674 * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
676 * indicates that the type is invalid
678 d XML_SCHEMAS_TYPE_INTERNAL_INVALID...
681 * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
683 * a whitespace-facet value of "preserve"
685 d XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE...
688 * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
690 * a whitespace-facet value of "replace"
692 d XML_SCHEMAS_TYPE_WHITESPACE_REPLACE...
695 * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
697 * a whitespace-facet value of "collapse"
699 d XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE...
702 * XML_SCHEMAS_TYPE_HAS_FACETS:
706 d XML_SCHEMAS_TYPE_HAS_FACETS...
709 * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
711 * indicates if the facets (pattern) need a normalized value
713 d XML_SCHEMAS_TYPE_NORMVALUENEEDED...
716 * XML_SCHEMAS_TYPE_FIXUP_1:
718 * First stage of fixup was done.
720 d XML_SCHEMAS_TYPE_FIXUP_1...
723 * XML_SCHEMAS_TYPE_REDEFINED:
725 * The type was redefined.
727 d XML_SCHEMAS_TYPE_REDEFINED...
730 /if defined(DISABLED)
731 * XML_SCHEMAS_TYPE_REDEFINING:
733 * The type redefines an other type.
735 d XML_SCHEMAS_TYPE_REDEFINING...
741 * Schemas type definition.
744 d ds based(xmlSchemaTypePtr)
746 d type like(xmlSchemaTypeType) Kind of type
747 d next like(xmlSchemaTypePtr) Next type
748 d name * const xmlChar *
749 d id * const xmlChar *
750 d ref * const xmlChar *
751 d refNs * const xmlChar *
752 d annot like(xmlSchemaAnnotPtr)
753 d subtypes like(xmlSchemaTypePtr)
754 d attributes like(xmlSchemaAttributePtr) Deprecated; not used
755 d node like(xmlNodePtr)
756 d minOccurs 10i 0 Deprecated; not used
757 d maxOccurs 10i 0 Deprecated; not used
760 d contentType like(xmlSchemaContentType)
761 d base * const xmlChar *
762 d baseNs * const xmlChar *
763 d baseType like(xmlSchemaTypePtr) Base type component
764 d facets like(xmlSchemaFacetPtr) Local facets
765 d redef like(xmlSchemaTypePtr) Deprecated; not used
766 d recurse 10i 0 Obsolete
767 d attributeUses like(xmlSchemaAttributeLinkPtr) Deprecated; not used
768 d attributeWildcard...
769 d like(xmlSchemaWildcardPtr)
770 d builtInType 10i 0 Built-in types type
771 d memberTypes like(xmlSchemaTypeLinkPtr) Union member-types
772 d facetSet like(xmlSchemaFacetLinkPtr) All facets
773 d refPrefix * const xmlChar *
775 d like(xmlSchemaTypePtr)
776 d contModel like(xmlRegexpPtr) Content model autom.
782 * An element definition.
784 * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
785 * structures must be kept similar
787 * XML_SCHEMAS_ELEM_NILLABLE:
789 * the element is nillable
791 d XML_SCHEMAS_ELEM_NILLABLE...
794 * XML_SCHEMAS_ELEM_GLOBAL:
796 * the element is global
798 d XML_SCHEMAS_ELEM_GLOBAL...
801 * XML_SCHEMAS_ELEM_DEFAULT:
803 * the element has a default value
805 d XML_SCHEMAS_ELEM_DEFAULT...
808 * XML_SCHEMAS_ELEM_FIXED:
810 * the element has a fixed value
812 d XML_SCHEMAS_ELEM_FIXED...
815 * XML_SCHEMAS_ELEM_ABSTRACT:
817 * the element is abstract
819 d XML_SCHEMAS_ELEM_ABSTRACT...
822 * XML_SCHEMAS_ELEM_TOPLEVEL:
824 * the element is top level
825 * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
827 d XML_SCHEMAS_ELEM_TOPLEVEL...
830 * XML_SCHEMAS_ELEM_REF:
832 * the element is a reference to a type
834 d XML_SCHEMAS_ELEM_REF...
837 * XML_SCHEMAS_ELEM_NSDEFAULT:
839 * allow elements in no namespace
840 * Obsolete, not used anymore.
842 d XML_SCHEMAS_ELEM_NSDEFAULT...
845 * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
847 * this is set when "type", "ref", "substitutionGroup"
848 * references have been resolved.
850 d XML_SCHEMAS_ELEM_INTERNAL_RESOLVED...
853 * XML_SCHEMAS_ELEM_CIRCULAR:
855 * a helper flag for the search of circular references.
857 d XML_SCHEMAS_ELEM_CIRCULAR...
860 * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
862 * the "block" attribute is absent
864 d XML_SCHEMAS_ELEM_BLOCK_ABSENT...
867 * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
869 * disallowed substitutions are absent
871 d XML_SCHEMAS_ELEM_BLOCK_EXTENSION...
874 * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
876 * disallowed substitutions: "restriction"
878 d XML_SCHEMAS_ELEM_BLOCK_RESTRICTION...
881 * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
883 * disallowed substitutions: "substituion"
885 d XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION...
888 * XML_SCHEMAS_ELEM_FINAL_ABSENT:
890 * substitution group exclusions are absent
892 d XML_SCHEMAS_ELEM_FINAL_ABSENT...
895 * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
897 * substitution group exclusions: "extension"
899 d XML_SCHEMAS_ELEM_FINAL_EXTENSION...
902 * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
904 * substitution group exclusions: "restriction"
906 d XML_SCHEMAS_ELEM_FINAL_RESTRICTION...
909 * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
911 * the declaration is a substitution group head
913 d XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD...
916 * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
918 * this is set when the elem decl has been checked against
921 d XML_SCHEMAS_ELEM_INTERNAL_CHECKED...
924 d xmlSchemaElementPtr...
925 d s * based(######typedef######)
927 d xmlSchemaElement...
928 d ds based(xmlSchemaElementPtr)
930 d type like(xmlSchemaTypeType) Kind of type
931 d next like(xmlSchemaElementPtr) Not used ?
932 d name * const xmlChar *
933 d id * const xmlChar *
934 d ref * const xmlChar *
935 d refNs * const xmlChar *
936 d annot like(xmlSchemaAnnotPtr)
937 d subtypes like(xmlSchemaTypePtr)
938 d attributes like(xmlSchemaAttributePtr) Deprecated; not used
939 d node like(xmlNodePtr)
940 d minOccurs 10i 0 Deprecated; not used
941 d maxOccurs 10i 0 Deprecated; not used
946 d namedType * const xmlChar *
947 d namedTypeNs * const xmlChar *
948 d substGroup * const xmlChar *
949 d substGroupNs * const xmlChar *
950 d scope * const xmlChar *
951 d value * const xmlChar *
952 d refDecl like(xmlSchemaElementPtr)
953 d contModel like(xmlRegexpPtr)
954 d contentType like(xmlSchemaContentType)
955 d refPrefix * const xmlChar *
956 d devVal like(xmlSchemaValPtr) Comp val constraint
959 * XML_SCHEMAS_FACET_UNKNOWN:
961 * unknown facet handling
963 d XML_SCHEMAS_FACET_UNKNOWN...
966 * XML_SCHEMAS_FACET_PRESERVE:
968 * preserve the type of the facet
970 d XML_SCHEMAS_FACET_PRESERVE...
973 * XML_SCHEMAS_FACET_REPLACE:
975 * replace the type of the facet
977 d XML_SCHEMAS_FACET_REPLACE...
980 * XML_SCHEMAS_FACET_COLLAPSE:
982 * collapse the types of the facet
984 d XML_SCHEMAS_FACET_COLLAPSE...
987 * A facet definition.
990 d ds based(xmlSchemaFacetPtr)
992 d type like(xmlSchemaTypeType) Kind of type
993 d next like(xmlSchemaFacetPtr) Next type in seq.
994 d value * const xmlChar *
995 d id * const xmlChar *
996 d annot like(xmlSchemaAnnotPtr)
997 d node like(xmlNodePtr)
998 d fixed 10i 0 _FACET_PRESERVE, etc
1000 d val like(xmlSchemaValPtr) Compiled value
1001 d regexp like(xmlRegexpPtr) Regexp for patterns
1003 * A notation definition.
1005 d xmlSchemaNotationPtr...
1006 d s * based(######typedef######)
1008 d xmlSchemaNotation...
1009 d ds based(xmlSchemaNotationPtr)
1011 d type like(xmlSchemaTypeType) Kind of type
1012 d name * const xmlChar *
1013 d annot like(xmlSchemaAnnotPtr)
1014 d identifier * const xmlChar *
1015 d targetNamespace...
1018 * TODO: Actually all those flags used for the schema should sit
1019 * on the schema parser context, since they are used only
1020 * during parsing an XML schema document, and not available
1021 * on the component level as per spec.
1023 * XML_SCHEMAS_QUALIF_ELEM:
1025 * Reflects elementFormDefault == qualified in
1026 * an XML schema document.
1028 d XML_SCHEMAS_QUALIF_ELEM...
1031 * XML_SCHEMAS_QUALIF_ATTR:
1033 * Reflects attributeFormDefault == qualified in
1034 * an XML schema document.
1036 d XML_SCHEMAS_QUALIF_ATTR...
1039 * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
1041 * the schema has "extension" in the set of finalDefault.
1043 d XML_SCHEMAS_FINAL_DEFAULT_EXTENSION...
1046 * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
1048 * the schema has "restriction" in the set of finalDefault.
1050 d XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION...
1053 * XML_SCHEMAS_FINAL_DEFAULT_LIST:
1055 * the cshema has "list" in the set of finalDefault.
1057 d XML_SCHEMAS_FINAL_DEFAULT_LIST...
1060 * XML_SCHEMAS_FINAL_DEFAULT_UNION:
1062 * the schema has "union" in the set of finalDefault.
1064 d XML_SCHEMAS_FINAL_DEFAULT_UNION...
1067 * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
1069 * the schema has "extension" in the set of blockDefault.
1071 d XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION...
1074 * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
1076 * the schema has "restriction" in the set of blockDefault.
1078 d XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION...
1081 * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
1083 * the schema has "substitution" in the set of blockDefault.
1085 d XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION...
1088 * XML_SCHEMAS_INCLUDING_CONVERT_NS:
1090 * the schema is currently including an other schema with
1091 * no target namespace.
1093 d XML_SCHEMAS_INCLUDING_CONVERT_NS...
1098 * A Schemas definition
1100 d xmlSchema ds based(xmlSchemaPtr)
1102 d name * const xmlChar *
1103 d targetNamespace...
1105 d version * const xmlChar *
1106 d id * const xmlChar *
1107 d doc like(xmlDocPtr)
1108 d annot like(xmlSchemaAnnotPtr)
1111 d typeDecl like(xmlHashTablePtr)
1112 d attrDecl like(xmlHashTablePtr)
1113 d attrGrpDecl like(xmlHashTablePtr)
1114 d elemDecl like(xmlHashTablePtr)
1115 d notaDecl like(xmlHashTablePtr)
1117 d like(xmlHashTablePtr)
1120 d groupDecl like(xmlHashTablePtr)
1121 d dict like(xmlDictPtr)
1123 d preserve 10i 0 Do not free doc ?
1124 d counter 10i 0 For name uniqueness
1125 d idcDef like(xmlHashTablePtr) All id-constr. defs
1126 d volatiles * void *
1128 d xmlSchemaFreeType...
1129 d pr extproc('xmlSchemaFreeType')
1130 d type value like(xmlSchemaTypePtr)
1132 d xmlSchemaFreeWildcard...
1133 d pr extproc('xmlSchemaFreeWildcard')
1134 d wildcard value like(xmlSchemaWildcardPtr)
1136 /endif LIBXML_SCHEMAS_ENBLD
1137 /endif SCHEMA_INTERNALS_H__