Loading TOC...

xdmp:json-validate

xdmp:json-validate(
   $node as node(),
   $schema as xs:string,
   $options as xs:string*
) as node()

Summary

Validate a JSON node against a JSON Schema. If the node is not valid per the schema, raise an error. Otherwise, return the input node.

Parameters
node JSON node to be validated.
schema URI of the JSON schema to use for validation.
options Validation options. Supported options:
"full"
Keep trying to find all the errors.
"strict"
Stop after the first error. (Default)

Example

(: Assuming the following JSON schema is in the schema database at
   "/schemas/example.json" :
    {
      "language": "zxx",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
         "count": { "type":"integer", "minimum":0 },
         "items": { "type":"array", "items": {"type":"string", "minLength":1 } }
      }
    }
:)
  xdmp:json-validate(
     object-node{ "count": 3, "items": array-node{12} }, "/schemas/example.json" )

=> XDMP-JSVALIDATEINVTYPE: Invalid node type: Expected node of type text, found number at number-node{12} using schema "/schemas/example.json"
at 1:0 [1.0-ml]
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.