Difference between revisions of "Validation Module"
m (Text replace - "{{Mono|" to "{{Code|") |
|||
| Line 3: | Line 3: | ||
=Conventions= | =Conventions= | ||
| − | All functions in this module are assigned to the | + | All functions in this module are assigned to the {{Code|http://basex.org/modules/validate}} namespace, which is statically bound to the {{Code|validate}} prefix.<br/> |
| − | All errors are assigned to the | + | All errors are assigned to the {{Code|http://basex.org/errors}} namespace, which is statically bound to the {{Code|bxerr}} prefix. |
=Functions= | =Functions= | ||
| Line 12: | Line 12: | ||
|- | |- | ||
| width='90' | '''Signatures''' | | width='90' | '''Signatures''' | ||
| − | | | + | |{{Func|validate:xsd|$input as item()|empty-sequence()}}<br />{{Func|validate:xsd|$input as item(), $schema as item()|empty-sequence()}} |
|- | |- | ||
| '''Summary''' | | '''Summary''' | ||
| − | |Validates the document specified by | + | |Validates the document specified by {{Code|$input}}.<br /> |
| − | Both | + | Both {{Code|$input}} and {{Code|$schema}} may be |
| − | * an | + | * an {{Code|xs:string}}, containing the path to the resource, |
| − | * an | + | * an {{Code|xs:string}}, containing the resource in its string representation, or |
| − | * a | + | * 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 /> | |
|- | |- | ||
| '''Errors''' | | '''Errors''' | ||
| − | | | + | |{{Error|BXVA0001|XQuery Errors#Functions Errors}} the addressed document cannot be validated against the given schema. |
|- | |- | ||
| '''Examples''' | | '''Examples''' | ||
| | | | ||
| − | * | + | * {{Code|validate:xsd('doc.xml', 'doc.xsd')}} validates the document {{Code|doc.xm}} against the specified schema {{Code|doc.xsd}}. |
* The following example demonstrates how a document can be validated against a schema without resorting to local or remote URIs: | * The following example demonstrates how a document can be validated against a schema without resorting to local or remote URIs: | ||
<pre class="brush:xquery"> | <pre class="brush:xquery"> | ||
| Line 43: | Line 43: | ||
|- | |- | ||
| width='90' | '''Signatures''' | | width='90' | '''Signatures''' | ||
| − | | | + | |{{Func|validate:dtd|$input as item()|empty-sequence()}}<br />{{Func|validate:dtd|$input as item(), $dtd as xs:string|empty-sequence()}} |
|- | |- | ||
| '''Summary''' | | '''Summary''' | ||
| − | |Validates the document specified by | + | |Validates the document specified by {{Code|$input}}.<br /> |
| − | + | {{Code|$input}} may be | |
| − | * an | + | * an {{Code|xs:string}}, containing the path to the resource, |
| − | * an | + | * an {{Code|xs:string}}, containing the resource in its string representation, or |
| − | * a | + | * a {{Code|node()}}, containing the resource itself. |
| − | + | {{Code|$schema}} can be used to specify the DTD for validation. If no DTD is given, {{Code|$input}} is required to contain a DTD doctype declaration.<br /> | |
|- | |- | ||
| '''Errors''' | | '''Errors''' | ||
| − | | | + | |{{Error|BXVA0001|XQuery Errors#Functions Errors}} the addressed document cannot be validated against the given DTD. |
|- | |- | ||
|} | |} | ||
| Line 64: | Line 64: | ||
! width="95%"|Description | ! width="95%"|Description | ||
|- | |- | ||
| − | | | + | |{{Code|BXVA0001}} |
|A document cannot be validated against the specified DTD or XML Schema. | |A document cannot be validated against the specified DTD or XML Schema. | ||
|} | |} | ||
Revision as of 16:17, 26 May 2012
This XQuery Module contains functions to perform validations against XML Schema and Document Type Declarations.
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
|
| Errors | BXVA0001: the addressed document cannot be validated against the given schema.
|
| 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: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.
|
| Errors | BXVA0001: the addressed document cannot be validated against the given DTD.
|
Errors
| Code | Description |
|---|---|
BXVA0001
|
A document cannot be validated against the specified DTD or XML Schema. |
Changelog
The module was introduced with Version 7.2.2.