XML Tutorial/XSLT stylesheet/current group

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

value-of select="current-group()" separator=", "

   <source lang="xml">

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

<description>XPath 2.0 Context Functions</description>
<date>2003-08-26</date>
<function type="new">context-item()</function>
<function type="new">current-date()</function>
<function type="new">current-dateTime()</function>
<function type="new">current-time()</function>
<function type="new">default-collation()</function>
<function type="new">implicit-timezone()</function>
<function type="legacy">last()</function>
<function type="legacy">position()</function>

</list>

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

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" indent="yes" />
 <xsl:template match="list">
   <xsl:copy>
     <xsl:for-each-group select="function" group-by="@type">
       <functions type="{@type}">
         <xsl:value-of select="current-group()"
           separator=", " />
       </functions>
     </xsl:for-each-group>
   </xsl:copy>
 </xsl:template>

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

  <functions type="new">context-item(), current-date(), current-dateTime(), current-time(), default-collation(), implicit-timezone()</functions>
  <functions type="legacy">last(), position()</functions>

</list></source>