A document has been updated:
http://cocoon.zones.apache.org/daisy/documentation/684.html
Document ID: 684
Branch: main
Language: default
Name: ValidatingTransformer (unchanged)
Document Type: Sitemap Component (previously: Cocoon Document)
Updated on: 3/18/06 7:15:18 PM
Updated by: Bruno Dumon
A new version has been created, state: publish
Parts
=====
Content
-------
This part has been removed.
Long description
----------------
This part has been added.
Mime type: text/xml
File name: null
Size: 3524 bytes
Content:
<html>
<body>
<p>The <tt>ValidatingTransformer</tt> provides a very simple
<tt>Transformer</tt> implementation validating documents in a pipeline using the
validation framework provided by the <a href="daisy:683">validation block</a>.
</p>
<p>The configuration for this transformer is extremely easy: Like any other
component, it needs to be declared in a sitemap's
<tt><map:components/></tt> section:</p>
<pre><map:components>
...
<map:transformers default="...">
...
<strong> <map:transformer name="validate"
logger="sitemap.transformer.validate"
src="org.apache.cocoon.transformation.ValidatingTransformer">
<!--+ The "grammar" an optional configuration element specifying the
default
| grammar used by the validator. When the "grammar" element is
specified,
| the automatic detection of schema types will be disabled.
|
| This can also be specifed in pipelines as a parameter:
| <map:parameter name="grammar" value="... grammar identifier
..."/>
|
| For a list of well known grammars, see the JavaDoc documentation
for the
| org.apache.cocoon.components.validation.Validator interface.
+-->
<!-- <grammar>... grammar identifier ...</grammar> -->
</map:transformer>
</strong>
...
</map:transformers>
</map:components>
</pre>
<p>The only defined (but <strong>not required</strong>) configuration element
for this component is <tt><grammar><em>... grammar identifier
...</em></grammar></tt> indicating the grammar to pass to the Validator
component. See the documentation of the <a href="daisy:683#grammars">validation
block</a> for more information on what this means.</p>
<p>The use of the <tt>ValidatingTransformer</tt> is again extremely simple.
Simply declare it in the pipeline like any other transformer:</p>
<pre><map:pipeline type="...">
...
<map:match src="...">
<map:generate src="..."/>
...
<strong><map:transform type="validating" src="myschema.rng">
<!-- <map:parameter name="grammar" value="... identifier ..."/>
-->
</map:transform>
</strong> ...
<map:serialize type="..."/>
</map:match>
...
</map:pipeline>
</pre>
<p>Following the example above, the document being processed in the pipeline
will be validated using the "<tt>myschema.rng</tt>" schema (the
<tt>Validator</tt> will autodetect this to be a
<a href="http://relax-ng.org/">RELAX-NG</a> schema), and the entire pipeline
will fail throwing a <tt>SAXException</tt> if an error was detected validating.
</p>
<p>The optional "<tt>grammar</tt>" parameter will override at run time whatever
configuration parameter was specified in the <tt><map:components/></tt>
section of the pipeline. For example one might not declare a grammar in the
configuration (letting the normal grammar auto-detection to work) and override
it for a specific pipeline with the XML DTD grammar identifier (which can't be
detected, as it's not an XML document).</p>
<p>Note that if multiple errors occur in any document, only the first one will
be reported: this transformer doesn't give you a report of all errors in the
document, it simply fail on the first error detected. Another transformer, the
<a href="daisy:691"><tt>ValidationReportTransformer</tt> </a>allows to produce
validation reports.</p>
</body>
</html>
Fields
======
no changes
Links
=====
no changes
Custom Fields
=============
no changes
Collections
===========
no changes