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


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


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


struct xmlSchemaAnnot

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


xmlSchemaAnnotPtr


XML_SCHEMAS_ANYATTR_SKIP

#define     XML_SCHEMAS_ANYATTR_SKIP


XML_SCHEMAS_ANYATTR_LAX

#define     XML_SCHEMAS_ANYATTR_LAX


XML_SCHEMAS_ANYATTR_STRICT

#define     XML_SCHEMAS_ANYATTR_STRICT


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


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


XML_SCHEMAS_TYPE_MIXED

#define     XML_SCHEMAS_TYPE_MIXED

the element content type is mixed


XML_SCHEMAS_ELEM_NILLABLE

#define     XML_SCHEMAS_ELEM_NILLABLE

the element is nillable


XML_SCHEMAS_ELEM_GLOBAL

#define     XML_SCHEMAS_ELEM_GLOBAL

the element is global


XML_SCHEMAS_ELEM_DEFAULT

#define     XML_SCHEMAS_ELEM_DEFAULT

the element has a default value


XML_SCHEMAS_ELEM_FIXED

#define     XML_SCHEMAS_ELEM_FIXED

the element has a fixed value


XML_SCHEMAS_ELEM_ABSTRACT

#define     XML_SCHEMAS_ELEM_ABSTRACT

the element is abstract


XML_SCHEMAS_ELEM_TOPLEVEL

#define     XML_SCHEMAS_ELEM_TOPLEVEL

the element is top level


XML_SCHEMAS_ELEM_REF

#define     XML_SCHEMAS_ELEM_REF

the element is a reference to a type


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

xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of structures must be kept similar


xmlSchemaElementPtr


XML_SCHEMAS_FACET_UNKNOWN

#define     XML_SCHEMAS_FACET_UNKNOWN


XML_SCHEMAS_FACET_PRESERVE

#define     XML_SCHEMAS_FACET_PRESERVE


XML_SCHEMAS_FACET_REPLACE

#define     XML_SCHEMAS_FACET_REPLACE


XML_SCHEMAS_FACET_COLLAPSE

#define     XML_SCHEMAS_FACET_COLLAPSE


struct xmlSchemaNotation

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


xmlSchemaNotationPtr


XML_SCHEMAS_QUALIF_ELEM

#define     XML_SCHEMAS_QUALIF_ELEM

the shemas requires qualified elements


XML_SCHEMAS_QUALIF_ATTR

#define     XML_SCHEMAS_QUALIF_ATTR

the shemas requires qualified attributes


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.

type :