XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Posttop
Armin EggingerSubject: CDATA to XML - work with transformed Nodes - how does it work?
Author: Armin Egginger
Date: 20 Mar 2010 05:15 PM
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="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>


 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.