| Gnome XML Library Reference Manual |
|---|
schemasInternals —
enum xmlSchemaTypeType; enum xmlSchemaContentType; struct xmlSchemaVal; typedef xmlSchemaValPtr; struct xmlSchemaType; typedef xmlSchemaTypePtr; struct xmlSchemaFacet; typedef xmlSchemaFacetPtr; struct xmlSchemaAnnot; typedef xmlSchemaAnnotPtr; #define XML_SCHEMAS_ANYATTR_SKIP #define XML_SCHEMAS_ANYATTR_LAX #define XML_SCHEMAS_ANYATTR_STRICT struct xmlSchemaAttribute; typedef xmlSchemaAttributePtr; struct xmlSchemaAttributeGroup; typedef xmlSchemaAttributeGroupPtr; #define XML_SCHEMAS_TYPE_MIXED #define XML_SCHEMAS_ELEM_NILLABLE #define XML_SCHEMAS_ELEM_GLOBAL #define XML_SCHEMAS_ELEM_DEFAULT #define XML_SCHEMAS_ELEM_FIXED #define XML_SCHEMAS_ELEM_ABSTRACT #define XML_SCHEMAS_ELEM_TOPLEVEL #define XML_SCHEMAS_ELEM_REF struct xmlSchemaElement; typedef xmlSchemaElementPtr; #define XML_SCHEMAS_FACET_UNKNOWN #define XML_SCHEMAS_FACET_PRESERVE #define XML_SCHEMAS_FACET_REPLACE #define XML_SCHEMAS_FACET_COLLAPSE struct xmlSchemaNotation; typedef xmlSchemaNotationPtr; #define XML_SCHEMAS_QUALIF_ELEM #define XML_SCHEMAS_QUALIF_ATTR struct xmlSchema; void xmlSchemaFreeType (xmlSchemaTypePtr type);
typedef enum {
XML_SCHEMA_TYPE_BASIC = 1,
XML_SCHEMA_TYPE_ANY,
XML_SCHEMA_TYPE_FACET,
XML_SCHEMA_TYPE_SIMPLE,
XML_SCHEMA_TYPE_COMPLEX,
XML_SCHEMA_TYPE_SEQUENCE,
XML_SCHEMA_TYPE_CHOICE,
XML_SCHEMA_TYPE_ALL,
XML_SCHEMA_TYPE_SIMPLE_CONTENT,
XML_SCHEMA_TYPE_COMPLEX_CONTENT,
XML_SCHEMA_TYPE_UR,
XML_SCHEMA_TYPE_RESTRICTION,
XML_SCHEMA_TYPE_EXTENSION,
XML_SCHEMA_TYPE_ELEMENT,
XML_SCHEMA_TYPE_ATTRIBUTE,
XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
XML_SCHEMA_TYPE_GROUP,
XML_SCHEMA_TYPE_NOTATION,
XML_SCHEMA_TYPE_LIST,
XML_SCHEMA_TYPE_UNION,
XML_SCHEMA_FACET_MININCLUSIVE = 1000,
XML_SCHEMA_FACET_MINEXCLUSIVE,
XML_SCHEMA_FACET_MAXINCLUSIVE,
XML_SCHEMA_FACET_MAXEXCLUSIVE,
XML_SCHEMA_FACET_TOTALDIGITS,
XML_SCHEMA_FACET_FRACTIONDIGITS,
XML_SCHEMA_FACET_PATTERN,
XML_SCHEMA_FACET_ENUMERATION,
XML_SCHEMA_FACET_WHITESPACE,
XML_SCHEMA_FACET_LENGTH,
XML_SCHEMA_FACET_MAXLENGTH,
XML_SCHEMA_FACET_MINLENGTH
} xmlSchemaTypeType;
typedef enum {
XML_SCHEMA_CONTENT_UNKNOWN = 0,
XML_SCHEMA_CONTENT_EMPTY = 1,
XML_SCHEMA_CONTENT_ELEMENTS,
XML_SCHEMA_CONTENT_MIXED,
XML_SCHEMA_CONTENT_SIMPLE,
XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS,
XML_SCHEMA_CONTENT_BASIC,
XML_SCHEMA_CONTENT_ANY
} xmlSchemaContentType;
struct xmlSchemaType {
xmlSchemaTypeType type; /* The kind of type */
struct _xmlSchemaType *next;/* the next type if in a sequence ... */
xmlChar *name;
xmlChar *id;
xmlChar *ref;
xmlChar *refNs;
xmlSchemaAnnotPtr annot;
xmlSchemaTypePtr subtypes;
xmlSchemaAttributePtr attributes;
xmlNodePtr node;
int minOccurs;
int maxOccurs;
int flags;
xmlSchemaContentType contentType;
xmlChar *base;
xmlChar *baseNs;
xmlSchemaTypePtr baseType;
xmlSchemaFacetPtr facets;
};
struct xmlSchemaFacet {
xmlSchemaTypeType type; /* The kind of type */
struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
xmlChar *value;
xmlChar *id;
xmlSchemaAnnotPtr annot;
xmlNodePtr node;
int fixed;
int whitespace;
xmlSchemaValPtr val;
xmlRegexpPtr regexp;
};
struct xmlSchemaAnnot {
struct _xmlSchemaAnnot *next;
xmlNodePtr content; /* the annotation */
};
struct xmlSchemaAttribute {
xmlSchemaTypeType type; /* The kind of type */
struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
xmlChar *name;
xmlChar *id;
xmlChar *ref;
xmlChar *refNs;
xmlChar *typeName;
xmlChar *typeNs;
xmlSchemaAnnotPtr annot;
xmlSchemaTypePtr base;
int occurs;
xmlChar *defValue;
xmlSchemaTypePtr subtypes;
xmlNodePtr node;
};
struct xmlSchemaAttributeGroup {
xmlSchemaTypeType type; /* The kind of type */
struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
xmlChar *name;
xmlChar *id;
xmlChar *ref;
xmlChar *refNs;
xmlSchemaAnnotPtr annot;
xmlSchemaAttributePtr attributes;
xmlNodePtr node;
};
struct xmlSchemaElement {
xmlSchemaTypeType type; /* The kind of type */
struct _xmlSchemaType *next;/* the next type if in a sequence ... */
xmlChar *name;
xmlChar *id;
xmlChar *ref;
xmlChar *refNs;
xmlSchemaAnnotPtr annot;
xmlSchemaTypePtr subtypes;
xmlSchemaAttributePtr attributes;
xmlNodePtr node;
int minOccurs;
int maxOccurs;
int flags;
xmlChar *targetNamespace;
xmlChar *namedType;
xmlChar *namedTypeNs;
xmlChar *substGroup;
xmlChar *substGroupNs;
xmlChar *scope;
xmlChar *value;
struct _xmlSchemaElement *refDecl;
xmlRegexpPtr contModel;
xmlSchemaContentType contentType;
};
xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of structures must be kept similar
struct xmlSchemaNotation {
xmlSchemaTypeType type; /* The kind of type */
xmlChar *name;
xmlSchemaAnnotPtr annot;
xmlChar *identifier;
};
#define XML_SCHEMAS_QUALIF_ELEM 1 << 0
the shemas requires qualified elements
#define XML_SCHEMAS_QUALIF_ATTR 1 << 1
the shemas requires qualified attributes
struct xmlSchema {
xmlChar *name; /* schema name */
xmlChar *targetNamespace; /* the target namespace */
xmlChar *version;
xmlChar *id;
xmlDocPtr doc;
xmlSchemaAnnotPtr annot;
int flags;
xmlHashTablePtr typeDecl;
xmlHashTablePtr attrDecl;
xmlHashTablePtr attrgrpDecl;
xmlHashTablePtr elemDecl;
xmlHashTablePtr notaDecl;
xmlHashTablePtr schemasImports;
void *_private; /* unused by the library for users or bindings */
xmlHashTablePtr groupDecl;
};
void xmlSchemaFreeType (xmlSchemaTypePtr type);
Deallocate a Schema Type structure.
| type : | a schema type structure |
| << xmlschemastypes |