interface to the XML Schemas handling and schema validity checking, it is incomplete right now. Table of ContentsStructure xmlSchema struct _xmlSchema
Structure xmlSchemaParserCtxt struct _xmlSchemaParserCtxt
The content of this structure is not made public by the API.
Typedef xmlSchemaParserCtxt * xmlSchemaParserCtxtPtr
Typedef xmlSchema * xmlSchemaPtr
Typedef xmlSchemaSAXPlugStruct * xmlSchemaSAXPlugPtr
Structure xmlSchemaSAXPlugStruct struct _xmlSchemaSAXPlug
The content of this structure is not made public by the API.
Structure xmlSchemaValidCtxt struct _xmlSchemaValidCtxt
The content of this structure is not made public by the API.
Typedef xmlSchemaValidCtxt * xmlSchemaValidCtxtPtr
Enum xmlSchemaValidError
Enum xmlSchemaValidOption
void xmlSchemaDump (FILE * output, xmlSchemaPtr schema)
void xmlSchemaFree (xmlSchemaPtr schema)
void xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt)
void xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt)
int xmlSchemaGetParserErrors (xmlSchemaParserCtxtPtr ctxt, xmlSchemaValidityErrorFunc * err, xmlSchemaValidityWarningFunc * warn, void ** ctx)
int xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt, xmlSchemaValidityErrorFunc * err, xmlSchemaValidityWarningFunc * warn, void ** ctx)
int xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt)
xmlSchemaParserCtxtPtr xmlSchemaNewDocParserCtxt (xmlDocPtr doc)
xmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt (const char * buffer, int size)
xmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt (const char * URL)
xmlSchemaValidCtxtPtr xmlSchemaNewValidCtxt (xmlSchemaPtr schema)
xmlSchemaPtr xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt)
xmlSchemaSAXPlugPtr xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt, xmlSAXHandlerPtr * sax, void ** user_data)
int xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug)
void xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void * ctx)
void xmlSchemaSetParserStructuredErrors (xmlSchemaParserCtxtPtr ctxt, xmlStructuredErrorFunc serror, void * ctx)
void xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void * ctx)
int xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt, int options)
void xmlSchemaSetValidStructuredErrors (xmlSchemaValidCtxtPtr ctxt, xmlStructuredErrorFunc serror, void * ctx)
int xmlSchemaValidCtxtGetOptions (xmlSchemaValidCtxtPtr ctxt)
xmlParserCtxtPtr xmlSchemaValidCtxtGetParserCtxt (xmlSchemaValidCtxtPtr ctxt)
int xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, xmlDocPtr doc)
int xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt, const char * filename, int options)
int xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
void xmlSchemaValidateSetFilename (xmlSchemaValidCtxtPtr vctxt, const char * filename)
void xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt, xmlSchemaValidityLocatorFunc f, void * ctxt)
int xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, xmlParserInputBufferPtr input, xmlCharEncoding enc, xmlSAXHandlerPtr sax, void * user_data)
Function type: xmlSchemaValidityErrorFunc
void xmlSchemaValidityErrorFunc (void * ctx, const char * msg, ... ...)
Function type: xmlSchemaValidityLocatorFunc
int xmlSchemaValidityLocatorFunc (void * ctx, const char ** file, unsigned long * line)
Function type: xmlSchemaValidityWarningFunc
void xmlSchemaValidityWarningFunc (void * ctx, const char * msg, ... ...)
Description
Structure xmlSchema struct _xmlSchema {
const xmlChar * name : schema name
const xmlChar * targetNamespace : the target namespace
const xmlChar * version
const xmlChar * id : Obsolete
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 bind
xmlHashTablePtr groupDecl
xmlDictPtr dict
void * includes : the includes, this is opaque for now
int preserve : whether to free the document
int counter : used to give ononymous components uniqu
xmlHashTablePtr idcDef : All identity-constraint defs.
void * volatiles : Obsolete
} Structure xmlSchemaParserCtxt struct _xmlSchemaParserCtxt {
The content of this structure is not made public by the API.
} Structure xmlSchemaSAXPlugStruct struct _xmlSchemaSAXPlug {
The content of this structure is not made public by the API.
} Structure xmlSchemaValidCtxt struct _xmlSchemaValidCtxt {
The content of this structure is not made public by the API.
} Enum xmlSchemaValidError {
XML_SCHEMAS_ERR_OK = 0
XML_SCHEMAS_ERR_NOROOT = 1
XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
XML_SCHEMAS_ERR_MISSING = 4
XML_SCHEMAS_ERR_WRONGELEM = 5
XML_SCHEMAS_ERR_NOTYPE = 6
XML_SCHEMAS_ERR_NOROLLBACK = 7
XML_SCHEMAS_ERR_ISABSTRACT = 8
XML_SCHEMAS_ERR_NOTEMPTY = 9
XML_SCHEMAS_ERR_ELEMCONT = 10
XML_SCHEMAS_ERR_HAVEDEFAULT = 11
XML_SCHEMAS_ERR_NOTNILLABLE = 12
= 13
XML_SCHEMAS_ERR_INVALIDATTR = 14
XML_SCHEMAS_ERR_INVALIDELEM = 15
XML_SCHEMAS_ERR_NOTDETERMINIST = 16
XML_SCHEMAS_ERR_CONSTRUCT = 17
XML_SCHEMAS_ERR_INTERNAL = 18
XML_SCHEMAS_ERR_NOTSIMPLE = 19
XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
XML_SCHEMAS_ERR_ATTRINVALID = 21
XML_SCHEMAS_ERR_VALUE = 22
XML_SCHEMAS_ERR_FACET = 23
XML_SCHEMAS_ERR_ = 24
XML_SCHEMAS_ERR_XXX = 25
}
Enum xmlSchemaValidOption {
XML_SCHEMA_VAL_VC_I_CREATE = 1 : Default/fixed: create an attribute node * or an element's text node on the instance. *
}
Function: xmlSchemaDumpvoid xmlSchemaDump (FILE * output, xmlSchemaPtr schema)
Dump a Schema structure.
output: | the file output | schema: | a schema structure |
Function: xmlSchemaFreevoid xmlSchemaFree (xmlSchemaPtr schema)
Deallocate a Schema structure.
schema: | a schema structure |
Function: xmlSchemaFreeParserCtxtvoid xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt)
Free the resources associated to the schema parser context
ctxt: | the schema parser context |
Function: xmlSchemaFreeValidCtxtvoid xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt)
Free the resources associated to the schema validation context
ctxt: | the schema validation context |
Function: xmlSchemaGetParserErrorsint xmlSchemaGetParserErrors (xmlSchemaParserCtxtPtr ctxt, xmlSchemaValidityErrorFunc * err, xmlSchemaValidityWarningFunc * warn, void ** ctx)
Get the callback information used to handle errors for a parser context
ctxt: | a XMl-Schema parser context | err: | the error callback result | warn: | the warning callback result | ctx: | contextual data for the callbacks result | Returns: | -1 in case of failure, 0 otherwise |
Function: xmlSchemaGetValidErrorsint xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt, xmlSchemaValidityErrorFunc * err, xmlSchemaValidityWarningFunc * warn, void ** ctx)
Get the error and warning callback informations
ctxt: | a XML-Schema validation context | err: | the error function result | warn: | the warning function result | ctx: | the functions context result | Returns: | -1 in case of error and 0 otherwise |
Function: xmlSchemaIsValidint xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt)
Check if any error was detected during validation.
ctxt: | the schema validation context | Returns: | 1 if valid so far, 0 if errors were detected, and -1 in case of internal error. |
Function: xmlSchemaNewDocParserCtxtxmlSchemaParserCtxtPtr xmlSchemaNewDocParserCtxt (xmlDocPtr doc)
Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.
doc: | a preparsed document tree | Returns: | the parser context or NULL in case of error |
Function: xmlSchemaNewMemParserCtxtxmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt (const char * buffer, int size)
Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.
buffer: | a pointer to a char array containing the schemas | size: | the size of the array | Returns: | the parser context or NULL in case of error |
Function: xmlSchemaNewParserCtxtxmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt (const char * URL)
Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.
URL: | the location of the schema | Returns: | the parser context or NULL in case of error |
Function: xmlSchemaNewValidCtxtxmlSchemaValidCtxtPtr xmlSchemaNewValidCtxt (xmlSchemaPtr schema)
Create an XML Schemas validation context based on the given schema.
schema: | a precompiled XML Schemas | Returns: | the validation context or NULL in case of error |
Function: xmlSchemaParsexmlSchemaPtr xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt)
parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.
ctxt: | a schema validation context | Returns: | the internal XML Schema structure built from the resource or NULL in case of error |
Function: xmlSchemaSAXPlugxmlSchemaSAXPlugPtr xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt, xmlSAXHandlerPtr * sax, void ** user_data)
Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.
ctxt: | a schema validation context | sax: | a pointer to the original xmlSAXHandlerPtr | user_data: | a pointer to the original SAX user data pointer | Returns: | a pointer to a data structure needed to unplug the validation layer or NULL in case of errors. |
Function: xmlSchemaSAXUnplugint xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug)
Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.
plug: | a data structure returned by xmlSchemaSAXPlug | Returns: | 0 in case of success and -1 in case of failure. |
Function: xmlSchemaSetParserErrorsvoid xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void * ctx)
Set the callback functions used to handle errors for a validation context
ctxt: | a schema validation context | err: | the error callback | warn: | the warning callback | ctx: | contextual data for the callbacks |
Function: xmlSchemaSetParserStructuredErrorsvoid xmlSchemaSetParserStructuredErrors (xmlSchemaParserCtxtPtr ctxt, xmlStructuredErrorFunc serror, void * ctx)
Set the structured error callback
ctxt: | a schema parser context | serror: | the structured error function | ctx: | the functions context |
Function: xmlSchemaSetValidErrorsvoid xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void * ctx)
Set the error and warning callback informations
ctxt: | a schema validation context | err: | the error function | warn: | the warning function | ctx: | the functions context |
Function: xmlSchemaSetValidOptionsint xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt, int options)
Sets the options to be used during the validation.
ctxt: | a schema validation context | options: | a combination of xmlSchemaValidOption | Returns: | 0 in case of success, -1 in case of an API error. |
Function: xmlSchemaSetValidStructuredErrorsvoid xmlSchemaSetValidStructuredErrors (xmlSchemaValidCtxtPtr ctxt, xmlStructuredErrorFunc serror, void * ctx)
Set the structured error callback
ctxt: | a schema validation context | serror: | the structured error function | ctx: | the functions context |
Function: xmlSchemaValidCtxtGetOptionsint xmlSchemaValidCtxtGetOptions (xmlSchemaValidCtxtPtr ctxt)
Get the validation context options.
ctxt: | a schema validation context | Returns: | the option combination or -1 on error. |
Function: xmlSchemaValidCtxtGetParserCtxtxmlParserCtxtPtr xmlSchemaValidCtxtGetParserCtxt (xmlSchemaValidCtxtPtr ctxt)
allow access to the parser context of the schema validation context
ctxt: | a schema validation context | Returns: | the parser context of the schema validation context or NULL in case of error. |
Function: xmlSchemaValidateDocint xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, xmlDocPtr doc)
Validate a document tree in memory.
ctxt: | a schema validation context | doc: | a parsed document tree | Returns: | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. |
Function: xmlSchemaValidateFileint xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt, const char * filename, int options)
Do a schemas validation of the given resource, it will use the SAX streamable validation internally.
ctxt: | a schema validation context | filename: | the URI of the instance | options: | a future set of options, currently unused | Returns: | 0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error. |
Function: xmlSchemaValidateOneElementint xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
Validate a branch of a tree, starting with the given @elem.
ctxt: | a schema validation context | elem: | an element node | Returns: | 0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error. |
Function: xmlSchemaValidateSetFilenamevoid xmlSchemaValidateSetFilename (xmlSchemaValidCtxtPtr vctxt, const char * filename)
Workaround to provide file error reporting information when this is not provided by current APIs
vctxt: | the schema validation context | filename: | the file name |
Function: xmlSchemaValidateSetLocatorvoid xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt, xmlSchemaValidityLocatorFunc f, void * ctxt)
Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.
vctxt: | a schema validation context | f: | the locator function pointer | ctxt: | the locator context |
Function: xmlSchemaValidateStreamint xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, xmlParserInputBufferPtr input, xmlCharEncoding enc, xmlSAXHandlerPtr sax, void * user_data)
Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.
ctxt: | a schema validation context | input: | the input to use for reading the data | enc: | an optional encoding information | sax: | a SAX handler for the resulting events | user_data: | the context to provide to the SAX handler. | Returns: | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. |
Function type: xmlSchemaValidityErrorFuncFunction type: xmlSchemaValidityErrorFunc
void xmlSchemaValidityErrorFunc (void * ctx, const char * msg, ... ...)
Signature of an error callback from an XSD validation ctx: | the validation context | msg: | the message | ...: | extra arguments |
Function type: xmlSchemaValidityLocatorFuncFunction type: xmlSchemaValidityLocatorFunc
int xmlSchemaValidityLocatorFunc (void * ctx, const char ** file, unsigned long * line)
A schemas validation locator, a callback called by the validator. This is used when file or node informations are not available to find out what file and line number are affected ctx: | user provided context | file: | returned file information | line: | returned line information | Returns: | 0 in case of success and -1 in case of error |
Function type: xmlSchemaValidityWarningFuncFunction type: xmlSchemaValidityWarningFunc
void xmlSchemaValidityWarningFunc (void * ctx, const char * msg, ... ...)
Signature of a warning callback from an XSD validation ctx: | the validation context | msg: | the message | ...: | extra arguments |
Daniel Veillard |