|  |  |  | 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 |