Posted By: Xen () on 'CZprogram'
Title:     XSLT a CDATA
Date:      Thu May  1 10:22:46 2008
Ahoj,
pisu XSL sablonu ktera ma transformovat jedno XML na jiny XML. Tim jinym, 
cilovym XML je KML a ja potrebuju vytvorit element description ktery bude 
obsahovat CDATA. Neco takovehleho:
<description><![CDATA[Kounicova 65a, Brno, CZ<br>WPA/TKIP<br><a 
href="http://www.mzk.cz/doba/">otevC-racC- doba</a><br><br><img 
src="http://www.mzk.cz/foto/kounicova.jpg">]]></description>
Lze sice zadefinovat:
  <xsl:output method="xml" encoding="ISO-8859-2"
    cdata-section-elements="description"
    indent="no"/>
A pak je vsechen text uvnitr elementu description obalen CDATA jenze jakmile 
to narazi na nejaky jiny element tak to CDATA ukonci. Tohle:
<xsl:element name="description">
  neco
  <h2><xsl:value-of select="../org_name"/></h2>
  <xsl:value-of select="address/street"/>; <xsl:value-of 
select="address/city"/>
  neco_jinyho
</xsl:element>
 
vyprodukuje:
<description><![CDATA[
        neco
        ]]><h2>CESNET</h2><![CDATA[Zikova 4; Praha 6
        neco_jinyho
      ]]></description> 
Potrebuju:
<description><![CDATA[
        neco
        <h2>CESNET</h2>Zikova 4; Praha 6
        neco_jinyho
      ]]></description>
Prozatim jsem to zprasil tak, ze misto CDATA tagu vypisu XX a YY a to prepisu 
pomoci sed na zacatek a konec CDATA ale to je velmi VELMI nehezky...  
Nejake napady?
Diky
Semik