Altova Mailing List Archives


Re: [xsl] CDATA to XML - work with transformed Nodes - how does it

From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@------.-->
To: xsl-list@-----.------------.---
Date: 3/20/2010 11:14:00 PM
It has been on this list just a couple of hours ago, accidentally: You 
might apply saxon:parse to the CDATA content 
(http://www.saxonica.com/documentation/extensions/functions/parse.html). 
Please note that you need at least Saxon PE to use this extension 
function (or Saxon 9.1). But if you can control how your XML input is 
generated: maybe it's a better approach to use namespaces, putting 
proper XHTML content where there is CDATA now. Then you'll be able to 
process it without extension functions and without serializing it first.

Gerrit

On 20.03.2010 23:58, [x] cross solution wrote:
> Hi All,
>
> i need help in working with a transformed CDATA to XML nodes.
> The idea / the process
> - The CDATA of the node includes the XHTML text (comes from the database)
> - Transform the XHMTL text to XML nodes
> - work with the transformed nodes with<xsl:choose>  <xsl:when>  and create new nodes.
> The result should be a Textfile, based on Word/OpenOffice.
>
> My Problem is now to work with the transformed XML nodes. I can't work with it. I can create an XML file output with the XHTML as XML nodes, but I can't get it in the XSLT file, before an output is created.
>
> So my question is:
> Is it possible to get the XHTML nodes in the XSLT file to work with it?
> Maybe i need another process to realize it - other ideas?
>
> thanks for your help and ideas.
>
> armin
>
>
> XML File
> <?xml version="1.0" encoding="UTF-8"?>
> <ROW>
> <COL>
> <DATA>&lt;/SPAN&gt;&lt;SPAN STYLE=&quot;font-size: 10px;&quot;&gt;(1)&amp;#9;Das Angebot
> auf Abschluss dieser Vereinbarung besitzt eine G&amp;uuml;ltigkeit von sechs
> Monaten nach Versand (Datum des Poststempels). Nach Annahme durch den Vermittler durch
> Unterschrift und R&amp;uuml;cksendung gelten die K&amp;uuml;ndigungsregelungen
> gem&amp;auml;&amp;szlig;&amp;sect; 7 dieser Vereinbarung.</DATA>
> </COL>
> <COL>
> <DATA/>
> </COL>
> <COL>
> <DATA>(2)&amp;#9;Die Vertragsabwicklung erfolgt ausschlie&amp;szlig;lich&amp;uuml;ber die
> Firma in Vertretung bzw. als Empfangsbotin der Gesellschaft.</DATA>
> </COL>
> <COL>
> <DATA/>
> </COL>
> <COL>
> <DATA>(3)&amp;#9;Es gilt das Recht der Bundesrepublik Deutschland. Erf&amp;uuml;llungsort
> und Gerichtsstand sind M&amp;uuml;n-chen.</DATA>
> </COL>
> <COL>
> <DATA/>
> </COL>
> <COL>
> <DATA>(4)&amp;#9;M&amp;uuml;ndliche Nebenabreden sind nicht getroffen.&amp;Auml;nderungen
> und Erg&amp;auml;nzungen dieses Vertrages bed&amp;uuml;rfen der Schriftform. Dies gilt
> auch f&amp;uuml;r eine&amp;Auml;nderung dieser Schriftformklausel.</DATA>
> </COL>
> <COL>
> <DATA/>
> </COL>
> <COL>
> <DATA>(5)&amp;#9;Sollten eine oder mehrere Bestimmungen dieses Vertrages ganz oder teilweise
> unwirksam sein oder sich als undurchf&amp;uuml;hrbar erweisen, so wird die Wirksamkeit
> des Vertrages im&amp;Uuml;brigen hier-von nicht ber&amp;uuml;hrt. Die Parteien werden
> die ganz oder teilweise unwirksamen oder undurchf&amp;uuml;hr-baren Bestimmungen durch
> eine wirksame Bestimmung ersetzen, die dem wirtschaftlich gewoll-ten Zweck entspricht
> und dem Inhalt der zu ersetzenden Bestimmung m&amp;ouml;glichst nahe kommt. Dies gilt
> entsprechend, wenn sich herausstellt, dass der Vertrag Regelungsl&amp;uuml;cken
> enth&amp;auml;lt.</DATA>
> </COL>
> </ROW>
>
>
>
> XSLT File
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xd="www.---.com; version="1.0"
> xmlns:my="http://www.myhome.com/xmlresult">
> <xd:doc scope="stylesheet">
> <xd:desc>
> <xd:p><xd:b>Created on:</xd:b>  Mar 20, 2010</xd:p>
> <xd:p><xd:b>Author:</xd:b>  myname</xd:p>
> <xd:p/>
> </xd:desc>
> </xd:doc>
> <xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
> <xsl:template match="/">
> <MyText>
> <xsl:for-each select="my:ROW/my:COL/my:DATA">
> <xsl:call-template name="xOutput">
> <xsl:with-param name="xString" select="." />
> </xsl:call-template>
> </xsl:for-each>
> </MyText>
> </xsl:template>
>
> <xsl:template name="xOutput">
> <xsl:param name="xString"/>
> <xsl:value-of select="$xString" disable-output-escaping="yes"/>
> </xsl:template>
>
> </xsl:stylesheet>
>
>
>
> NEEDED
> After the xsl:template xOutput should be a check<xsl:choose>  and create new nodes as needed.
> (Idea only)
> <xsl:template name="xNewNodes">
> <xsl:param name="xString"/>
> <xsl:for-each select="/SPAN">
> <xsl:choose>
> <xsl:when test="contains($xString, 'color:')">
> <NewNote>
> <Color/>  <!-- spec of color -->
> </NewNote>
> </xsl:when>
> </xsl:choose>
> <xsl:choose>
> <xsl:when test="contains($xString, 'font-weight:')">
> <NewNote>
> <FontWeight/>  <!-- spec of Font -->
> </NewNote>
> </xsl:when>
> </xsl:choose>
> </xsl:for-each>
> </xsl:template>
>
>
> PS.: This is also posted at www.---.com, because i thougth it is this xsl list.
> --~------------------------------------------------------------------
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail:<mailto:xsl-list-unsubscribe@l...>
> --~--
>

-- 
Gerrit Imsieke
Geschäftsführer / Managing Director
le-tex publishing services GmbH
Weissenfelser Str. 84, 04229 Leipzig, Germany
Phone +49 341 355356 110, Fax +49 341 355356 510
gerrit.imsieke@l..., http://www.le-tex.de

Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930

Geschäftsführer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard Vöckler

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe@l...>
--~--

Disclaimer

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.