
xerces-c
--------

-DOMPrint utility patch (mandatory)
  /samples/DOMPrint/DOMPrint.cpp  
  -this does the validation process
  -mod_schema just launches this process after some minor modifications to
   schema & instance xml files
  -install: cd onto xerces 
            patch -p0 < domprint.patch
            compile and install xerces as appropriate  

-proxy patch (optional, unix hack only)
  /src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
  -to allow retrieval of schemas through http-proxies


mod_schema
----------
-parsers schema docs (multipart with libapreq) 
-dumps docs into temp files, the references of which are updated with the aid of libxml2
-spawns xerces DOMPrint (patched) utility to make the actual instance document validation
-rebuild rpm or do "standard": configure, make, make install-module.


forms
-----
-simple example forms that the responses of which the module "understands" 


Apache conf
___________

- e.g. add these to config file /etc/httpd/conf.d/schema.conf:

LoadModule schema_module modules/mod_schema.so

<Location /schema>
   SetHandler schema_handler
   SchemaProcess DOMPrint
   HttpProxy http://example.com:8080
</Location>

-schema module handler will then interpret form responses.


A running example is at validate.openlaboratory.net
