Hello Nicolas!
Nicolas wrote:
> If I understand everything: you want a big XML files like that:
> <root>
> <news>
> <file path="news/news1.xml">
> <article>
> [...]
> </article>
> </file>
> </news>
>
> <news>
> <file path="news/news1.xml">
> <article>
> [...]
> </article>
> </file>
> </news>
> </root>
>
It should look like this:
<root>
<news>
<file path="news/news1.xml">
<article>
[...]
</article>
</file>
<file path="news/news2.xml">
<article>
[...]
</article>
</file>
</news>
</root>
> And your problem is the XML file generated is transformed badly?
Yes, exactly. Koen and Simon pointed out, it might be a namespace problem.
Thanks a lot for your help!
Nele.
>> Nicolas wrote:
>> > it depends on which information you need exactly: the name of the
>> file:
>> > put it as a parameter into the URL and pass it to the XSL
>>
>> I need the path (relative or absolute) to the processed file.
>>
>> I am able to extract the relative path inside the first XSL transform
>> (cincludeFiles.xsl):
>>
>> <xsl:template match="dir:directory">
>> <xsl:param name="path"/>
>> <xsl:apply-templates>
>> <xsl:with-param name="path">
>> <xsl:value-of select="concat($path,./@name,'/')"/>
>> </xsl:with-param>
>> </xsl:apply-templates>
>> </xsl:template>
>>
>>
>> <xsl:template match="dir:file">
>> <xsl:param name="path"/>
>> <xsl:element name="file">
>> <xsl:attribute name="path">
>> <xsl:value-of select="concat($path,./@name)"/>
>> </xsl:attribute>
>> <cinclude:include src="{concat($path,./@name)}"/>
>> </xsl:element>
>> </xsl:template>
>>
>> The output looks like this:
>>
>> <news>
>> <file path="news/news1.xml">
>> <article>
>> [...]
>> </article>
>> </file>
>> </news>
>>
>> The path inside element <file> is correct.
>>
>> However, when I try to process the XML stream for a second time, the
>> templates within "content2page.xsl" neither match element <news> nor
>> element <file>. Why?
>>
>> Thank you for your help, Nicolas!
>> Nele
>>
>> >> Nicolas wrote:
>> >> > If the orginal docs aren't XML you should have a look at Chaperon
>> >>
>> >> The original documents are also XML documents.
>> >>
>> >> My problem is linking an element with the file it originates from.
>> >> Is it possible to store the information the directory generator
>> extracts
>> >> about my directory structure - maybe as a file?
>> >>
>> >> Thank you for your response!
>> >> Nele.
>> >>
>> >> >> Hi all!
>> >> >>
>> >> >> I want to create an xml document by extracting
>> >> >> defined elements from files conforming to a
>> >> >> known format. When assembling the document I need
>> >> >> to keep in mind which element originates from
>> >> >> which file to be able to link the element with
>> >> >> the corresponding file after transformation into
>> >> >> HTML. The resulting HTML document consists - among
>> >> >> other things - of links to all processed files.
>> >> >>
>> >> >> How do I achieve this with Cocoon?
>> >> >>
>> >> >> All suggestions will be appreciated!
>> >> >> Thanks in advance,
>> >> >> Nele.
>> >> >>
>> >> >>
>> >> >> I tried the following using a directory generator
>> >> >> and aggregation, but it doesn't work.
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >>
>> >> >> | directories within COCOON context |
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >> +---myContentDir/
>> >> >> +---file1.xml
>> >> >> +---file2.xml
>> >> >> +---file3.xml
>> >> >>
>> >> >>
>> >> >> I aggregate the files in "myContentDir" using the
>> >> >> following sitemap snippet:
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >>
>> >> >> | sitemap snippet |
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >> <map:match pattern="content">
>> >> >> <map:generate src="/myContentDir" type="directory">
>> >> >> <map:parameter name="depth" value="1"/>
>> >> >> </map:generate>
>> >> >> <map:transform src="cincludeFiles.xsl">
>> >> >> <map:parameter name="part" value="content"/>
>> >> >> </map:transform>
>> >> >> <map:transform type="cinclude"/>
>> >> >> <map:transform src="content2page.xsl"/>
>> >> >> <map:serialize type="xml"/>
>> >> >> </map:match>
>> >> >>
>> >> >>
>> >> >> Within the stylesheet "cincludeFiles.xsl", I transform the
>> >> >> xml stream coming from the directory generator. Iteratively
>> >> >> all files are inserted by <cinclude:include src="{$path}"/>.
>> >> >> An element named "file" with an attribute "path" is created.
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >>
>> >> >> | stylesheet snippet "cincludeFiles.xsl" |
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >> <xsl:template match="dir:file">
>> >> >> <xsl:param name="path"/>
>> >> >> <xsl:element name="file">
>> >> >> <xsl:attribute name="path">
>> >> >> <xsl:value-of select="$path"/>
>> >> >> </xsl:attribute>
>> >> >> <cinclude:include src="{$path}"/>
>> >> >> </xsl:element>
>> >> >> </xsl:template>
>> >> >>
>> >> >>
>> >> >> The transform outputs the following
>> >> >> ([...] stands for more xml elements):
>> >> >>
>> >> >> [...]
>> >> >> <file path="myContentDir/file1.xml">[...]</file>
>> >> >> <file path="myContentDir/file2.xml">[...]</file>
>> >> >> <file path="myContentDir/file3.xml">[...]</file>
>> >> >> [...]
>> >> >>
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >>
>> >> >> | stylesheet snippet "content2page.xsl" |
>> >> >>
>> >> >> +-----------------------------------------+
>> >> >> <xsl:template match="file">
>> >> >> <xsl:text>following file was added:</xsl:text>
>> >> >> <xsl:value-of select="./@path"/>
>> >> >> </xsl:template>
>> >> >>
>> >> >> When I try to read the attribute value "path", my
>> >> >> stylesheet outputs nothing.
>> >> >>
>> >> >> <xsl:template match="@path">
>> >> >> <xsl:text>following file was added:</xsl:text>
>> >> >> <xsl:value-of select="."/>
>> >> >> </xsl:template>
>> >> >>
>> >> >> Doesn't work either.
>> >> >>
>> >> >> This is really urgent. Thanks for your help!
>> >> >>
>> >> >>
>> >> >>
>> >> >> ---------------------------------------------------------------------
>> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
>> >> >
>> >> > ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]