You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by "Fennell, Philip" <ph...@hp.com> on 2006/06/19 13:38:31 UTC

Xinclude transformer has changed behaviour with Saxon 8.7.1+

I have previously posted regarding this problem, and have been rather
busy since then, but this time I have an example test case for someone
to mull over.

With Windows XP sp2, Cocoon 2.1.8, Tomcat 5.5 and Saxon 8.6.1 or 8.7
configured as the default XSLT transformer I was able to embed
xi:include instructions within source documents and have Cocoon's
Xinclude processor resolve the URL (relative to the source document)
correctly.

e.g.

<xi:include href="../../content/resources/site/login.xml">
  <xi:fallback>login.xml not included.</xi:fallback> </xi:include>

However, when I moved to Saxon 8.7.1 (and also with 8.7.3) the xinclude
fails to locate the referenced file unless I change the href attribute
so that the url is relative to the current Cocoon context.

e.g.

<xi:include href="content/resources/site/login.xml">
  <xi:fallback>login.xml not included.</xi:fallback> </xi:include>



Important Note:
===============

It is important to understand that I am 'NOT' using Cocoon to process
the requested document but rather to process the request (by using
Cocoon's request generator) information itself, which includes a
refernece to the original requested document. The request info is
transformed into an 'envelope' containing the request parameters, HTTP
header info and an interface definition file that may contain xi:include
instructions that reference additional static content. It is these
xi:include instructions that are at the centre of the problem. The
example is in:

xinclude/interface/config/login.xml

The Cocoon pipeline match that does all the work can be found starting
at line 182 of sitemap.xmap.

During the processing, the requested content and referenced content
merged and transformed into XHTML within the main rendering transform:

xinclude/interface/transforms/xhtml/screen.xsl

===============



To run the test webapp that I have attached you will need to set-up
Cocoon as follows:

1) Add the following lines to cocoon/WEB-INF/cocoon.xconf:

  <component logger="core.xslt-processor"
      role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
      class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
    <parameter name="use-store" value="true"/>
    <parameter name="incremental-processing" value="false"/>
    <parameter name="transformer-factory"
value="net.sf.saxon.TransformerFactoryImpl"/>
  </component>

after the Xalan component declaration.


2) Get Saxon 8.7 and 8.7.3 from http://www.saxonica.com/ and place the
following jars in cocoon/WEB-INF/lib

saxon8.jar
saxon8-dom.jar
saxon8-xpath.jar


3) Unpack the attached ZIP file (xinclude.zip) in your cocoon directory


4) Use the following link to access the test page:

http://localhost:8080/cocoon/xinclude/interface/config/login.html

(Depending on host and port number etc you may need to tweak this url.)


I am cross-posting this on the saxon-help mailing list too as they may
have a view as to what may have changed that has contributed to this new
behaviour.


Regards

Philip Fennell

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


Re: Xinclude transformer has changed behaviour with Saxon 8.7.1+

Posted by Jason Johnston <co...@lojjic.net>.
Antonio Gallardo wrote:
> Hi Philip,
> 
> Did you test the svn 2.1.x branch? There are some fixes for the XInclude 
> transformer that might help you:
> 
> http://issues.apache.org/jira/browse/COCOON-1489
> http://issues.apache.org/jira/browse/COCOON-1110
> http://issues.apache.org/jira/browse/COCOON-1753
> 
> Best Regards,
> 
> Antonio Gallardo.

I verified his problem does still exist in the current SVN version.


> 
> Jason Johnston escribió:
>> Hi Philip--
>>
>> I apologize it took so long, but I tried out your testcase and was 
>> able to verify the problem exists in the current SVN version.  Would 
>> you please open a JIRA issue at 
>> http://issues.apache.org/jira/browse/COCOON containing your 
>> description of the issue, and attach your testcase; that way it won't 
>> get forgotten.
>>
>> Thanks for reporting
>> --Jason
>>

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


Re: Xinclude transformer has changed behaviour with Saxon 8.7.1+

Posted by Antonio Gallardo <ag...@agssa.net>.
Hi Philip,

Did you test the svn 2.1.x branch? There are some fixes for the XInclude 
transformer that might help you:

http://issues.apache.org/jira/browse/COCOON-1489
http://issues.apache.org/jira/browse/COCOON-1110
http://issues.apache.org/jira/browse/COCOON-1753

Best Regards,

Antonio Gallardo.

Jason Johnston escribió:
> Hi Philip--
>
> I apologize it took so long, but I tried out your testcase and was 
> able to verify the problem exists in the current SVN version.  Would 
> you please open a JIRA issue at 
> http://issues.apache.org/jira/browse/COCOON containing your 
> description of the issue, and attach your testcase; that way it won't 
> get forgotten.
>
> Thanks for reporting
> --Jason
>
>
> Fennell, Philip wrote:
>> I have previously posted regarding this problem, and have been rather
>> busy since then, but this time I have an example test case for someone
>> to mull over.
>>
>> With Windows XP sp2, Cocoon 2.1.8, Tomcat 5.5 and Saxon 8.6.1 or 8.7
>> configured as the default XSLT transformer I was able to embed
>> xi:include instructions within source documents and have Cocoon's
>> Xinclude processor resolve the URL (relative to the source document)
>> correctly.
>>
>> e.g.
>>
>> <xi:include href="../../content/resources/site/login.xml">
>>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
>>
>> However, when I moved to Saxon 8.7.1 (and also with 8.7.3) the xinclude
>> fails to locate the referenced file unless I change the href attribute
>> so that the url is relative to the current Cocoon context.
>>
>> e.g.
>>
>> <xi:include href="content/resources/site/login.xml">
>>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
>>
>>
>>
>> Important Note:
>> ===============
>>
>> It is important to understand that I am 'NOT' using Cocoon to process
>> the requested document but rather to process the request (by using
>> Cocoon's request generator) information itself, which includes a
>> refernece to the original requested document. The request info is
>> transformed into an 'envelope' containing the request parameters, HTTP
>> header info and an interface definition file that may contain xi:include
>> instructions that reference additional static content. It is these
>> xi:include instructions that are at the centre of the problem. The
>> example is in:
>>
>> xinclude/interface/config/login.xml
>>
>> The Cocoon pipeline match that does all the work can be found starting
>> at line 182 of sitemap.xmap.
>>
>> During the processing, the requested content and referenced content
>> merged and transformed into XHTML within the main rendering transform:
>>
>> xinclude/interface/transforms/xhtml/screen.xsl
>>
>> ===============
>>
>>
>>
>> To run the test webapp that I have attached you will need to set-up
>> Cocoon as follows:
>>
>> 1) Add the following lines to cocoon/WEB-INF/cocoon.xconf:
>>
>>   <component logger="core.xslt-processor"
>>       role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
>>       class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
>>     <parameter name="use-store" value="true"/>
>>     <parameter name="incremental-processing" value="false"/>
>>     <parameter name="transformer-factory"
>> value="net.sf.saxon.TransformerFactoryImpl"/>
>>   </component>
>>
>> after the Xalan component declaration.
>>
>>
>> 2) Get Saxon 8.7 and 8.7.3 from http://www.saxonica.com/ and place the
>> following jars in cocoon/WEB-INF/lib
>>
>> saxon8.jar
>> saxon8-dom.jar
>> saxon8-xpath.jar
>>
>>
>> 3) Unpack the attached ZIP file (xinclude.zip) in your cocoon directory
>>
>>
>> 4) Use the following link to access the test page:
>>
>> http://localhost:8080/cocoon/xinclude/interface/config/login.html
>>
>> (Depending on host and port number etc you may need to tweak this url.)
>>
>>
>> I am cross-posting this on the saxon-help mailing list too as they may
>> have a view as to what may have changed that has contributed to this new
>> behaviour.
>>
>>
>> Regards
>>
>> Philip Fennell
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>> For additional commands, e-mail: users-help@cocoon.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org


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


RE: Xinclude transformer has changed behaviour with Saxon 8.7.1+

Posted by "Fennell, Philip" <ph...@hp.com>.
Jason,

Sorry, I din't even see your e-mail until today.

Yes I will open a JIRA issue.

And thanks for looking into the problem.


Regards

Philip Fennell 

-----Original Message-----
From: Jason Johnston [mailto:cocoon@lojjic.net] 
Sent: 02 July 2006 01:19
To: users@cocoon.apache.org
Subject: Re: Xinclude transformer has changed behaviour with Saxon
8.7.1+

Hi Philip--

I apologize it took so long, but I tried out your testcase and was able
to verify the problem exists in the current SVN version.  Would you
please open a JIRA issue at http://issues.apache.org/jira/browse/COCOON
containing your description of the issue, and attach your testcase; that
way it won't get forgotten.

Thanks for reporting
--Jason


Fennell, Philip wrote:
> I have previously posted regarding this problem, and have been rather 
> busy since then, but this time I have an example test case for someone

> to mull over.
> 
> With Windows XP sp2, Cocoon 2.1.8, Tomcat 5.5 and Saxon 8.6.1 or 8.7 
> configured as the default XSLT transformer I was able to embed 
> xi:include instructions within source documents and have Cocoon's 
> Xinclude processor resolve the URL (relative to the source document) 
> correctly.
> 
> e.g.
> 
> <xi:include href="../../content/resources/site/login.xml">
>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
> 
> However, when I moved to Saxon 8.7.1 (and also with 8.7.3) the 
> xinclude fails to locate the referenced file unless I change the href 
> attribute so that the url is relative to the current Cocoon context.
> 
> e.g.
> 
> <xi:include href="content/resources/site/login.xml">
>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
> 
> 
> 
> Important Note:
> ===============
> 
> It is important to understand that I am 'NOT' using Cocoon to process 
> the requested document but rather to process the request (by using 
> Cocoon's request generator) information itself, which includes a 
> refernece to the original requested document. The request info is 
> transformed into an 'envelope' containing the request parameters, HTTP

> header info and an interface definition file that may contain 
> xi:include instructions that reference additional static content. It 
> is these xi:include instructions that are at the centre of the 
> problem. The example is in:
> 
> xinclude/interface/config/login.xml
> 
> The Cocoon pipeline match that does all the work can be found starting

> at line 182 of sitemap.xmap.
> 
> During the processing, the requested content and referenced content 
> merged and transformed into XHTML within the main rendering transform:
> 
> xinclude/interface/transforms/xhtml/screen.xsl
> 
> ===============
> 
> 
> 
> To run the test webapp that I have attached you will need to set-up 
> Cocoon as follows:
> 
> 1) Add the following lines to cocoon/WEB-INF/cocoon.xconf:
> 
>   <component logger="core.xslt-processor"
>       role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
>       class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
>     <parameter name="use-store" value="true"/>
>     <parameter name="incremental-processing" value="false"/>
>     <parameter name="transformer-factory"
> value="net.sf.saxon.TransformerFactoryImpl"/>
>   </component>
> 
> after the Xalan component declaration.
> 
> 
> 2) Get Saxon 8.7 and 8.7.3 from http://www.saxonica.com/ and place the

> following jars in cocoon/WEB-INF/lib
> 
> saxon8.jar
> saxon8-dom.jar
> saxon8-xpath.jar
> 
> 
> 3) Unpack the attached ZIP file (xinclude.zip) in your cocoon 
> directory
> 
> 
> 4) Use the following link to access the test page:
> 
> http://localhost:8080/cocoon/xinclude/interface/config/login.html
> 
> (Depending on host and port number etc you may need to tweak this 
> url.)
> 
> 
> I am cross-posting this on the saxon-help mailing list too as they may

> have a view as to what may have changed that has contributed to this 
> new behaviour.
> 
> 
> Regards
> 
> Philip Fennell
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 


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


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


Re: Xinclude transformer has changed behaviour with Saxon 8.7.1+

Posted by Jason Johnston <co...@lojjic.net>.
Hi Philip--

I apologize it took so long, but I tried out your testcase and was able 
to verify the problem exists in the current SVN version.  Would you 
please open a JIRA issue at http://issues.apache.org/jira/browse/COCOON 
containing your description of the issue, and attach your testcase; that 
way it won't get forgotten.

Thanks for reporting
--Jason


Fennell, Philip wrote:
> I have previously posted regarding this problem, and have been rather
> busy since then, but this time I have an example test case for someone
> to mull over.
> 
> With Windows XP sp2, Cocoon 2.1.8, Tomcat 5.5 and Saxon 8.6.1 or 8.7
> configured as the default XSLT transformer I was able to embed
> xi:include instructions within source documents and have Cocoon's
> Xinclude processor resolve the URL (relative to the source document)
> correctly.
> 
> e.g.
> 
> <xi:include href="../../content/resources/site/login.xml">
>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
> 
> However, when I moved to Saxon 8.7.1 (and also with 8.7.3) the xinclude
> fails to locate the referenced file unless I change the href attribute
> so that the url is relative to the current Cocoon context.
> 
> e.g.
> 
> <xi:include href="content/resources/site/login.xml">
>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
> 
> 
> 
> Important Note:
> ===============
> 
> It is important to understand that I am 'NOT' using Cocoon to process
> the requested document but rather to process the request (by using
> Cocoon's request generator) information itself, which includes a
> refernece to the original requested document. The request info is
> transformed into an 'envelope' containing the request parameters, HTTP
> header info and an interface definition file that may contain xi:include
> instructions that reference additional static content. It is these
> xi:include instructions that are at the centre of the problem. The
> example is in:
> 
> xinclude/interface/config/login.xml
> 
> The Cocoon pipeline match that does all the work can be found starting
> at line 182 of sitemap.xmap.
> 
> During the processing, the requested content and referenced content
> merged and transformed into XHTML within the main rendering transform:
> 
> xinclude/interface/transforms/xhtml/screen.xsl
> 
> ===============
> 
> 
> 
> To run the test webapp that I have attached you will need to set-up
> Cocoon as follows:
> 
> 1) Add the following lines to cocoon/WEB-INF/cocoon.xconf:
> 
>   <component logger="core.xslt-processor"
>       role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
>       class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
>     <parameter name="use-store" value="true"/>
>     <parameter name="incremental-processing" value="false"/>
>     <parameter name="transformer-factory"
> value="net.sf.saxon.TransformerFactoryImpl"/>
>   </component>
> 
> after the Xalan component declaration.
> 
> 
> 2) Get Saxon 8.7 and 8.7.3 from http://www.saxonica.com/ and place the
> following jars in cocoon/WEB-INF/lib
> 
> saxon8.jar
> saxon8-dom.jar
> saxon8-xpath.jar
> 
> 
> 3) Unpack the attached ZIP file (xinclude.zip) in your cocoon directory
> 
> 
> 4) Use the following link to access the test page:
> 
> http://localhost:8080/cocoon/xinclude/interface/config/login.html
> 
> (Depending on host and port number etc you may need to tweak this url.)
> 
> 
> I am cross-posting this on the saxon-help mailing list too as they may
> have a view as to what may have changed that has contributed to this new
> behaviour.
> 
> 
> Regards
> 
> Philip Fennell
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 


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


RE: [saxon] Xinclude transformer has changed behaviour with Saxon 8.7.1+

Posted by Michael Kay <mi...@saxonica.com>.
Without knowing what Saxon interfaces are being called here, I'm afraid I
can't help much.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: saxon-help-bounces@lists.sourceforge.net 
> [mailto:saxon-help-bounces@lists.sourceforge.net] On Behalf 
> Of Fennell, Philip
> Sent: 19 June 2006 12:39
> To: users@cocoon.apache.org
> Cc: saxon-help@lists.sourceforge.net
> Subject: [saxon] Xinclude transformer has changed behaviour 
> with Saxon 8.7.1+
> 
> I have previously posted regarding this problem, and have 
> been rather busy since then, but this time I have an example 
> test case for someone to mull over.
> 
> With Windows XP sp2, Cocoon 2.1.8, Tomcat 5.5 and Saxon 8.6.1 
> or 8.7 configured as the default XSLT transformer I was able 
> to embed xi:include instructions within source documents and 
> have Cocoon's Xinclude processor resolve the URL (relative to 
> the source document) correctly.
> 
> e.g.
> 
> <xi:include href="../../content/resources/site/login.xml">
>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
> 
> However, when I moved to Saxon 8.7.1 (and also with 8.7.3) 
> the xinclude fails to locate the referenced file unless I 
> change the href attribute so that the url is relative to the 
> current Cocoon context.
> 
> e.g.
> 
> <xi:include href="content/resources/site/login.xml">
>   <xi:fallback>login.xml not included.</xi:fallback> </xi:include>
> 
> 
> 
> Important Note:
> ===============
> 
> It is important to understand that I am 'NOT' using Cocoon to 
> process the requested document but rather to process the 
> request (by using Cocoon's request generator) information 
> itself, which includes a refernece to the original requested 
> document. The request info is transformed into an 'envelope' 
> containing the request parameters, HTTP header info and an 
> interface definition file that may contain xi:include 
> instructions that reference additional static content. It is 
> these xi:include instructions that are at the centre of the 
> problem. The example is in:
> 
> xinclude/interface/config/login.xml
> 
> The Cocoon pipeline match that does all the work can be found 
> starting at line 182 of sitemap.xmap.
> 
> During the processing, the requested content and referenced 
> content merged and transformed into XHTML within the main 
> rendering transform:
> 
> xinclude/interface/transforms/xhtml/screen.xsl
> 
> ===============
> 
> 
> 
> To run the test webapp that I have attached you will need to 
> set-up Cocoon as follows:
> 
> 1) Add the following lines to cocoon/WEB-INF/cocoon.xconf:
> 
>   <component logger="core.xslt-processor"
>       role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
>       class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
>     <parameter name="use-store" value="true"/>
>     <parameter name="incremental-processing" value="false"/>
>     <parameter name="transformer-factory"
> value="net.sf.saxon.TransformerFactoryImpl"/>
>   </component>
> 
> after the Xalan component declaration.
> 
> 
> 2) Get Saxon 8.7 and 8.7.3 from http://www.saxonica.com/ and 
> place the following jars in cocoon/WEB-INF/lib
> 
> saxon8.jar
> saxon8-dom.jar
> saxon8-xpath.jar
> 
> 
> 3) Unpack the attached ZIP file (xinclude.zip) in your cocoon 
> directory
> 
> 
> 4) Use the following link to access the test page:
> 
> http://localhost:8080/cocoon/xinclude/interface/config/login.html
> 
> (Depending on host and port number etc you may need to tweak 
> this url.)
> 
> 
> I am cross-posting this on the saxon-help mailing list too as 
> they may have a view as to what may have changed that has 
> contributed to this new behaviour.
> 
> 
> Regards
> 
> Philip Fennell
> 
> 
> _______________________________________________
> saxon-help mailing list
> saxon-help@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/saxon-help


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