Module xmlschemas from libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module xmlschemas from libxml2

API Menu
API Indexes
Related links

interface to the XML Schemas handling and schema validity checking, it is incomplete right now.

Table of Contents

Structure 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

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

Structure xmlSchemaParserCtxt
struct _xmlSchemaParserCtxt { The content of this structure is not made public by the API. }

Structure xmlSchemaSAXPlugStruct

Structure xmlSchemaSAXPlugStruct
struct _xmlSchemaSAXPlug { The content of this structure is not made public by the API. }

Structure xmlSchemaValidCtxt

Structure xmlSchemaValidCtxt
struct _xmlSchemaValidCtxt { The content of this structure is not made public by the API. }

Enum xmlSchemaValidError

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
    XML_SCHEMAS_ERR_EXTRACONTENT = 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

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: xmlSchemaDump

void	xmlSchemaDump			(FILE * output, 
xmlSchemaPtr schema)

Dump a Schema structure.

output:the file output
schema:a schema structure

Function: xmlSchemaFree

void	xmlSchemaFree			(xmlSchemaPtr schema)

Deallocate a Schema structure.

schema:a schema structure

Function: xmlSchemaFreeParserCtxt

void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)

Free the resources associated to the schema parser context

ctxt:the schema parser context

Function: xmlSchemaFreeValidCtxt

void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)

Free the resources associated to the schema validation context

ctxt:the schema validation context

Function: xmlSchemaGetParserErrors

int	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: xmlSchemaGetValidErrors

int	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: xmlSchemaIsValid

int	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: xmlSchemaNewDocParserCtxt

xmlSchemaParserCtxtPtr	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: xmlSchemaNewMemParserCtxt

xmlSchemaParserCtxtPtr	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: xmlSchemaNewParserCtxt

xmlSchemaParserCtxtPtr	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: xmlSchemaNewValidCtxt

xmlSchemaValidCtxtPtr	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: xmlSchemaParse

xmlSchemaPtr	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: xmlSchemaSAXPlug

xmlSchemaSAXPlugPtr	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: xmlSchemaSAXUnplug

int	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: xmlSchemaSetParserErrors

void	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: xmlSchemaSetParserStructuredErrors

void	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: xmlSchemaSetValidErrors

void	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: xmlSchemaSetValidOptions

int	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: xmlSchemaSetValidStructuredErrors

void	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: xmlSchemaValidCtxtGetOptions

int	xmlSchemaValidCtxtGetOptions	(xmlSchemaValidCtxtPtr ctxt)

Get the validation context options.

ctxt:a schema validation context
Returns:the option combination or -1 on error.

Function: xmlSchemaValidCtxtGetParserCtxt

xmlParserCtxtPtr	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: xmlSchemaValidateDoc

int	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: xmlSchemaValidateFile

int	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: xmlSchemaValidateOneElement

int	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: xmlSchemaValidateSetFilename

void	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: xmlSchemaValidateSetLocator

void	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: xmlSchemaValidateStream

int	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: xmlSchemaValidityErrorFunc

Function 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: xmlSchemaValidityLocatorFunc

Function 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: xmlSchemaValidityWarningFunc

Function 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