function
| 
                
Library: XML schema (OMXMLSCHEMA)
 Import : omxmlschema.xmd  | 
              
 Returns: compiled schema  | 
            
export xml-schema-type function
   compile-schema           from value     string source              schema-input optional
                              at value     string                     schema-uri   optional
                             via value     entity-resolver            resolver     optional
                            into value     xml-schema-type            collection   optional
    
Use compile-schema to compile a W3C XML schema as specified in W3C XML
        Schema specification, so that you may validate XML input against it.
      
 If the schema is invalid and cannot be compiled, compile-schema throws the compile-error exception.
      
 You can supply the schema XML document to compile directly in the schema-input argument,
        or alternatively provide its location using the schema-uri argument. If the root document
        references other W3C schema documents using the import or include
        constructs, compile-schema will try to resolve and load them using the resolver
        argument.
      
 You can also compile multiple schema documents for different XML namespaces and bundle them using the
        collection argument. This can be useful if you need to validate an XML document whose namespace
        and schema is not known in advance. If the document explicitly specifies the schema using the
        xsi:schemaLocation or xsi:noNamespaceSchemaLocation attribute, you can use
        w3c.empty-schema instead.
      
 In this example we compile a schema in file example-schema.xsd and validate XML input
          against it, reporting any errors along the way:
          
import "omxmlschema.xmd" prefixed by w3c. process local w3c.xml-schema-type example-schema set example-schema to w3c.compile-schema at "example-schema.xsd" do xml-parse scan file "example-input.xml" do markup-parse w3c.validated #content against example-schema output "%c" done done element #implied output "%c"