Loading TOC...

xdmp.validate

xdmp.validate(
   $node as Node,
   [$mode as String],
   [$typeName as xs.QName]
) as element(xdmp.validationErrors)

Summary

Returns an element containing a summary of validation errors in a node.

Parameters
$node The node to validate.
$mode The validation mode, either "strict", "lax", or "type".
$typeName The name of the type to validate against, if the mode is "type". An error is raised if a typeName is given with a different validation mode, or if no type is given if the mode is "type".

Example

xdmp.validate(
xdmp.unquote('<t:thesaurus xmlns:t="http://marklogic.com/xdmp/thesaurus">'
+  '<t:entry> \n \
     <t:term>one</t:term> \n \
     <t:notes>unexpected stuff</t:notes> \n \
     <t:part-of-speech>expl</t:part-of-speech> \n \
     <t:synonym> \n \
        <t:term>unique</t:term> \n \
     </t:synonym> \n \
  </t:entry> \n \
</t:thesaurus>' ) );
=>

<xdmp:validation-errors xmlns:xdmp="http://marklogic.com/xdmp">
 <error:error xmlns:error="http://marklogic.com/xdmp/error"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <error:code>XDMP-VALIDATEUNEXPECTED</error:code>
    <error:name>err:XQDY0027</error:name>
    <error:xquery-version>JavaScript</error:xquery-version>
    <error:message>Invalid node</error:message>
    <error:format-string>XDMP-VALIDATEUNEXPECTED: validate full { () } --
    Invalid node: Found {http://marklogic.com/xdmp/thesaurus}notes but
    expected ({http://marklogic.com/xdmp/thesaurus}part-of-speech?,
		    {http://marklogic.com/xdmp/thesaurus}qualifiers?,
		    {http://marklogic.com/xdmp/thesaurus}scope-notes?,
		    {http://marklogic.com/xdmp/thesaurus}synonym+) at
    fn:doc('')/t:thesaurus/t:entry/t:notes using schema
		"thesaurus.xsd"</error:format-string>
    <error:retryable>false</error:retryable>
    <error:expr>validate full { () }</error:expr>
    <error:data>
      <error:datum>{http://marklogic.com/xdmp/thesaurus}notes</error:datum>
      <error:datum>({http://marklogic.com/xdmp/thesaurus}part-of-speech?,
		      {http://marklogic.com/xdmp/thesaurus}qualifiers?,
		      {http://marklogic.com/xdmp/thesaurus}scope-notes?,
		      {http://marklogic.com/xdmp/thesaurus}synonym+)
      </error:datum>
      <error:datum>fn:doc('')/t:thesaurus/t:entry/t:notes</error:datum>
      <error:datum>"thesaurus.xsd"</error:datum>
    </error:data>
    <error:stack>
      <error:frame>
  <error:operation>xdmp:eval("xdmp.validate(\nxdmp.unquote('&lt;t:thesaurus
  xmlns:t=\"http://mark...", {}, &lt;options
  xmlns="xdmp:eval"&gt;&lt;database&gt;18210430083193679484&lt;/database&gt;
  &lt;root&gt;/space/appserver&lt;...&lt;/options&gt;)
  </error:operation>
  <error:xquery-version>JavaScript</error:xquery-version>
      </error:frame>
      <error:frame>
  <error:uri>/qconsole/endpoints/evaljs.sjs</error:uri>
  <error:xquery-version>JavaScript</error:xquery-version>
      </error:frame>
    </error:stack>
  </error:error><error:error xmlns:error="http://marklogic.com/xdmp/error"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <error:code>XDMP-VALIDATEBADTYPE</error:code>
    <error:name>err:XQDY0027</error:name>
    <error:xquery-version>JavaScript</error:xquery-version>
    <error:message>Invalid node type</error:message>
    <error:format-string>XDMP-VALIDATEBADTYPE: validate full { () } --
    Invalid node type: {http://marklogic.com/xdmp/thesaurus}part-of-speech
    lexical value "expl" invalid for expected type
    #{http://marklogic.com/xdmp/thesaurus}part-of-speech at fn:doc('')
    /t:thesaurus/t:entry/t:part-of-speech using schema "thesaurus.xsd"
    </error:format-string>
    <error:retryable>false</error:retryable>
    <error:expr>validate full { () }</error:expr>
    <error:data>
      <error:datum>
        {http://marklogic.com/xdmp/thesaurus}part-of-speech
      </error:datum>
      <error:datum>"expl"</error:datum>
      <error:datum>
        #{http://marklogic.com/xdmp/thesaurus}part-of-speech
      </error:datum>
      <error:datum>fn:doc('')/t:thesaurus/t:entry/t:part-of-speech</error:datum>
      <error:datum>"thesaurus.xsd"</error:datum>
    </error:data>
    <error:stack>
      <error:frame>
  <error:operation>xdmp:eval("xdmp.validate(\nxdmp.unquote('&lt;t:thesaurus
  xmlns:t=\"http://mark...", {}, &lt;options xmlns="xdmp:eval"&gt;&lt;database
  &gt;18210430083193679484&lt;/database&gt;&lt;root&gt;/space/appserver
  &lt;...&lt;/options&gt;)</error:operation>
  <error:xquery-version>JavaScript</error:xquery-version>
      </error:frame>
      <error:frame>
  <error:uri>/qconsole/endpoints/evaljs.sjs</error:uri>
  <error:xquery-version>JavaScript</error:xquery-version>
      </error:frame>
    </error:stack>
  </error:error>
</xdmp:validation-errors>

Comments

    Powered by MarkLogic Server 7.0-4.1 and rundmc | Terms of Use | Privacy Policy