cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francesco Chicchiriccò <ilgro...@apache.org>
Subject Re: Unable to transform to docbook
Date Tue, 13 Nov 2012 08:13:57 GMT
On 11/11/2012 18:14, Mansour Al Akeel wrote:
> Ok Finally issue resolved.

I've opened COCOON3-109 for reporting this to the website - this is
quite a common use case, I'd say.

Regards.

> It looks like I am able to use docbook. Here's the steps to do so.
>
> There's a file cocoon_source/cocoon/cocoon-sax/src/test/resources/META-INF/services/javax.xml.transform.TransformerFactory
>
> This file contains the value: org.apache.xalan.xsltc.trax.TransformerFactoryImpl
>
> If you need to use the default xalan factory, then you need to change it to.
>
> org.apache.xalan.processor.TransformerFactoryImpl
>
>
> Now your unit tests should create Transformer Factory using the new
> value "org.apache.xalan.processor.TransformerFactoryImpl"
>
> If you need to do this in your block, then copy this file to
> META-INF/services in your block.
>
> This is a good an easy way to switch factories. I hope it helps
> someone else stuck with complex XSLTs like docbook-xsl.
>
> Thank you all.
>
>
>
>
> On Sun, Nov 11, 2012 at 10:43 AM, Mansour Al Akeel
> <mansour.alakeel@gmail.com> wrote:
>> After googling for sometime, I found this related issue:
>>
>> https://lists.oasis-open.org/archives/docbook-apps/201006/msg00162.html
>>
>> The suggested solution was to disable compiling xslt or use saxon:
>>
>> ====================================
>> Well, XSLTC is known to have problems with really complex
>> transformations like DocBook XSL stylesheets. If you are in Java
>> environment it is recommended to use Saxon, you can also use Xalan
>> (normal version, not compiled).
>> ====================================
>>
>> AFAIK, C3.0 doesn't have saxon as an option, so I will have to disable
>> xslt compilation.
>> Is there a way to do so ??
>>
>>
>>
>>
>>
>> On Sun, Nov 11, 2012 at 1:28 AM, Mansour Al Akeel
>> <mansour.alakeel@gmail.com> wrote:
>>> Robby, here's the code I am using for my test case. Nothing fancy,
>>> just to be able to debug loading the xslt:
>>>
>>>
>>>         @Test
>>>         public void docbookTest() throws Exception {
>>>                 Cache cache = new SimpleCache();
>>>
>>>                 CachingPipeline<SAXPipelineComponent> pipeline = new
>>> CachingPipeline<SAXPipelineComponent>();
>>>                 pipeline.setCache(cache);
>>>
>>>                 pipeline.addComponent(new XMLGenerator(getClass().getResource(
>>>                                 "/article.xml")));
>>>
>>>                 URL xsltURL = new
>>> URL("file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/docbook.xsl");
>>>
>>>                 XSLTTransformer xslt = new XSLTTransformer(xsltURL);
>>>
>>>                 pipeline.addComponent(xslt);
>>>
>>>                 pipeline.addComponent(XMLSerializer.createXMLSerializer());
>>>
>>>                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
>>>                 pipeline.setup(baos);
>>>                 pipeline.execute();
>>>
>>>         }
>>>
>>>
>>> here's the error I am getting:
>>>
>>>
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 939: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1063: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1193: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1193: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1294: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1332: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 283: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 283: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 353: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 353: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/annotations.xsl:
>>> line 117: Attribute 'onClick' outside of element.
>>> ERROR:  'Cannot find external method
>>> 'org.apache.xalan.lib.NodeInfo.systemId' (must be public).'
>>> FATAL ERROR:  'Could not compile stylesheet'
>>> javax.xml.transform.TransformerConfigurationException: Could not
>>> compile stylesheet
>>>         at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:832)
>>>         at org.apache.cocoon.sax.component.XSLTTransformer.loadXSLT(XSLTTransformer.java:164)
>>>         at org.apache.cocoon.sax.component.XSLTTransformer.<init>(XSLTTransformer.java:112)
>>>         at org.apache.cocoon.sax.component.XSLTTransformer.<init>(XSLTTransformer.java:98)
>>>         at org.apache.cocoon.sax.component.XSLTTransformerTest.docbookTest(XSLTTransformerTest.java:86)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>>
>>> I downgraded to xalan-2.7.0 in the parent/pom.xml to give it a try,
>>> but now I am getting this error:
>>>
>>>
>>> 06:18:30.599 [main] DEBUG o.a.cocoon.pipeline.AbstractPipeline -
>>> Adding component XMLGenerator(hashCode=1538386262
>>> internalGenerator=URLGenerator(hashCode=782702191
>>> source=file:/home/mansour/workspace/sources/cocoon/cocoon-sax/target/test-classes/article.xml))
>>> to pipeline [CachingPipeline(hashCode=341284117 components=[])].
>>> 06:18:31.597 [main] DEBUG o.a.c.sax.component.XSLTTransformer -
>>> XSLTTransformer local cache miss:
>>> file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/docbook.xsl
>>> Compiler warnings:
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/autoidx.xsl:
>>> line 610: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/autoidx.xsl:
>>> line 662: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/autoidx.xsl:
>>> line 662: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/autoidx.xsl:
>>> line 686: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/autoidx.xsl:
>>> line 686: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/lists.xsl:
>>> line 862: Attribute 'type' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/callout.xsl:
>>> line 116: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/xref.xsl:
>>> line 188: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/xref.xsl:
>>> line 1017: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/formal.xsl:
>>> line 211: Attribute 'id' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/formal.xsl:
>>> line 435: Attribute 'id' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/htmltbl.xsl:
>>> line 20: Attribute 'id' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 108: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 108: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 144: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 144: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 184: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 184: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 714: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 939: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1063: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1193: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1193: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1294: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/inline.xsl:
>>> line 1332: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 283: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 283: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 353: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/glossary.xsl:
>>> line 353: Attribute 'href' outside of element.
>>>   file:/home/mansour/workspace/sources/cocoon/cocoon-sax/src/test/resources/docbook-xsl/html/annotations.xsl:
>>> line 117: Attribute 'onClick' outside of element.
>>> ERROR:  'Syntax error in '* or $generate.index != 0'.'
>>> FATAL ERROR:  'Could not compile stylesheet'
>>> javax.xml.transform.TransformerConfigurationException: Could not
>>> compile stylesheet
>>>         at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
>>>         at org.apache.cocoon.sax.component.XSLTTransformer.loadXSLT(XSLTTransformer.java:164)
>>>         at org.apache.cocoon.sax.component.XSLTTransformer.<init>(XSLTTransformer.java:112)
>>>         at org.apache.cocoon.sax.component.XSLTTransformer.<init>(XSLTTransformer.java:98)
>>>         at org.apache.cocoon.sax.component.XSLTTransformerTest.docbookTest(XSLTTransformerTest.java:86)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>
>>>
>>> On Thu, Nov 8, 2012 at 9:34 AM, Robby Pelssers <Robby.Pelssers@nxp.com>
wrote:
>>>> I did see you created an issue. But if you could provide me a small isolated
test case in some zip I could have taken a look at it. Still ready to help out.
>>>>
>>>> Robby
>>>>
>>>> -----Original Message-----
>>>> From: Mansour Al Akeel [mailto:mansour.alakeel@gmail.com]
>>>> Sent: Thursday, November 08, 2012 3:31 PM
>>>> To: users@cocoon.apache.org
>>>> Subject: Re: Unable to transform to docbook
>>>>
>>>> Robby,
>>>> I created a small unit test yesterday, and created a patch for the solution.
>>>> https://issues.apache.org/jira/browse/COCOON3-108
>>>>
>>>> I think a small unit test doesn't show the real issue. I will test it with
docbook xsl today.
>>>>
>>>>
>>>>
>>>> On Thu, Nov 8, 2012 at 4:11 AM, Robby Pelssers <Robby.Pelssers@nxp.com>
wrote:
>>>>> Hi Mansour,
>>>>>
>>>>> I just wrote a little unit test which has no issues with includes.  I
did not commit the test but I suggest you try tackling your issue in small steps like below
and continue from there.
>>>>>
>>>>> Robby
>>>>>
>>>>> **********************************************************************
>>>>> ************************
>>>>> package org.apache.cocoon.sax;
>>>>>
>>>>> import junit.framework.TestCase;
>>>>> import org.custommonkey.xmlunit.Diff;
>>>>>
>>>>> import java.io.ByteArrayOutputStream;
>>>>>
>>>>> import static
>>>>> org.apache.cocoon.sax.builder.SAXPipelineBuilder.newNonCachingPipeline
>>>>> ;
>>>>>
>>>>>
>>>>> public class XSLTIncludeTest extends TestCase  {
>>>>>
>>>>>     public void testTransformerWithInclude() throws Exception {
>>>>>         ByteArrayOutputStream baos = new ByteArrayOutputStream();
>>>>>
>>>>>         newNonCachingPipeline()
>>>>>                 .setStringGenerator("<food><fruit>apple</fruit><vegetable>tomato</vegetable></food>")
>>>>>                 .addXSLTTransformer(this.getClass().getResource("/food.xslt"))
>>>>>                 .addSerializer()
>>>>>                 .withEmptyConfiguration()
>>>>>                 .setup(baos)
>>>>>                 .execute();
>>>>>
>>>>>         Diff diff = new Diff("<?xml version=\"1.0\" encoding=\"UTF-8\"?><ul><li
class=\"fruit\">apple</li><li class=\"vegetable\">tomato</li></ul>",
new String(baos.toByteArray()));
>>>>>         assertTrue("XSL transformation didn't work as expected " + diff,
diff.identical());
>>>>>     }
>>>>>
>>>>> }
>>>>> **********************************food.xslt
>>>>> *********************************************
>>>>> <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet
>>>>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
>>>>>
>>>>>   <!-- we will process the <fruit> tags in this stylesheet but
leave the processing of <vegetable> tags
>>>>>        to the included vegetables.xslt -->
>>>>>
>>>>>   <xsl:include href="vegetables.xslt"/>
>>>>>
>>>>>   <xsl:template match="/">
>>>>>     <xsl:apply-templates/>
>>>>>   </xsl:template>
>>>>>
>>>>>   <xsl:template match="food">
>>>>>     <ul>
>>>>>        <xsl:apply-templates/>
>>>>>     </ul>
>>>>>   </xsl:template>
>>>>>
>>>>>   <xsl:template match="fruit">
>>>>>     <li class="fruit"><xsl:apply-templates/></li>
>>>>>   </xsl:template>
>>>>>
>>>>> </xsl:stylesheet>
>>>>>
>>>>> ************************************vegetables.xslt*******************
>>>>> *************************** <?xml version="1.0" encoding="UTF-8"?>
>>>>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>>>>> version="1.0">
>>>>>
>>>>>   <xsl:template match="vegetable">
>>>>>     <li class="vegetable"><xsl:apply-templates/></li>
>>>>>   </xsl:template>
>>>>>
>>>>> </xsl:stylesheet>
>>>>>
>>>>> **********************************************************************
>>>>> ************************
>>>>>
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Robby Pelssers [mailto:Robby.Pelssers@nxp.com]
>>>>> Sent: Thursday, November 08, 2012 9:31 AM
>>>>> To: users@cocoon.apache.org
>>>>> Subject: RE: Unable to transform to docbook
>>>>>
>>>>> Hi Mansour,
>>>>>
>>>>> To be able to confirm this one would need to setup a small test case
with a very simple XSLT importing another one.  Which is exactly what I am planning to do.
>>>>>
>>>>> Too bad you can't send me a very simplistic project showing the problem.
>>>>>
>>>>> Robby
>>>>>
>>>>> -----Original Message-----
>>>>> From: Mansour Al Akeel [mailto:mansour.alakeel@gmail.com]
>>>>> Sent: Thursday, November 08, 2012 2:46 AM
>>>>> To: users@cocoon.apache.org
>>>>> Subject: Re: Unable to transform to docbook
>>>>>
>>>>> Robby, I think I know where the issue is, but I don't have eclipse set
up. I am just browsing the source through VI.
>>>>>
>>>>> I am working with the latest from SVN:
>>>>>
>>>>> In the file:
>>>>> cocoon-sax/src/main/java/org/apache/cocoon/sax/component/XSLTTransform
>>>>> er.java
>>>>>
>>>>>           try {
>>>>> 160                 this.templates =
>>>>> transformerFactory.newTemplates(new
>>>>> StreamSource(this.source.toExternalForm()));
>>>>> 161
>>>>> 162                 // store the XSLT into the cache for future reuse
>>>>> 163                 LOG.debug("{} local cache put: {}",
>>>>> getClass().getSimpleName(), this.source.toExternalForm());
>>>>> 164
>>>>> 165                 ValidityValue<Templates> cacheEntry = new
>>>>> ValidityValue<Templates>(this.templates, lastModified);
>>>>> 166                 XSLT_CACHE.put(this.source.toExternalForm(), cacheEntry);
>>>>> 167             } catch (TransformerConfigurationException e) {
>>>>> 168                 throw new SetupException("Impossible to read XSLT
>>>>> from '" + this.source.toExternalForm()
>>>>> 169                         + "', see nested exception", e);
>>>>> 170             }
>>>>>
>>>>>
>>>>> If I am not wrong, it's building the transformation from a stream, and
a SourceStream has no idea about the location of the loaded XSTL, so the resolver can not
load the imported or included, xslts.
>>>>>
>>>>> The only way I know of, is to set the systemId so something like this
should do the trick:
>>>>>
>>>>> StreamSource tmpSource = new
>>>>> StreamSource(this.source.toExternalForm());
>>>>> URL fullPath =  .....
>>>>> tmpSource.setSystemId(fullPath);
>>>>> this.templates = transformerFactory.newTemplates(tmpSource);
>>>>>
>>>>>
>>>>> if you have eclipse and your IDE setup, it will be easier to test and
fix.
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Nov 5, 2012 at 7:23 PM, Mansour Al Akeel <mansour.alakeel@gmail.com>
wrote:
>>>>>> Sure I will. I will organize a project that is easy to play with.
>>>>>>
>>>>>> I will send it directly to your email (I think the list doesn't allow
>>>>>> attachment).
>>>>>>
>>>>>>
>>>>>> On Mon, Nov 5, 2012 at 6:21 PM, Robby Pelssers <Robby.Pelssers@nxp.com>
wrote:
>>>>>>> You know what...
>>>>>>>
>>>>>>> It might be a problem with the includes but to be honest I would
have expected another exception in that case. Is there any way you can share the sources for
the project so I can adjust the dev.properties file for my situation and crack the problem?
 I'm sure I will find out quickly but helping out by mail is a bit more tedious to be honest.
>>>>>>>
>>>>>>> So if you can provide me with a zip file containing the project
and the docbook xslt's zipped and perhaps also that ex.xml file I can debug your issue.
>>>>>>>
>>>>>>> Robby
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Mansour Al Akeel [mailto:mansour.alakeel@gmail.com]
>>>>>>> Sent: Monday, November 05, 2012 6:59 PM
>>>>>>> To: users@cocoon.apache.org
>>>>>>> Subject: Re: Unable to transform to docbook
>>>>>>>
>>>>>>> On Mon, Nov 5, 2012 at 7:51 AM, Robby Pelssers <Robby.Pelssers@nxp.com>
wrote:
>>>>>>>> Hi Mansour,
>>>>>>>>
>>>>>>>> First of all I assume you don't have the same match patterns
in the same sitemap..right? I guess you altered the implementation just to test and the first
one (docbook.xsl) failed and the second one (myCustomSheet.xsl) worked.
>>>>>>> Yes, exactly ! The first one is failing, the second one is working.
So the issue is only with docbook.xsl being processed from cocoon.
>>>>>>>
>>>>>>>> The most obvious way to debug is to try what following matchers
will do:
>>>>>>>>
>>>>>>>> <map:match pattern="article/{id}">
>>>>>>>>   <map:generate src="/home/mansour/workspace/pipelines/repo/articles/{map:id}.xml"
/>
>>>>>>>>   <map:serialize />
>>>>>>>> </map:match>
>>>>>>>>
>>>>>>>> Also try to generate that xsl:
>>>>>>>>
>>>>>>>> <map:match pattern="transform/docbook.xsl">
>>>>>>>>   <map:generate src="/home/mansour/workspace/pipelines/docbook-xsl-snapshot/html/docbook.xsl
" />
>>>>>>>>   <map:serialize />
>>>>>>>> </map:match>
>>>>>>>>
>>>>>>>> But my hunch is that the docbook.xsl has other xsl imports
or includes which might be the problem.
>>>>>>>>
>>>>>>>> Let me know what happens if you try above matchers and also
check if the docbookx.xsl has imports/includes or if it has declared xsl parameters.
>>>>>>>
>>>>>>> I tried both matchers and they seem to be working fine. I can
do http://localhost:8888/transform/docbook.xsl and I get the expected output.
>>>>>>> The docbook.xsl has a lot of <xsl:include> :
>>>>>>>
>>>>>>> <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>>>>>>> xmlns:ng="http://docbook.org/docbook-ng"
>>>>>>> xmlns:db="http://docbook.org/ns/docbook"
>>>>>>> xmlns:exsl="http://exslt.org/common"
>>>>>>> xmlns:exslt="http://exslt.org/common" exclude-result-prefixes="db
ng
>>>>>>> exsl exslt" version="1.0">
>>>>>>>
>>>>>>> <xsl:output method="html" encoding="ISO-8859-1" indent="no"/>
>>>>>>>
>>>>>>> <!-- ********************************************************************
>>>>>>>      $Id: docbook.xsl 9605 2012-09-18 10:48:54Z tom_schr $
>>>>>>>
>>>>>>> ********************************************************************
>>>>>>>
>>>>>>>      This file is part of the XSL DocBook Stylesheet distribution.
>>>>>>>      See ../README or http://docbook.sf.net/release/xsl/current/
for
>>>>>>>      copyright and other information.
>>>>>>>
>>>>>>>
>>>>>>> ********************************************************************
>>>>>>> -->
>>>>>>>
>>>>>>> <!--
>>>>>>> ====================================================================
>>>>>>> -->
>>>>>>>
>>>>>>> <xsl:include href="../VERSION.xsl"/> <xsl:include href="param.xsl"/>
>>>>>>> <xsl:include href="../lib/lib.xsl"/> <xsl:include
>>>>>>> href="../common/l10n.xsl"/> <xsl:include
>>>>>>> href="../common/common.xsl"/> <xsl:include
>>>>>>> href="../common/utility.xsl"/> <xsl:include
>>>>>>> href="../common/labels.xsl"/> <xsl:include
>>>>>>> href="../common/titles.xsl"/> <xsl:include
>>>>>>> href="../common/subtitles.xsl"/>
>>>>>>>
>>>>>>> <xsl:include href="../common/gentext.xsl"/> <xsl:include
>>>>>>> href="../common/targets.xsl"/> <xsl:include
>>>>>>> href="../common/olink.xsl"/> <xsl:include href="../common/pi.xsl"/>
>>>>>>> <xsl:include href="autotoc.xsl"/> <xsl:include href="autoidx.xsl"/>
>>>>>>>
>>>>>>> ....
>>>>>>>
>>>>>>> Thank you for helping in this.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Kind regards,
>>>>>>>> Robby Pelssers
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Mansour Al Akeel [mailto:mansour.alakeel@gmail.com]
>>>>>>>> Sent: Sunday, November 04, 2012 11:14 PM
>>>>>>>> To: users
>>>>>>>> Subject: Unable to transform to docbook
>>>>>>>>
>>>>>>>> I have worked with C2.1 and 2.2 before. I am trying to play
with C3 for a coming project.
>>>>>>>> I need to generate HTML from docbook file.
>>>>>>>>
>>>>>>>> INFO  RequestProcessor - Sitemap execution for /article/ex
took 6470.727 ms.
>>>>>>>> ERROR XMLSitemapServlet - Cocoon can't process the request.
>>>>>>>> org.apache.cocoon.sitemap.InvocationException:
>>>>>>>> org.apache.cocoon.pipeline.ProcessingException: Can't parse
url connection file:/home/mansour/workspace/pipelines/repo/articles/ex.xml
>>>>>>>>         at org.apache.cocoon.sitemap.util.ExceptionHandler.getInvocationException(ExceptionHandler.java:39)
>>>>>>>>         at org.apache.cocoon.sitemap.node.PipelineNode.handleException(PipelineNode.java:101)
>>>>>>>>         at org.apache.cocoon.sitemap.node.PipelineNode.invoke(PipelineNode.java:71)
>>>>>>>>         at org.apache.cocoon.sitemap.node.AbstractSitemapNode.invoke(AbstractSitemapNode.java:96)
>>>>>>>>         at org.apache.cocoon.sitemap.node.PipelinesNode.invoke(PipelinesNode.java:49)
>>>>>>>>         at org.apache.cocoon.sitemap.node.AbstractSitemapNode.invoke(AbstractSitemapNode.java:96)
>>>>>>>>         at org.apache.cocoon.sitemap.node.Sitemap.invoke(Sitemap.java:42)
>>>>>>>>         at org.apache.cocoon.servlet.RequestProcessor.invoke(RequestProcessor.java:233)
>>>>>>>>         at org.apache.cocoon.servlet.RequestProcessor.sendSitemapResponse(RequestProcessor.java:290)
>>>>>>>>         at org.apache.cocoon.servlet.RequestProcessor.service(RequestProcessor.java:90)
>>>>>>>>         at org.apache.cocoon.servlet.XMLSitemapServlet.service(XMLSitemapServlet.java:47)
>>>>>>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>         at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
>>>>>>>> e
>>>>>>>> ss
>>>>>>>> orImpl.java:43)
>>>>>>>>
>>>>>>>> .....
>>>>>>>>
>>>>>>>> Caused by: org.apache.cocoon.pipeline.ProcessingException:
Can't parse url connection file:/home/mansour/workspace/pipelines/repo/articles/ex.xml
>>>>>>>>         at org.apache.cocoon.sax.util.XMLUtils.toSax(XMLUtils.java:117)
>>>>>>>>         at org.apache.cocoon.sax.component.XMLGenerator$URLGenerator.execute(XMLGenerator.java:385)
>>>>>>>>         at org.apache.cocoon.sax.component.XMLGenerator.execute(XMLGenerator.java:104)
>>>>>>>>         at org.apache.cocoon.pipeline.AbstractPipeline.invokeStarter(AbstractPipeline.java:146)
>>>>>>>>         at org.apache.cocoon.pipeline.CachingPipeline.execute(CachingPipeline.java:143)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:601)
>>>>>>>>         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
>>>>>>>>         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>>>>>>>>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>>>>>>>>         at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
>>>>>>>>         at org.apache.cocoon.servlet.collector.ResponseHeaderCollector.interceptInvoke(ResponseHeaderCollector.java:94)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:601)
>>>>>>>>         at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
>>>>>>>>         at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
>>>>>>>>         at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
>>>>>>>>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
>>>>>>>>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
>>>>>>>>         at $Proxy27.execute(Unknown Source)
>>>>>>>>         at org.apache.cocoon.sitemap.InvocationImpl.execute(InvocationImpl.java:141)
>>>>>>>>         at org.apache.cocoon.sitemap.node.PipelineNode.invoke(PipelineNode.java:66)
>>>>>>>>         ... 60 more
>>>>>>>> Caused by: org.xml.sax.SAXException: java.lang.NullPointerException
>>>>>>>> javax.xml.transform.TransformerException: java.lang.NullPointerException
>>>>>>>>         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:245)
>>>>>>>>         at org.apache.cocoon.xml.sax.AbstractSAXPipe.endDocument(AbstractSAXPipe.java:58)
>>>>>>>>         at org.apache.cocoon.sax.AbstractSAXTransformer.endDocument(AbstractSAXTransformer.java:47)
>>>>>>>>         at
>>>>>>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDoc
>>>>>>>> u
>>>>>>>> me
>>>>>>>> nt(AbstractSAXParser.java:742)
>>>>>>>>
>>>>>>>> ......
>>>>>>>>
>>>>>>>> Here's my pipeline:
>>>>>>>>
>>>>>>>>   <map:pipelines>
>>>>>>>>         <map:pipeline>
>>>>>>>>
>>>>>>>>             <map:match pattern="article/{id}">
>>>>>>>>                 <map:generate
>>>>>>>> src="/home/mansour/workspace/pipelines/repo/articles/{map:id}.xml"
/>
>>>>>>>>                 <map:transform
>>>>>>>> src="/home/mansour/workspace/pipelines/docbook-xsl-snapshot/html/docbook.xsl"
>>>>>>>> />
>>>>>>>>                 <map:serialize />
>>>>>>>>             </map:match>
>>>>>>>>
>>>>>>>>
>>>>>>>> This matcher is working with another transformation.
>>>>>>>> For example the following pipeline:
>>>>>>>>
>>>>>>>>         <map:pipeline>
>>>>>>>>
>>>>>>>>             <map:match pattern="article/{id}">
>>>>>>>>                 <map:generate
>>>>>>>> src="/home/mansour/workspace/pipelines/repo/articles/{map:id}.xml"
/>
>>>>>>>>                 <map:transform src="sheets/myCustomSheet.xsl"
/>
>>>>>>>>                 <map:serialize />
>>>>>>>>             </map:match>
>>>>>>>>
>>>>>>>> Would work fine.
>>>>>>>>
>>>>>>>> The same file "ex.xml" can be processed with xalan from the
command line and produce the correct output !
>>>>>>>>
>>>>>>>> any idea ??

-- 
Francesco Chicchiriccò

ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message