Difference between revisions of "Validation Module"
Line 20: | Line 20: | ||
* a {{Code|node()}}, containing the resource itself. | * a {{Code|node()}}, containing the resource itself. | ||
{{Code|$schema}} can be used to specify the schema for validation. If no schema is given, {{Code|$input}} is required to contain an {{Code|xsi:(noNamespace)schemaLocation}} as defined in [http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation W3C XML Schema].<br /> | {{Code|$schema}} can be used to specify the schema for validation. If no schema is given, {{Code|$input}} is required to contain an {{Code|xsi:(noNamespace)schemaLocation}} as defined in [http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation W3C XML Schema].<br /> | ||
+ | |- | ||
+ | | '''Errors''' | ||
+ | |{{Error|BXVA0001|#Errors}} the validation fails.<br/>{{Error|BXVA0002|#Errors}} the validation process cannot be started. | ||
|- | |- | ||
| '''Examples''' | | '''Examples''' | ||
Line 33: | Line 36: | ||
return validate:xsd($doc, $schema) | return validate:xsd($doc, $schema) | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
|} | |} | ||
Revision as of 00:18, 30 January 2013
This XQuery Module contains functions to perform validations against XML Schema and Document Type Declarations. By default, this module uses Java’s standard validators. As an alternative, Saxon XSLT Processor is used if (saxon9he.jar
, saxon9pe.jar
or saxon9ee.jar
) is added to the classpath.
Contents
Conventions
All functions in this module are assigned to the http://basex.org/modules/validate
namespace, which is statically bound to the validate
prefix.
All errors are assigned to the http://basex.org/errors
namespace, which is statically bound to the bxerr
prefix.
Functions
validate:xsd
Signatures | validate:xsd($input as item()) as empty-sequence() validate:xsd($input as item(), $schema as item()) as empty-sequence()
|
Summary | Validates the document specified by $input . Both $input and $schema can be
|
Errors | BXVA0001 : the validation fails.BXVA0002 : the validation process cannot be started.
|
Examples |
let $doc := <simple:root xmlns:simple='http://basex.org/simple'/> let $schema := <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://basex.org/simple'> <xs:element name='root'/> </xs:schema> return validate:xsd($doc, $schema) |
validate:xsd-info
Signatures | validate:xsd-info($input as item()) as xs:string* validate:xsd-info($input as item(), $schema as item()) as xs:string*
|
Summary | Validates the document specified by $input and returns warning, errors and fatal errors in a string sequence. Both $input and $schema can be
|
Errors | BXVA0002 : the validation process cannot be started.
|
validate:dtd
Signatures | validate:dtd($input as item()) as empty-sequence() validate:dtd($input as item(), $dtd as xs:string) as empty-sequence()
|
Summary | Validates the document specified by $input . $input can be
|
Errors | BXVA0001 : the validation fails.BXVA0002 : the validation process cannot be started.
|
Examples |
try { let $doc := <invalid/> let $dtd := '<!ELEMENT root (#PCDATA)>' return validate:dtd($doc, $dtd) } catch BXVA0001 { 'DTD Validation failed.' } |
validate:dtd-info
Signatures | validate:dtd-info($input as item()) as xs:string* validate:dtd-info($input as item(), $dtd as xs:string) as xs:string*
|
Summary | Validates the document specified by $input and returns warning, errors and fatal errors in a string sequence. $input can be
|
Errors | BXVA0002 : the validation process cannot be started.
|
Errors
Code | Description |
---|---|
BXVA0001
|
The document cannot be validated against the specified DTD or XML Schema. |
BXVA0002
|
The validation cannot be started. |
Changelog
The module was introduced with Version 7.3.