Difference between revisions of "Validation Module"
m (Fix file name in example for validate:rng) |
|||
Line 37: | Line 37: | ||
let $dtd := '<!ELEMENT root (#PCDATA)>' | let $dtd := '<!ELEMENT root (#PCDATA)>' | ||
return validate:dtd($doc, $dtd) | return validate:dtd($doc, $dtd) | ||
− | } catch BXVA0001 { | + | } catch bxerr:BXVA0001 { |
'DTD Validation failed.' | 'DTD Validation failed.' | ||
} | } |
Revision as of 16:47, 24 August 2015
This XQuery Module contains functions to perform validations against DTDs, XML Schema and (since Version 8.3) RelaxNG:
- For DTDs and XML Schema, Java’s standard validators is used.
- For XML Schema, the Saxon XSLT Processor –
SaxonHE.jar
,SaxonPE.jar
, orSaxonEE.jar
– is used if it is added to the classpath. - For RelaxNG, Jing must be added to the classpath. The latest version,
jing-20091111.jar
, is included in the full distributions of BaseX.
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: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 specified as:
|
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 bxerr: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 specified as:
|
Errors | BXVA0002 : the validation process cannot be started.
|
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 specified as:
|
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. $input and $schema can be specified as:
|
Errors | BXVA0002 : the validation process cannot be started.
|
validate:rng
Signatures | validate:rng($input as item(), $schema as item()) as empty-sequence() validate:rng($input as item(), $schema as item(), $compact as xs:boolean) as empty-sequence()
|
Summary | Validates the document specified by $input . The validation schema is specified by $schema , and $compact indicates if the schema uses the compact RelaxNG notation. Both $input and $schema can be specified as:
|
Errors | BXVA0001 : the validation fails.BXVA0002 : the validation process cannot be started.BXVA0003 : the RelaxNG validator is not available.
|
Examples |
|
validate:rng-info
Signatures | validate:rng-info($input as item(), $schema as item()) as xs:string* validate:rng-info($input as item(), $schema as item(), $compact as xs:boolean) as xs:string*
|
Summary | Validates the document specified by $input and returns warnings, errors and fatal errors in a string sequence. The validation schema is specified by $schema , and $compact indicates if the schema uses the compact RelaxNG notation. $input and $schema can be specified as:
|
Errors | BXVA0002 : the validation process cannot be started.BXVA0003 : the RelaxNG validator is not available.
|
Errors
Code | Description |
---|---|
BXVA0001
|
The document cannot be validated against the specified DTD or XML Schema. |
BXVA0002
|
The validation cannot be started. |
BXVA0003
|
No RelaxNG validator is available. |
Changelog
- Version 8.3
- Added: validate:rng, validate:rng-info
- Version 7.6
- Added: validate:xsd-info, validate:dtd-info
The module was introduced with Version 7.3.