schemasInternals

Name

schemasInternals -- 

Synopsis



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

Description

Details

enum xmlSchemaTypeType

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;


enum xmlSchemaContentType

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 xmlSchemaVal

struct xmlSchemaVal;


xmlSchemaValPtr

typedef xmlSchemaVal *xmlSchemaValPtr;


struct xmlSchemaType

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


xmlSchemaTypePtr

typedef xmlSchemaType *xmlSchemaTypePtr;


struct xmlSchemaFacet

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


xmlSchemaFacetPtr

typedef xmlSchemaFacet *xmlSchemaFacetPtr;


struct xmlSchemaAnnot

struct xmlSchemaAnnot {
    struct _xmlSchemaAnnot *next;
    xmlNodePtr content;         /* the annotation */
};


xmlSchemaAnnotPtr

typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;


XML_SCHEMAS_ANYATTR_SKIP

#define XML_SCHEMAS_ANYATTR_SKIP	1


XML_SCHEMAS_ANYATTR_LAX

#define XML_SCHEMAS_ANYATTR_LAX		2


XML_SCHEMAS_ANYATTR_STRICT

#define XML_SCHEMAS_ANYATTR_STRICT	3


struct xmlSchemaAttribute

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


xmlSchemaAttributePtr

typedef xmlSchemaAttribute *xmlSchemaAttributePtr;


struct xmlSchemaAttributeGroup

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


xmlSchemaAttributeGroupPtr

typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;


XML_SCHEMAS_TYPE_MIXED

#define XML_SCHEMAS_TYPE_MIXED		1 << 0


XML_SCHEMAS_ELEM_NILLABLE

#define XML_SCHEMAS_ELEM_NILLABLE	1 << 0


XML_SCHEMAS_ELEM_GLOBAL

#define XML_SCHEMAS_ELEM_GLOBAL		1 << 1


XML_SCHEMAS_ELEM_DEFAULT

#define XML_SCHEMAS_ELEM_DEFAULT	1 << 2


XML_SCHEMAS_ELEM_FIXED

#define XML_SCHEMAS_ELEM_FIXED		1 << 3


XML_SCHEMAS_ELEM_ABSTRACT

#define XML_SCHEMAS_ELEM_ABSTRACT	1 << 4


XML_SCHEMAS_ELEM_TOPLEVEL

#define XML_SCHEMAS_ELEM_TOPLEVEL	1 << 5


XML_SCHEMAS_ELEM_REF

#define XML_SCHEMAS_ELEM_REF		1 << 6


struct xmlSchemaElement

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


xmlSchemaElementPtr

typedef xmlSchemaElement *xmlSchemaElementPtr;


XML_SCHEMAS_FACET_UNKNOWN

#define XML_SCHEMAS_FACET_UNKNOWN	0


XML_SCHEMAS_FACET_PRESERVE

#define XML_SCHEMAS_FACET_PRESERVE	1


XML_SCHEMAS_FACET_REPLACE

#define XML_SCHEMAS_FACET_REPLACE	2


XML_SCHEMAS_FACET_COLLAPSE

#define XML_SCHEMAS_FACET_COLLAPSE	3


struct xmlSchemaNotation

struct xmlSchemaNotation {
    xmlSchemaTypeType type;	/* The kind of type */
    xmlChar *name;
    xmlSchemaAnnotPtr annot;
    xmlChar *identifier;
};


xmlSchemaNotationPtr

typedef xmlSchemaNotation *xmlSchemaNotationPtr;


XML_SCHEMAS_QUALIF_ELEM

#define XML_SCHEMAS_QUALIF_ELEM		1 << 0


XML_SCHEMAS_QUALIF_ATTR

#define XML_SCHEMAS_QUALIF_ATTR		1 << 1


struct xmlSchema

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 */
};


xmlSchemaFreeType ()

void        xmlSchemaFreeType               (xmlSchemaTypePtr type);

Deallocate a Schema Type structure.