module providing the XML Schema Datatypes implementation both definition and validity checking Table of ContentsEnum xmlSchemaWhitespaceValueType
int xmlSchemaCheckFacet (xmlSchemaFacetPtr facet, xmlSchemaTypePtr typeDecl, xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
void xmlSchemaCleanupTypes (void)
xmlChar * xmlSchemaCollapseString (const xmlChar * value)
int xmlSchemaCompareValues (xmlSchemaValPtr x, xmlSchemaValPtr y)
int xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x, xmlSchemaWhitespaceValueType xws, xmlSchemaValPtr y, xmlSchemaWhitespaceValueType yws)
xmlSchemaValPtr xmlSchemaCopyValue (xmlSchemaValPtr val)
void xmlSchemaFreeFacet (xmlSchemaFacetPtr facet)
void xmlSchemaFreeValue (xmlSchemaValPtr value)
xmlSchemaTypePtr xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type)
xmlSchemaTypePtr xmlSchemaGetBuiltInType (xmlSchemaValType type)
int xmlSchemaGetCanonValue (xmlSchemaValPtr val, const xmlChar ** retValue)
unsigned long xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet)
xmlSchemaTypePtr xmlSchemaGetPredefinedType (const xmlChar * name, const xmlChar * ns)
xmlSchemaValType xmlSchemaGetValType (xmlSchemaValPtr val)
void xmlSchemaInitTypes (void)
int xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type, int facetType)
xmlSchemaFacetPtr xmlSchemaNewFacet (void)
xmlSchemaValPtr xmlSchemaNewNOTATIONValue (const xmlChar * name, const xmlChar * ns)
xmlSchemaValPtr xmlSchemaNewStringValue (xmlSchemaValType type, const xmlChar * value)
int xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type, const xmlChar * value, xmlSchemaValPtr * val, xmlNodePtr node)
int xmlSchemaValPredefTypeNodeNoNorm (xmlSchemaTypePtr type, const xmlChar * value, xmlSchemaValPtr * val, xmlNodePtr node)
int xmlSchemaValidateFacet (xmlSchemaTypePtr base, xmlSchemaFacetPtr facet, const xmlChar * value, xmlSchemaValPtr val)
int xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet, xmlSchemaWhitespaceValueType fws, xmlSchemaValType valType, const xmlChar * value, xmlSchemaValPtr val, xmlSchemaWhitespaceValueType ws)
int xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type, xmlSchemaFacetPtr facet, const xmlChar * value, xmlSchemaValPtr val, unsigned long * length)
int xmlSchemaValidateLengthFacetWhtsp (xmlSchemaFacetPtr facet, xmlSchemaValType valType, const xmlChar * value, xmlSchemaValPtr val, unsigned long * length, xmlSchemaWhitespaceValueType ws)
int xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet, const xmlChar * value, unsigned long actualLen, unsigned long * expectedLen)
int xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type, const xmlChar * value, xmlSchemaValPtr * val)
xmlChar * xmlSchemaWhiteSpaceReplace (const xmlChar * value)
Description
Enum xmlSchemaWhitespaceValueType {
XML_SCHEMA_WHITESPACE_UNKNOWN = 0
XML_SCHEMA_WHITESPACE_PRESERVE = 1
XML_SCHEMA_WHITESPACE_REPLACE = 2
XML_SCHEMA_WHITESPACE_COLLAPSE = 3
}
Function: xmlSchemaCheckFacetint xmlSchemaCheckFacet (xmlSchemaFacetPtr facet, xmlSchemaTypePtr typeDecl, xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
Checks the default values types, especially for facets
facet: | the facet | typeDecl: | the schema type definition | ctxt: | the schema parser context or NULL | name: | name of the type | Returns: | 0 if okay or -1 in cae of error |
Function: xmlSchemaCleanupTypesvoid xmlSchemaCleanupTypes (void)
Cleanup the default XML Schemas type library
Function: xmlSchemaCollapseStringxmlChar * xmlSchemaCollapseString (const xmlChar * value)
Removes and normalize white spaces in the string
value: | a value | Returns: | the new string or NULL if no change was required. |
Function: xmlSchemaCompareValuesint xmlSchemaCompareValues (xmlSchemaValPtr x, xmlSchemaValPtr y)
Compare 2 values
x: | a first value | y: | a second value | Returns: | -1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error |
Function: xmlSchemaCompareValuesWhtspint xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x, xmlSchemaWhitespaceValueType xws, xmlSchemaValPtr y, xmlSchemaWhitespaceValueType yws)
Compare 2 values
x: | a first value | xws: | the whitespace value of x | y: | a second value | yws: | the whitespace value of y | Returns: | -1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error |
Function: xmlSchemaCopyValuexmlSchemaValPtr xmlSchemaCopyValue (xmlSchemaValPtr val)
Copies the precomputed value. This duplicates any string within.
val: | the precomputed value to be copied | Returns: | the copy or NULL if a copy for a data-type is not implemented. |
Function: xmlSchemaFreeFacetvoid xmlSchemaFreeFacet (xmlSchemaFacetPtr facet)
Deallocate a Schema Facet structure.
facet: | a schema facet structure |
Function: xmlSchemaFreeValuevoid xmlSchemaFreeValue (xmlSchemaValPtr value)
Cleanup the default XML Schemas type library
Function: xmlSchemaGetBuiltInListSimpleTypeItemTypexmlSchemaTypePtr xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type)
Lookup function
type: | the built-in simple type. | Returns: | the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error. |
Function: xmlSchemaGetBuiltInTypexmlSchemaTypePtr xmlSchemaGetBuiltInType (xmlSchemaValType type)
Gives you the type struct for a built-in type by its type id.
type: | the type of the built in type | Returns: | the type if found, NULL otherwise. |
Function: xmlSchemaGetCanonValueint xmlSchemaGetCanonValue (xmlSchemaValPtr val, const xmlChar ** retValue)
Get a the cononical lexical representation of the value. The caller has to free the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???".
val: | the precomputed value | retValue: | the returned value | Returns: | 0 if the value could be built and -1 in case of API errors. |
Function: xmlSchemaGetFacetValueAsULongunsigned long xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet)
Extract the value of a facet
facet: | an schemas type facet | Returns: | the value as a long |
Function: xmlSchemaGetPredefinedTypexmlSchemaTypePtr xmlSchemaGetPredefinedType (const xmlChar * name, const xmlChar * ns)
Lookup a type in the default XML Schemas type library
name: | the type name | ns: | the URI of the namespace usually "http://www.w3.org/2001/XMLSchema" | Returns: | the type if found, NULL otherwise |
Function: xmlSchemaGetValTypexmlSchemaValType xmlSchemaGetValType (xmlSchemaValPtr val)
Accessor for the type of a value
Function: xmlSchemaInitTypesvoid xmlSchemaInitTypes (void)
Initialize the default XML Schemas type library
Function: xmlSchemaIsBuiltInTypeFacetint xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type, int facetType)
Evaluates if a specific facet can be used in conjunction with a type.
type: | the built-in type | facetType: | the facet type | Returns: | 1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type. |
Function: xmlSchemaNewFacetxmlSchemaFacetPtr xmlSchemaNewFacet (void)
Allocate a new Facet structure.
Returns: | the newly allocated structure or NULL in case or error |
Function: xmlSchemaNewNOTATIONValuexmlSchemaValPtr xmlSchemaNewNOTATIONValue (const xmlChar * name, const xmlChar * ns)
Allocate a new NOTATION value.
name: | the notation name | ns: | the notation namespace name or NULL | Returns: | a pointer to the new value or NULL in case of error |
Function: xmlSchemaNewStringValuexmlSchemaValPtr xmlSchemaNewStringValue (xmlSchemaValType type, const xmlChar * value)
Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well.
type: | the value type | value: | the value | Returns: | a pointer to the new value or NULL in case of error |
Function: xmlSchemaValPredefTypeNodeint xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type, const xmlChar * value, xmlSchemaValPtr * val, xmlNodePtr node)
Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.
type: | the predefined type | value: | the value to check | val: | the return computed value | node: | the node containing the value | Returns: | 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. |
Function: xmlSchemaValPredefTypeNodeNoNormint xmlSchemaValPredefTypeNodeNoNorm (xmlSchemaTypePtr type, const xmlChar * value, xmlSchemaValPtr * val, xmlNodePtr node)
Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.
type: | the predefined type | value: | the value to check | val: | the return computed value | node: | the node containing the value | Returns: | 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. |
Function: xmlSchemaValidateFacetint xmlSchemaValidateFacet (xmlSchemaTypePtr base, xmlSchemaFacetPtr facet, const xmlChar * value, xmlSchemaValPtr val)
Check a value against a facet condition
base: | the base type | facet: | the facet to check | value: | the lexical repr of the value to validate | val: | the precomputed value | Returns: | 0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. |
Function: xmlSchemaValidateFacetWhtspint xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet, xmlSchemaWhitespaceValueType fws, xmlSchemaValType valType, const xmlChar * value, xmlSchemaValPtr val, xmlSchemaWhitespaceValueType ws)
Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".
facet: | the facet to check | fws: | the whitespace type of the facet's value | valType: | the built-in type of the value | value: | the lexical (or normalized for pattern) repr of the value to validate | val: | the precomputed value | ws: | the whitespace type of the value | Returns: | 0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. |
Function: xmlSchemaValidateLengthFacetint xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type, xmlSchemaFacetPtr facet, const xmlChar * value, xmlSchemaValPtr val, unsigned long * length)
Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.
type: | the built-in type | facet: | the facet to check | value: | the lexical repr. of the value to be validated | val: | the precomputed value | length: | the actual length of the value | Returns: | 0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error. |
Function: xmlSchemaValidateLengthFacetWhtspint xmlSchemaValidateLengthFacetWhtsp (xmlSchemaFacetPtr facet, xmlSchemaValType valType, const xmlChar * value, xmlSchemaValPtr val, unsigned long * length, xmlSchemaWhitespaceValueType ws)
Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.
facet: | the facet to check | valType: | the built-in type | value: | the lexical repr. of the value to be validated | val: | the precomputed value | length: | the actual length of the value | ws: | the whitespace type of the value | Returns: | 0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error. |
Function: xmlSchemaValidateListSimpleTypeFacetint xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet, const xmlChar * value, unsigned long actualLen, unsigned long * expectedLen)
Checks the value of a list simple type against a facet.
facet: | the facet to check | value: | the lexical repr of the value to validate | actualLen: | the number of list items | expectedLen: | the resulting expected number of list items | Returns: | 0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error. |
Function: xmlSchemaValidatePredefinedTypeint xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type, const xmlChar * value, xmlSchemaValPtr * val)
Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.
type: | the predefined type | value: | the value to check | val: | the return computed value | Returns: | 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. |
Function: xmlSchemaWhiteSpaceReplacexmlChar * xmlSchemaWhiteSpaceReplace (const xmlChar * value)
Replaces 0xd, 0x9 and 0xa with a space.
value: | a value | Returns: | the new string or NULL if no change was required. |
Daniel Veillard |