cocoon-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cocoon Wiki] Update of "ValidationTransformer" by DavidPérez
Date Fri, 26 Aug 2005 06:19:11 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cocoon Wiki" for change notification.

The following page has been changed by DavidPérez:
http://wiki.apache.org/cocoon/ValidationTransformer

------------------------------------------------------------------------------
  </map:resource>
  }}}
  
- As you can see in the {{{src}}} attribute we pass a URL that points to a DTD, Relax NG Schema
or XML Schema.  Any valid protocol is valid, even the {{{cocoon:}}} one.
+ As you can see in the {{{src}}} attribute we pass a URL that points to a DTD, Relax NG Schema
or XML Schema.  Any valid protocol is valid, even the {{{cocoon:}}} one.  Relax NG Schemas
are much more powerful and easy to generate.
  
  ==== Configuration ====
  
@@ -55, +55 @@

  	....
  	<map:transformer logger='transf.validate' name='validate' src='fcc.ima.cocoon.ValidatorTransformer'>
  		<active>false</active>
+                 <defaultFactory>com.thaiopensource.relaxng.jarv.VerifierFactoryImpl</defaultFactory>
  	</map:transformer> 
  	....
  </map:transformers>
  }}}
+ 
+ The {{{<factory>}}} element specifies the default validator factory.  It can be overriden
with the parameter of the same name.  Its default value is {{{com.sun.msv.verifier.jarv.TheFactoryImpl}}}.
 This means to use the {{{Sun Multi-Schema XML Validator}}}.  See later under the pre-requisites
section.
  
  The following boolean parameters control if processing must be aborted in case of a warning,
an error or a fatal error:
   *  stop-for-errors, default value {{{false}}}.
@@ -114, +117 @@

  </report>
  }}}
  
+ ==== Locating errors ====
+ 
+ If the generator provides a [http://www.docjar.com/docs/api/org/xml/sax/Locator.html document
locator], the line and column number are provided.
+ This allows to easily locate the error.
+ In any other case a pseudo-XPath syntax is used like this {{{rootElement/subElement[number]/subElement[number]/....}}}.
+ 
+ Example:
+ 
+ If an error is reported in {{{html/body[2]/div[5]}}} it means that the error appears in
a div element, that is the fifth child element (not the fifth {{{<div>}}} element!)
of a {{{<body>}}} element.  This {{{<body>}}} element is the second child of the
{{{<html>}}} root tag.
+ 
  ==== Declaration ====
  
  In order to use it first you have to declare the transformer as a sitemap component:
@@ -152, +165 @@

  
  Both transformers use a product called [http://wwws.sun.com/software/xml/developers/multischema/
Sun Multi-Schema XML Validator].  It has been tested with version {{{20030225}}}.  You need
to place the file {{{msv.jar}}} and other ones this product needs like {{{xsdlib.jar}}}, {{{relaxngDatatype.jar}}}
and {{{isorelax.jar}}} in {{{WEB-INF/lib}}} of your {{{Cocoon}}} installation.  All these
JARs are included in {{{msv.zip}}}.
  
- An alternative to MSV is Jing http://www.thaiopensource.com/relaxng/jing.html and isorelax
http://iso-relax.sourceforge.net/.
+ An alternative to {{{MSV}}} is [http://www.thaiopensource.com/relaxng/jing.html Jing] and
[http://iso-relax.sourceforge.net/ isorelax].
- I have tested both and prefer MSV because it gives clearer validation messages.
+ I have tested both and personally prefer {{{MSV}}} because it gives clearer validation messages.
  
  In order to use Jing, you have to specify this verification factory: {{{}}}
  

Mime
View raw message