XML/XSLT stylesheet/character map

Материал из Web эксперт
Перейти к: навигация, поиск

Use character-map

   <source lang="xml">

File: Data.xml <?xml version="1.0" encoding="iso-8859-1"?> <artist>

 <filename>aidan_oliver</filename>

<work>Innocence</work>

E

</artist>

File: Transform.xslt <?xml version="1.0"?> <!DOCTYPE xsl:stylesheet [

 <!ENTITY start-comment "">
 <!ENTITY end-comment "">

]> <xsl:stylesheet version="2.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output use-character-maps="comment-delimiters" />
 <xsl:character-map name="comment-delimiters">
   <xsl:output-character character="&start-comment;"
     string="<!--" />
   <xsl:output-character character="&end-comment;" string="-->" />
 </xsl:character-map>
 <xsl:template match="*">
   <xsl:copy>
     <xsl:copy-of select="@*" />
     <xsl:apply-templates />
   </xsl:copy>
 </xsl:template>
 <xsl:template match="*[@delete="yes"]">
   <xsl:text>&start-comment;
   </xsl:text>
   <xsl:copy-of select="." />
   <xsl:text>&end-comment;
   </xsl:text>
 </xsl:template>

</xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?><artist>

 <filename>aidan_oliver</filename>
   
   
   
   

</artist>

</source>