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

Search the boards