Gnome XML Library Reference Manual
<<< Previous Page | Home | Up |

# 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` : |

<<< Previous Page | Home | Up |
xmlschemastypes |