Difference between revisions of "Validation Module"

From BaseX Documentation
Jump to navigation Jump to search
m (Text replace - "| valign='top' | " to "| ")
Line 12: Line 12:
 
|<code><b>validate:xsd</b>($input as item()) as empty-sequence()</code><br /><code><b>validate:xsd</b>($input as item(), $schema as item()) as empty-sequence()</code>
 
|<code><b>validate:xsd</b>($input as item()) as empty-sequence()</code><br /><code><b>validate:xsd</b>($input as item(), $schema as item()) as empty-sequence()</code>
 
|-
 
|-
| valign='top' | '''Summary'''
+
| '''Summary'''
 
|Validates the document specified by <code>$input</code>.<br />
 
|Validates the document specified by <code>$input</code>.<br />
 
Both <code>$input</code> and <code>$schema</code> may be  
 
Both <code>$input</code> and <code>$schema</code> may be  
Line 20: Line 20:
 
<code>$schema</code> can be used to specify the schema for validation. If no schema is given, <code>$input</code> is required to contain an <code>xsi:(noNamespace)schemaLocation</code> as defined in [http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation W3C XML Schema].<br />
 
<code>$schema</code> can be used to specify the schema for validation. If no schema is given, <code>$input</code> is required to contain an <code>xsi:(noNamespace)schemaLocation</code> as defined in [http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation W3C XML Schema].<br />
 
|-
 
|-
| valign='top' | '''Errors'''
+
| '''Errors'''
 
|'''[[XQuery Errors#Functions Errors|BASX0023]]''' is raised if the addressed document cannot be validated against the given schema.
 
|'''[[XQuery Errors#Functions Errors|BASX0023]]''' is raised if the addressed document cannot be validated against the given schema.
 
|-
 
|-
| valign='top' | '''Examples'''
+
| '''Examples'''
 
|
 
|
 
* <code>validate:xsd('doc.xml', 'doc.xsd')</code> validates the document {{Mono|doc.xm}} against the specified schema {{Mono|doc.xsd}}.
 
* <code>validate:xsd('doc.xml', 'doc.xsd')</code> validates the document {{Mono|doc.xm}} against the specified schema {{Mono|doc.xsd}}.

Revision as of 00:42, 26 May 2012

This XQuery Module contains functions to perform validations against XML Schema and Document Type Declarations. This module has been introduced with Version 7.2.2.

All functions are preceded by the validate: prefix, which is linked to the statically declared http://basex.org/modules/validate namespace.

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 may be

  • an xs:string, containing the path to the resource,
  • an xs:string, containing the resource in its string representation, or
  • a node(), containing the resource itself.

$schema can be used to specify the schema for validation. If no schema is given, $input is required to contain an xsi:(noNamespace)schemaLocation as defined in W3C XML Schema.

Errors BASX0023 is raised if the addressed document cannot be validated against the given schema.
Examples
  • validate:xsd('doc.xml', 'doc.xsd') validates the document doc.xm against the specified schema doc.xsd.
  • The following example demonstrates how a document can be validated against a schema without resorting to local or remote URIs:
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()

Changelog

The module was introduced with Version 7.2.2.