XML/XSLT stylesheet/strip space

Материал из Web эксперт
Версия от 11:26, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

strip-space elements="*"

   <source lang="xml">

File: Data.xml <?xml version="1.0"?> <python version="2.3">

 <keyword>while</keyword>
 <keyword>continue</keyword>
 <keyword>def</keyword>
 <keyword>elif</keyword>
 <keyword>assert</keyword>

</python>

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

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:saxon="http://icl.ru/saxon"
 extension-element-prefixes="saxon">
 <xsl:output method="xml" saxon:indent-spaces="2" indent="yes" />
 <xsl:strip-space elements="*" />
 <xsl:template match="python">
   <xsl:copy>
     <xsl:attribute name="version"><xsl:value-of
         select="@version" />
     </xsl:attribute>
     <xsl:apply-templates>
       <xsl:sort />
     </xsl:apply-templates>
   </xsl:copy>
 </xsl:template>
 <xsl:template match="keyword">
   <xsl:copy-of select="." />
 </xsl:template>

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

  <keyword>assert</keyword>
  <keyword>continue</keyword>
  <keyword>def</keyword>
  <keyword>elif</keyword>
  <keyword>while</keyword>

</python>

</source>
   
  


strip-space elements="color"

   <source lang="xml">

File: Data.xml <colors>

 <color>red</color>
 <color>yellow</color>
 <color>blue</color>
 <color></color>

</colors> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes" />
 <xsl:strip-space elements="color" />
 <xsl:template match="@*|node()">
   <xsl:copy>
     <xsl:apply-templates select="@*|node()" />
   </xsl:copy>
 </xsl:template>

</xsl:stylesheet> Output: <colors>

 <color>red</color>
 <color>yellow</color>
 <color>blue</color>
 <color/>

</colors>

</source>