You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@forrest.apache.org by Tobias Neef <to...@gmail.com> on 2010/04/07 16:43:16 UTC
SourceTypeAction does not start a transformation
Hello,
I like to transform a XML file with various namespaces into the xdoc
format. The XML file is in the xdoc/sap directory and the
transformation is also in place. My problem now is, that nothing
appears on my screen when I want to have a look at the transformed
file.
The header of the source file looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<xml-fragment xmlns:rpl="urn:ReceiverDeterminationServiceVi"
xmlns:rn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:rn1="urn:com.sap.aii.ib.server.api.types"
xmlns:rn2="java:sap/standard"
xmlns:rn3="urn:com.sap.aii.ibdir.server.api.types">
Now I like to filter based on the type of the message.
The relevant namespace for me is the rn3 namespace so I changed the
default sitemap to look like this:
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:actions>
<map:action logger="sitemap.action.sourcetype" name="sourcetype"
src="org.apache.forrest.sourcetype.SourceTypeAction">
...
<sourcetype name="ddp_si-v1.0">
<!-- <document-element
namespace="urn:com.sap.aii.ibdir.server.api.types"/> -->
<document-element local-name="rn3"/>
</sourcetype>
</map:action>
</map:actions>
<map:selectors default="parameter">
<map:selector logger="sitemap.selector.parameter"
name="parameter" src="org.apache.cocoon.selection.ParameterSelector"
/>
</map:selectors>
</map:components>
<map:resources>
<map:resource name="transform-to-document">
<map:act type="sourcetype" src="{src}">
<map:select type="parameter">
<map:parameter name="parameter-selector-test" value="{sourcetype}" />
<map:when test="ddp_si-v1.0">
<map:generate src="{properties:content.xdocs}{../../1}.xml" />
<map:transform
src="{properties:resources.stylesheets}/rd2document.xsl" />
<map:serialize type="xml-document"/>
</map:when>
...
</map:select>
</map:act>
</map:resource>
</map:resources>
<map:pipelines>
<map:pipeline>
<map:match pattern="old_site/**.html">
<map:select type="exists">
<map:when test="{properties:content}{0}">
<map:read src="{properties:content}{0}" mime-type="text/html"/>
</map:when>
</map:select>
</map:match>
<map:match pattern="**.xml">
<map:call resource="transform-to-document">
<map:parameter name="src" value="{properties:content.xdocs}{1}.xml" />
</map:call>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
I also added a entry in the site.xml which appears in the menu but
does not work as suspected (just a blank page is produced).
<sap1 label="SAP Example 1" description="SAP Beispiele">
<docs-sap1 label="SAP 1" href="sap/" tab="sap">
<sap-pi-rd label="RD" href="si_ddpandmetadata_composite_a_a.html"
description="Test of How To documents"/>
</docs-sap1>
</sap1>
Hope someone can help.
Regards,
Tobias
Re: SourceTypeAction does not start a transformation
Posted by Tobias Neef <to...@gmail.com>.
I requested the xml and I got an untransformed version of the file.
According to the mentioned problems with the SourceTypeAction I
changed my config to be based on a wildcard.
...
<map:match pattern="**si_ddpandmetadata_composite_a_a.xml">
<map:generate
src="{properties:content.xdocs}{1}si_ddpandmetadata_composite_a_a.xml"
/>
<map:transform
src="{properties:resources.stylesheets}/rd2document.xsl" />
<map:serialize type="xml"/>
</map:match>
...
Now when I have a look at the xml version I get a transformed version
of the XML but when I request the html version I get nothing.
On Wed, Apr 7, 2010 at 6:34 PM, Ross Gardler <rg...@apache.org> wrote:
> On 07/04/2010 15:43, Tobias Neef wrote:
>>
>> Hello,
>>
>> I like to transform a XML file with various namespaces into the xdoc
>> format. The XML file is in the xdoc/sap directory and the
>> transformation is also in place. My problem now is, that nothing
>> appears on my screen when I want to have a look at the transformed
>> file.
>
> Can you take a look at the intermediate format document by requesting the
> *.xml version of your file. Do you see the expected XDoc?
>
> This will tell you whether the problem is in your transformation from the
> source or to the HTML.
>
> Ross
>
>>
>> The header of the source file looks like this:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <xml-fragment xmlns:rpl="urn:ReceiverDeterminationServiceVi"
>> xmlns:rn0="http://schemas.xmlsoap.org/soap/encoding/"
>> xmlns:rn1="urn:com.sap.aii.ib.server.api.types"
>> xmlns:rn2="java:sap/standard"
>> xmlns:rn3="urn:com.sap.aii.ibdir.server.api.types">
>>
>> Now I like to filter based on the type of the message.
>>
>> The relevant namespace for me is the rn3 namespace so I changed the
>> default sitemap to look like this:
>>
>> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
>> <map:components>
>> <map:actions>
>> <map:action logger="sitemap.action.sourcetype" name="sourcetype"
>> src="org.apache.forrest.sourcetype.SourceTypeAction">
>>
>> ...
>> <sourcetype name="ddp_si-v1.0">
>> <!--<document-element
>> namespace="urn:com.sap.aii.ibdir.server.api.types"/> -->
>> <document-element local-name="rn3"/>
>> </sourcetype>
>> </map:action>
>> </map:actions>
>> <map:selectors default="parameter">
>> <map:selector logger="sitemap.selector.parameter"
>> name="parameter" src="org.apache.cocoon.selection.ParameterSelector"
>> />
>> </map:selectors>
>> </map:components>
>> <map:resources>
>> <map:resource name="transform-to-document">
>> <map:act type="sourcetype" src="{src}">
>> <map:select type="parameter">
>> <map:parameter name="parameter-selector-test"
>> value="{sourcetype}" />
>> <map:when test="ddp_si-v1.0">
>> <map:generate src="{properties:content.xdocs}{../../1}.xml" />
>> <map:transform
>> src="{properties:resources.stylesheets}/rd2document.xsl" />
>> <map:serialize type="xml-document"/>
>> </map:when>
>> ...
>> </map:select>
>> </map:act>
>> </map:resource>
>> </map:resources>
>> <map:pipelines>
>> <map:pipeline>
>> <map:match pattern="old_site/**.html">
>> <map:select type="exists">
>> <map:when test="{properties:content}{0}">
>> <map:read src="{properties:content}{0}"
>> mime-type="text/html"/>
>> </map:when>
>> </map:select>
>> </map:match>
>> <map:match pattern="**.xml">
>> <map:call resource="transform-to-document">
>> <map:parameter name="src"
>> value="{properties:content.xdocs}{1}.xml" />
>> </map:call>
>> </map:match>
>> </map:pipeline>
>> </map:pipelines>
>> </map:sitemap>
>>
>> I also added a entry in the site.xml which appears in the menu but
>> does not work as suspected (just a blank page is produced).
>>
>> <sap1 label="SAP Example 1" description="SAP Beispiele">
>> <docs-sap1 label="SAP 1" href="sap/" tab="sap">
>> <sap-pi-rd label="RD" href="si_ddpandmetadata_composite_a_a.html"
>> description="Test of How To documents"/>
>> </docs-sap1>
>> </sap1>
>>
>> Hope someone can help.
>>
>> Regards,
>> Tobias
>
>
Re: SourceTypeAction does not start a transformation
Posted by Ross Gardler <rg...@apache.org>.
On 07/04/2010 15:43, Tobias Neef wrote:
> Hello,
>
> I like to transform a XML file with various namespaces into the xdoc
> format. The XML file is in the xdoc/sap directory and the
> transformation is also in place. My problem now is, that nothing
> appears on my screen when I want to have a look at the transformed
> file.
Can you take a look at the intermediate format document by requesting
the *.xml version of your file. Do you see the expected XDoc?
This will tell you whether the problem is in your transformation from
the source or to the HTML.
Ross
>
> The header of the source file looks like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xml-fragment xmlns:rpl="urn:ReceiverDeterminationServiceVi"
> xmlns:rn0="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:rn1="urn:com.sap.aii.ib.server.api.types"
> xmlns:rn2="java:sap/standard"
> xmlns:rn3="urn:com.sap.aii.ibdir.server.api.types">
>
> Now I like to filter based on the type of the message.
>
> The relevant namespace for me is the rn3 namespace so I changed the
> default sitemap to look like this:
>
> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
> <map:components>
> <map:actions>
> <map:action logger="sitemap.action.sourcetype" name="sourcetype"
> src="org.apache.forrest.sourcetype.SourceTypeAction">
>
> ...
> <sourcetype name="ddp_si-v1.0">
> <!--<document-element
> namespace="urn:com.sap.aii.ibdir.server.api.types"/> -->
> <document-element local-name="rn3"/>
> </sourcetype>
> </map:action>
> </map:actions>
> <map:selectors default="parameter">
> <map:selector logger="sitemap.selector.parameter"
> name="parameter" src="org.apache.cocoon.selection.ParameterSelector"
> />
> </map:selectors>
> </map:components>
> <map:resources>
> <map:resource name="transform-to-document">
> <map:act type="sourcetype" src="{src}">
> <map:select type="parameter">
> <map:parameter name="parameter-selector-test" value="{sourcetype}" />
> <map:when test="ddp_si-v1.0">
> <map:generate src="{properties:content.xdocs}{../../1}.xml" />
> <map:transform
> src="{properties:resources.stylesheets}/rd2document.xsl" />
> <map:serialize type="xml-document"/>
> </map:when>
> ...
> </map:select>
> </map:act>
> </map:resource>
> </map:resources>
> <map:pipelines>
> <map:pipeline>
> <map:match pattern="old_site/**.html">
> <map:select type="exists">
> <map:when test="{properties:content}{0}">
> <map:read src="{properties:content}{0}" mime-type="text/html"/>
> </map:when>
> </map:select>
> </map:match>
> <map:match pattern="**.xml">
> <map:call resource="transform-to-document">
> <map:parameter name="src" value="{properties:content.xdocs}{1}.xml" />
> </map:call>
> </map:match>
> </map:pipeline>
> </map:pipelines>
> </map:sitemap>
>
> I also added a entry in the site.xml which appears in the menu but
> does not work as suspected (just a blank page is produced).
>
> <sap1 label="SAP Example 1" description="SAP Beispiele">
> <docs-sap1 label="SAP 1" href="sap/" tab="sap">
> <sap-pi-rd label="RD" href="si_ddpandmetadata_composite_a_a.html"
> description="Test of How To documents"/>
> </docs-sap1>
> </sap1>
>
> Hope someone can help.
>
> Regards,
> Tobias
Re: SourceTypeAction does not start a transformation
Posted by David Crossley <cr...@apache.org>.
Tobias Neef wrote:
>
> I like to transform a XML file with various namespaces into the xdoc
> format. The XML file is in the xdoc/sap directory and the
> transformation is also in place. My problem now is, that nothing
> appears on my screen when I want to have a look at the transformed
> file.
I don't know if this is relevant, but i did have trouble using
the "namespace" method.
See my comment in
http://issues.apache.org/jira/browse/FOR-1173
"
I did also try using the "namespace" method of SourceTypeAction.
It does detect that properly, but then something further down
the forrest processing gets confused about the namespace.
"
-David