relaxng.validator

function

Library: RELAX NG (OMRELAXNG)
Import : omrelaxng.xmd

Returns: A markup sink ready to receive parsed markup for validation.


Declaration
export dynamic markup sink function
   validator          against value schema-type schema-instance
             case-insensitive value switch      is-case-insensitive optional initial { false }
             report-errors-to value markup sink errors              optional
    


Purpose

Use validator to validate an SGML or XML document instance against a RELAX NG schema. The schema must be specified as schema-instance argument to the function. The validator function sends all validation errors it finds into the errors sink if it is specified, and reports them in the log stream if the errors argument is not specified.

Example

This program validates sgml input against a RELAX NG schema, reports any errors and keeps going:

  import "omrelaxng.xmd" prefixed by relaxng.
  
  
  define markup sink function
     error-reporter (value string sink s)
  as
     using output as s
     do markup-parse #current-input
        output "%c"
     done
  
  
  process
     local relaxng.relaxng-schema-type example-schema
  
     set example-schema to relaxng.compile-schema file "example-schema.rng"
  
     using output as relaxng.validator against example-schema report-errors-to error-reporter (#error)
     do xml-parse scan file "example-input.xml"
        output #content
     done 
            

Related Topics