Oops,
On 6/8/2010 1:16 PM, Lars Huttar wrote:
> Hi all,
>
> I'm using the validation transformer (...) in Cocoon 2.1.11, with
> Relax NG schemas.
>
I meant (validation-report).
> Here's the relevant portion of the sitemap:
Here it is:
<!-- validate the output of a URL against an RNG schema -->
<map:match pattern="run/**.rng/**"> <!-- also allow rnc? -->
<map:generate src="cocoon://mount/gemination/{2}" />
<!-- The following transformer component does not seem
to allow non-XML (such as rnc) for its src. -->
<map:transform type="validation-report"
src="cocoon://mount/gemination/{1}.rng" label="raw-report">
<map:parameter name="grammar"
value="http://relaxng.org/ns/structure/1.0" />
</map:transform>
<map:transform src="process/validation-report.xsl"
type="xslt-saxon">
<map:parameter name="schema" value="{1}.rng" />
<map:parameter name="input" value="{2}" />
</map:transform>
<map:serialize type="html" />
</map:match>
Lars
> I have three rng's, all in the same folder, each of which includes the
> previous one. I.e. metamodel-rnf.rng has
> <include href="metamodel-fnf.rng">
> and metamodel-fnf.rng has
> <include href="metamodel-bnf.rng">
>
> The strange behavior is that metamodel-fnf.rng works fine; but when I
> try to validate using metamodel-rnf.rng, I get the error below[1].
> For some reason,
> <include href="metamodel-bnf.rng">
> is ok, but
> <include href="metamodel-fnf.rng">
> is not ok.
>
> Why??
>
> If I change metamodel-rnf.rng to include bnf instead of fnf:
> <include href="metamodel-bnf.rng">
> then this error goes away.
> So maybe it has to do with including an RNG that includes another RNG.
> But of course this doesn't solve my problem, because I need to include
> the correct file or my grammar is wrong.
>
> Thanks for any suggestions.
> Lars
>
> [1] cause: java.net.MalformedURLException: BaseURI is not valid, it
> must contain a protocol: metamodel-fnf.rng
>
> full exception chain stacktrace[hide]
>
> org.apache.cocoon.ProcessingException: Failed to process pipeline
> at <map:serialize type="html"> -
> file:///C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/test/sitemap.xmap:62:46
> at <map:transform type="xslt-saxon"> -
> file:///C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/test/sitemap.xmap:58:86
> at <map:transform type="validation-report"> -
> file:///C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/test/sitemap.xmap:55:116
>
> at <map:generate> -
> file:///C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/test/sitemap.xmap:53:69
> ...
> Caused by: java.net.MalformedURLException: BaseURI is not valid, it must
> contain a protocol: metamodel-fnf.rng
> at
> org.apache.excalibur.source.impl.AbstractSourceResolver.resolveURI(AbstractSourceResolver.java:107)
> at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
> at $Proxy13.resolveURI(Unknown Source)
> at
> org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
> at
> org.apache.cocoon.components.validation.impl.ValidationResolver.resolveEntity(ValidationResolver.java:156)
> at
> org.apache.cocoon.components.validation.jing.JingResolver.resolveEntity(JingResolver.java:118)
> ...
>
> at
> com.thaiopensource.relaxng.parse.sax.SAXSubParser.makeInputSource(Unknown
> Source)
>
>
>
> Before that, I'm getting the following in cocoon.log:
>
> ERROR (2010-06-08) 11:49.44:152 [sitemap] (Unknown-URI)
> Unknown-Thread/AbstractProcessingPipeline: Unable to release self from
> automatic release.
> org.apache.cocoon.ProcessingException: Unable to remove component from
> automatic release: no environment available.
> at
> org.apache.cocoon.components.CocoonComponentManager.removeFromAutomaticRelease(CocoonComponentManager.java:506)
> at
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.release(AbstractProcessingPipeline.java:185)
> at
> org.apache.cocoon.components.source.impl.SitemapSource.reset(SitemapSource.java:435)
> ...
> INFO (2010-06-08) 11:49.44:156 [access]
> (/mount/gemination/test/run/metamodel/validation/metamodel-rnf.rng/metamodel/all/rnf/raw)
> http-8080-3/CocoonServlet:
> 'mount/gemination/test/run/metamodel/validation/metamodel-rnf.rng/metamodel/all/rnf/raw'
> Processed by Apache Cocoon 2.1.11 in 143 milliseconds.
> INFO (2010-06-08) 11:50.29:080 [core.manager]
> (/mount/gemination/test/run/metamodel/validation/metamodel-rnf.rng/metamodel/all/rnf/raw)
> http-8080-3/CacheImpl: Removing cached response for
> PK_G-file-file:///C:/Program Files/Apache Software Foundation/Tomcat
> 6.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/metamodel/data/validation/metamodel-rnf.rng
> INFO (2010-06-08) 11:50.29:083 [core.manager]
> (/mount/gemination/test/run/metamodel/validation/metamodel-rnf.rng/metamodel/all/rnf/raw)
> http-8080-3/CacheImpl: Caching new response for PK_G-file-file:///C:/Program
> Files/Apache Software Foundation/Tomcat
> 6.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/metamodel/data/validation/metamodel-rnf.rng
> INFO (2010-06-08) 11:50.29:089 [core.manager]
> (/mount/gemination/test/run/metamodel/validation/metamodel-rnf.rng/metamodel/all/rnf/raw)
> http-8080-3/CacheImpl: Removing cached response for
> PK_G-file-file:///C:/Program Files/Apache Software Foundation/Tomcat
> 6.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/metamodel/data/validation/metamodel-fnf.rng
> INFO (2010-06-08) 11:50.29:090 [core.manager]
> (/mount/gemination/test/run/metamodel/validation/metamodel-rnf.rng/metamodel/all/rnf/raw)
> http-8080-3/CacheImpl: Caching new response for PK_G-file-file:///C:/Program
> Files/Apache Software Foundation/Tomcat
> 6.0/webapps/../../cocoon-2.1.11-src/cocoon-2.1.11/build/webapp/mount/gemination/metamodel/data/validation/metamodel-fnf.rng
>
>
>