Subject: Re: [xsl] CDATA to XML - work with transformed Nodes - how does it work? From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx> Date: Sun, 21 Mar 2010 00:13:33 +0100 |
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></SPAN><SPAN STYLE="font-size: 10px;">(1)&#9;Das Angebot auf Abschluss dieser Vereinbarung besitzt eine G&uuml;ltigkeit von sechs Monaten nach Versand (Datum des Poststempels). Nach Annahme durch den Vermittler durch Unterschrift und R&uuml;cksendung gelten die K&uuml;ndigungsregelungen gem&auml;&szlig;&sect; 7 dieser Vereinbarung.</DATA> </COL> <COL> <DATA/> </COL> <COL> <DATA>(2)&#9;Die Vertragsabwicklung erfolgt ausschlie&szlig;lich&uuml;ber die Firma in Vertretung bzw. als Empfangsbotin der Gesellschaft.</DATA> </COL> <COL> <DATA/> </COL> <COL> <DATA>(3)&#9;Es gilt das Recht der Bundesrepublik Deutschland. Erf&uuml;llungsort und Gerichtsstand sind M&uuml;n-chen.</DATA> </COL> <COL> <DATA/> </COL> <COL> <DATA>(4)&#9;M&uuml;ndliche Nebenabreden sind nicht getroffen.&Auml;nderungen und Erg&auml;nzungen dieses Vertrages bed&uuml;rfen der Schriftform. Dies gilt auch f&uuml;r eine&Auml;nderung dieser Schriftformklausel.</DATA> </COL> <COL> <DATA/> </COL> <COL> <DATA>(5)&#9;Sollten eine oder mehrere Bestimmungen dieses Vertrages ganz oder teilweise unwirksam sein oder sich als undurchf&uuml;hrbar erweisen, so wird die Wirksamkeit des Vertrages im&Uuml;brigen hier-von nicht ber&uuml;hrt. Die Parteien werden die ganz oder teilweise unwirksamen oder undurchf&uuml;hr-baren Bestimmungen durch eine wirksame Bestimmung ersetzen, die dem wirtschaftlich gewoll-ten Zweck entspricht und dem Inhalt der zu ersetzenden Bestimmung m&ouml;glichst nahe kommt. Dies gilt entsprechend, wenn sich herausstellt, dass der Vertrag Regelungsl&uuml;cken enth&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="http://www.oxygenxml.com/ns/doc/xsl" 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 http://www.stylusstudio.com/SSDN/default.asp?action=9&read=9002&fid=48, because i thougth it is this xsl list.
-- Gerrit Imsieke Geschdftsf|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@xxxxxxxxx, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930
Geschdftsf|hrer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vvckler
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] CDATA to XML - work with tran, [x] cross solution | Thread | [xsl] String sequence as key match, Martynas Jusevicius |
[xsl] CDATA to XML - work with tran, [x] cross solution | Date | RE: [xsl] Difference between <when>, Markus Karg |
Month |