English | Français | Deutsch | Magyar | >> 中文 << | Polski adultinternetusers > Tutorials > XSLT Tutorial
>> 页 15 << | 上一条 | 下一条 | 目录 | 元素索引

轴(Axes)在XSLT中扮演了重要的角色。欲知详情请看 XSLT 参考手册。比较: child(子) axis ( XSLT stylesheet 1 ), descendant(后代) axis ( XSLT stylesheet 2 ), parent(父) axis ( XSLT stylesheet 3 ), ancestor(祖先) axis ( XSLT stylesheet 4 ), following-sibling(后继兄弟) axis ( XSLT stylesheet 5 ), preceding-sibling(前驱兄弟) axis ( XSLT stylesheet 6 ), following(后继) axis ( XSLT stylesheet 7 ), preceding(前驱) axis ( XSLT stylesheet 8 ), attribute(属性) axis ( XSLT stylesheet 9 ), namespace(命名空间) axis ( XSLT stylesheet 10 ), self(本身) axis ( XSLT stylesheet 11 ), descendant-or-self(后代或本身) axis ( XSLT stylesheet 12 ), ancestor-or-self(祖先或本身) axis ( XSLT stylesheet 13 ).

XSLT stylesheet 1

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: child</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>b1b2</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td/>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>b3b4c1b5</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td/>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>c2</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>c3</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td/>
  </tr>
</table>

用HTML察看
Axis: child
Element Node-set
AAA id = a1 b1b2
BBB id = b1
BBB id = b2
AAA id = a2 b3b4c1b5
BBB id = b3
BBB id = b4
CCC id = c1 c2
CCC id = c2
BBB id = b5 c3
CCC id = c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: child</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="child::*">
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 2

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: descendant</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>b1b2</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td/>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>b3b4c1c2b5c3</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td/>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>c2</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>c3</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td/>
  </tr>
</table>

用HTML察看
Axis: descendant
Element Node-set
AAA id = a1 b1b2
BBB id = b1
BBB id = b2
AAA id = a2 b3b4c1c2b5c3
BBB id = b3
BBB id = b4
CCC id = c1 c2
CCC id = c2
BBB id = b5 c3
CCC id = c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: descendant</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="descendant::*">
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 3

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: parent</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>source</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>a1</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>a1</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>source</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>a2</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>a2</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>a2</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>c1</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>a2</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>b5</td>
  </tr>
</table>

用HTML察看
Axis: parent
Element Node-set
AAA id = a1 source
BBB id = b1 a1
BBB id = b2 a1
AAA id = a2 source
BBB id = b3 a2
BBB id = b4 a2
CCC id = c1 a2
CCC id = c2 c1
BBB id = b5 a2
CCC id = c3 b5
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: parent</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="parent::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 4

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: ancestor</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>source</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>sourcea1</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>sourcea1</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>source</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>sourcea2</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>sourcea2</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>sourcea2</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>sourcea2c1</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>sourcea2</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>sourcea2b5</td>
  </tr>
</table>

用HTML察看
Axis: ancestor
Element Node-set
AAA id = a1 source
BBB id = b1 sourcea1
BBB id = b2 sourcea1
AAA id = a2 source
BBB id = b3 sourcea2
BBB id = b4 sourcea2
CCC id = c1 sourcea2
CCC id = c2 sourcea2c1
BBB id = b5 sourcea2
CCC id = c3 sourcea2b5
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: ancestor</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="ancestor::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 5

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: following-sibling</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>a2</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>b2</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td/>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>b4c1b5</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>c1b5</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>b5</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td/>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td/>
  </tr>
</table>

用HTML察看
Axis: following-sibling
Element Node-set
AAA id = a1 a2
BBB id = b1 b2
BBB id = b2
AAA id = a2
BBB id = b3 b4c1b5
BBB id = b4 c1b5
CCC id = c1 b5
CCC id = c2
BBB id = b5
CCC id = c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: following-sibling</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="following-sibling::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 6

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: preceding-sibling</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>b1</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>a1</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>b3</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>b3b4</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>b3b4c1</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td/>
  </tr>
</table>

用HTML察看
Axis: preceding-sibling
Element Node-set
AAA id = a1
BBB id = b1
BBB id = b2 b1
AAA id = a2 a1
BBB id = b3
BBB id = b4 b3
CCC id = c1 b3b4
CCC id = c2
BBB id = b5 b3b4c1
CCC id = c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: preceding-sibling</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="preceding-sibling::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 7

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: following</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>a2b3b4c1c2b5c3</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>b2a2b3b4c1c2b5c3</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>a2b3b4c1c2b5c3</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>b4c1c2b5c3</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>c1c2b5c3</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>b5c3</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>b5c3</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td/>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td/>
  </tr>
</table>

用HTML察看
Axis: following
Element Node-set
AAA id = a1 a2b3b4c1c2b5c3
BBB id = b1 b2a2b3b4c1c2b5c3
BBB id = b2 a2b3b4c1c2b5c3
AAA id = a2
BBB id = b3 b4c1c2b5c3
BBB id = b4 c1c2b5c3
CCC id = c1 b5c3
CCC id = c2 b5c3
BBB id = b5
CCC id = c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: following</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="following::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 8

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: preceding</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td/>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>b1</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>a1b1b2</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>a1b1b2</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>a1b1b2b3</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>a1b1b2b3b4</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>a1b1b2b3b4</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>a1b1b2b3b4c1c2</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>a1b1b2b3b4c1c2</td>
  </tr>
</table>

用HTML察看
Axis: preceding
Element Node-set
AAA id = a1
BBB id = b1
BBB id = b2 b1
AAA id = a2 a1b1b2
BBB id = b3 a1b1b2
BBB id = b4 a1b1b2b3
CCC id = c1 a1b1b2b3b4
CCC id = c2 a1b1b2b3b4
BBB id = b5 a1b1b2b3b4c1c2
CCC id = c3 a1b1b2b3b4c1c2
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: preceding</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="preceding::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 9

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: attribute</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>idpos</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>id</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>id</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>id</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>id</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>id</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>id</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>id</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>id</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>id</td>
  </tr>
</table>

用HTML察看
Axis: attribute
Element Node-set
AAA id = a1 idpos
BBB id = b1 id
BBB id = b2 id
AAA id = a2 id
BBB id = b3 id
BBB id = b4 id
CCC id = c1 id
CCC id = c2 id
BBB id = b5 id
CCC id = c3 id
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: attribute</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="attribute::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 10

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: namespace</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>xml</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>xml</td>
  </tr>
</table>

用HTML察看
Axis: namespace
Element Node-set
AAA id = a1 xml
BBB id = b1 xml
BBB id = b2 xml
AAA id = a2 xml
BBB id = b3 xml
BBB id = b4 xml
CCC id = c1 xml
CCC id = c2 xml
BBB id = b5 xml
CCC id = c3 xml
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: namespace</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="namespace::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 11

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: self</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>a1</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>b1</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>b2</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>a2</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>b3</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>b4</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>c1</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>c2</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>b5</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>c3</td>
  </tr>
</table>

用HTML察看
Axis: self
Element Node-set
AAA id = a1 a1
BBB id = b1 b1
BBB id = b2 b2
AAA id = a2 a2
BBB id = b3 b3
BBB id = b4 b4
CCC id = c1 c1
CCC id = c2 c2
BBB id = b5 b5
CCC id = c3 c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: self</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="self::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 12

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: descendant-or-self</th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>a1b1b2</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>b1</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>b2</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>a2b3b4c1c2b5c3</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>b3</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>b4</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>c1c2</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>c2</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>b5c3</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>c3</td>
  </tr>
</table>

用HTML察看
Axis: descendant-or-self
Element Node-set
AAA id = a1 a1b1b2
BBB id = b1 b1
BBB id = b2 b2
AAA id = a2 a2b3b4c1c2b5c3
BBB id = b3 b3
BBB id = b4 b4
CCC id = c1 c1c2
CCC id = c2 c2
BBB id = b5 b5c3
CCC id = c3 c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: descendant-or-self</th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="descendant-or-self::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>



XSLT stylesheet 13

XML源码
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <CCC id="c2"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c3"/>
     </BBB>
</AAA>

</source>

输出
<table border="1" cellpadding="6">
  <tr>
     <th colspan="2">Axis: ancestor-or-self </th>
  </tr>
  <tr>
     <th>Element</th>
     <th>Node-set</th>
  </tr>
  <tr>
     <td>AAA id = a1</td>
     <td>sourcea1</td>
  </tr>
  <tr>
     <td>BBB id = b1</td>
     <td>sourcea1b1</td>
  </tr>
  <tr>
     <td>BBB id = b2</td>
     <td>sourcea1b2</td>
  </tr>
  <tr>
     <td>AAA id = a2</td>
     <td>sourcea2</td>
  </tr>
  <tr>
     <td>BBB id = b3</td>
     <td>sourcea2b3</td>
  </tr>
  <tr>
     <td>BBB id = b4</td>
     <td>sourcea2b4</td>
  </tr>
  <tr>
     <td>CCC id = c1</td>
     <td>sourcea2c1</td>
  </tr>
  <tr>
     <td>CCC id = c2</td>
     <td>sourcea2c1c2</td>
  </tr>
  <tr>
     <td>BBB id = b5</td>
     <td>sourcea2b5</td>
  </tr>
  <tr>
     <td>CCC id = c3</td>
     <td>sourcea2b5c3</td>
  </tr>
</table>

用HTML察看
Axis: ancestor-or-self
Element Node-set
AAA id = a1 sourcea1
BBB id = b1 sourcea1b1
BBB id = b2 sourcea1b2
AAA id = a2 sourcea2
BBB id = b3 sourcea2b3
BBB id = b4 sourcea2b4
CCC id = c1 sourcea2c1
CCC id = c2 sourcea2c1c2
BBB id = b5 sourcea2b5
CCC id = c3 sourcea2b5c3
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <table border="1" cellpadding="6">
          <tr>
               <th colspan="2">Axis: ancestor-or-self </th>
          </tr>
          <tr>
               <th>Element</th>
               <th>Node-set</th>
          </tr>
          <xsl:for-each select="/source//*">
               <xsl:call-template name="print"/>
          </xsl:for-each>
     </table>
</xsl:template>

<xsl:template name="print">
     <tr>
          <td>
               <xsl:value-of select="name()"/>
               <xsl:text> id = </xsl:text>
               <xsl:value-of select="./@id"/>
          </td>
          <td>
               <xsl:for-each select="ancestor-or-self ::*">
                    <xsl:if test="not(@id)">
                         <xsl:value-of select="name()"/>
                    </xsl:if>
                    <xsl:value-of select="./@id"/>
                    <xsl:text/>
               </xsl:for-each>
          </td>
     </tr>
</xsl:template>


</xsl:stylesheet>


Kevin Carr in Stanton

Natural Skin Care and European Soaps
Kevin Carr
Mayor Dave Shawver Stanton
internetusers
This is the website that has all the latest for surf, skate and snow. You can also see it here:. You'll be glad you saw the surf apparel.

Take a moment to visit hawaiian made sandals or see them on twitter at hawaiian made sandals or view them on facebook at hawaiian made sandals.

You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps

quiksilver board short His name is State Senate election

Quiksilver Tees

Quiksilver Tops

Quiksilver Tees Quiksilver Wetsuits

Quiksilver Wetsuits

Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter

And you must check out this website