MarkLogic 12 EA 1 Product Documentation
AccessPlan.prototype.validateDoc

AccessPlan.prototype.validateDoc(
   validateDocCol as String,
   schemaDef as Object
) as ModifyPlan

Summary

Validate the document based on a supplied schema. This schema needs to be stored in the schema database. Check appserver error log for validate errors.

Parameters
validateDocCol This is the column which contains the document to validate. This can be a string of the column name or an op.col. Use op.viewCol or op.schemaCol if you need to identify columns in the two views that have the same column name.
schemaDef This is an object. The required 'kind' property of the schema object must be 'jsonSchema', 'schematron', or 'xmlSchema'. When 'kind' is 'jsonSchema' or 'schemtron' then a property 'schemaUri' is required. Property 'mode' takes 'strict', 'lax' or 'type' (refer to xdmp.validate).

See Also

Example

const op = require('/MarkLogic/optic');
                op.fromDocDescriptors([{uri:'/optic/validateDoc/toValidate1.xml'}])
                   .joinDocCols(null, op.col('uri'))
                   .validateDoc('doc', {kind:'xmlSchema', mode:'strict'})
                   .result();
  

Example

const op = require('/MarkLogic/optic');
op.fromDocDescriptors([{uri:'/optic/validateDoc/toValidate1.xml'},
                       {uri:"/optic/validateDoc/toValidate2.xml"},
                       {uri:"/optic/validateDoc/toValidate3.xml"}])
   .joinDocCols(null, op.col('uri'))
   .orderBy('uri')
   .validateDoc('doc', {kind:'xmlSchema', mode:'type', type:fn.QName("http://marklogic.com/xdmp/group", "count")})
   .result();
  

Example

  const op = require('/MarkLogic/optic');
  op.fromDocDescriptors([{uri:"/optic/validateDoc/validate4.json"}])
     .joinDocCols(null, op.col('uri'))
     .validateDoc('doc', {kind:'jsonSchema', schemaUri:'/validateDoc-test.json', mode:"full"})
     .result();
  

Example

const op = require('/MarkLogic/optic');
op.fromDocDescriptors([{uri:'/optic/validateDoc/toValidateSchematron1.xml'},
                       {uri:"/optic/validateDoc/toValidateSchematron2.xml"},
                       {uri:"/optic/validateDoc/toValidateSchematron3.xml"}], 'view')
   .joinDocCols(op.docCols('view'), op.viewCol('view','uri'))
   .orderBy(op.viewCol('view','uri'))
   .validateDoc(op.viewCol('view','doc'), {kind:'schematron', schemaUri:"/validateDoc-test.sch"})
   .result();
  
Powered by MarkLogic Server | Terms of Use | Privacy Policy