English | Français | Deutsch | Magyar | 中文 | >> Polski << ZVON > Tutorials > XSLT Tutorial
>> Strona 17 << | Poprzedni | Następny | Zawartość | Indeks elementu

Oś child:: jest domyślna i może być pominięta. Oś attribute:: może być skrócona do postaci @ . Oś descendant-or-self:: może być przedstawiona jako // , self:: jako . natomiast .. może być użyte w miejsce osi parent::.

Arkusz stylów XSLT 1

Źródło 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>

Dane wyjściowe
<H3>AAAa1</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>child::BBB/attribute::id</TD>
     <TD>BBB/@id</TD>
  </TR>
  <TR>
     <TD>b1</TD>
     <TD>b1</TD>
  </TR>
</TABLE>

<H3>AAAa2</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>child::BBB/attribute::id</TD>
     <TD>BBB/@id</TD>
  </TR>
  <TR>
     <TD>b3</TD>
     <TD>b3</TD>
  </TR>
</TABLE>

Widok HTML

AAAa1

full abbreviated
child::BBB/attribute::id BBB/@id
b1 b1

AAAa2

full abbreviated
child::BBB/attribute::id BBB/@id
b3 b3
Arkusz stylów XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="AAA">
     <H3>
          <xsl:value-of select="name()"/>
          <xsl:text/>
          <xsl:value-of select="@id"/>
     </H3>
     <TABLE border="1">
          <TR>
               <TH>full</TH>
               <TH>abbreviated</TH>
          </TR>
          <TR>
               <TD>
                    <xsl:text>child::BBB/attribute::id</xsl:text>
               </TD>
               <TD>
                    <xsl:text>BBB/@id</xsl:text>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:value-of select="child::BBB/attribute::id"/>
               </TD>
               <TD>
                    <xsl:value-of select="BBB/@id"/>
               </TD>
          </TR>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


Arkusz stylów XSLT 2

Źródło 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>

Dane wyjściowe
<H3>BBBb1</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>parent::*/attribute::id</TD>
     <TD>../@id</TD>
  </TR>
  <TR>
     <TD>a1</TD>
     <TD>a1</TD>
  </TR>
</TABLE>

<H3>BBBb2</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>parent::*/attribute::id</TD>
     <TD>../@id</TD>
  </TR>
  <TR>
     <TD>a1</TD>
     <TD>a1</TD>
  </TR>
</TABLE>



<H3>BBBb3</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>parent::*/attribute::id</TD>
     <TD>../@id</TD>
  </TR>
  <TR>
     <TD>a2</TD>
     <TD>a2</TD>
  </TR>
</TABLE>

<H3>BBBb4</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>parent::*/attribute::id</TD>
     <TD>../@id</TD>
  </TR>
  <TR>
     <TD>a2</TD>
     <TD>a2</TD>
  </TR>
</TABLE>




<H3>BBBb5</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>parent::*/attribute::id</TD>
     <TD>../@id</TD>
  </TR>
  <TR>
     <TD>a2</TD>
     <TD>a2</TD>
  </TR>
</TABLE>

Widok HTML

BBBb1

full abbreviated
parent::*/attribute::id ../@id
a1 a1

BBBb2

full abbreviated
parent::*/attribute::id ../@id
a1 a1

BBBb3

full abbreviated
parent::*/attribute::id ../@id
a2 a2

BBBb4

full abbreviated
parent::*/attribute::id ../@id
a2 a2

BBBb5

full abbreviated
parent::*/attribute::id ../@id
a2 a2
Arkusz stylów XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="BBB">
     <H3>
          <xsl:value-of select="name()"/>
          <xsl:text/>
          <xsl:value-of select="@id"/>
     </H3>
     <TABLE border="1">
          <TR>
               <TH>full</TH>
               <TH>abbreviated</TH>
          </TR>
          <TR>
               <TD>
                    <xsl:text>parent::*/attribute::id</xsl:text>
               </TD>
               <TD>
                    <xsl:text>../@id</xsl:text>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:value-of select="parent::*/attribute::id"/>
               </TD>
               <TD>
                    <xsl:value-of select="../@id"/>
               </TD>
          </TR>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


Arkusz stylów XSLT 3

Źródło 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>

Dane wyjściowe
<H3>CCCc1</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>name(/descendant-or-self::*)</TD>
     <TD>name(//*)</TD>
  </TR>
  <TR>
     <TD>source</TD>
     <TD>source</TD>
  </TR>
</TABLE>

<H3>CCCc2</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>name(/descendant-or-self::*)</TD>
     <TD>name(//*)</TD>
  </TR>
  <TR>
     <TD>source</TD>
     <TD>source</TD>
  </TR>
</TABLE>



<H3>CCCc3</H3>
<TABLE border="1">
  <TR>
     <TH>full</TH>
     <TH>abbreviated</TH>
  </TR>
  <TR>
     <TD>name(/descendant-or-self::*)</TD>
     <TD>name(//*)</TD>
  </TR>
  <TR>
     <TD>source</TD>
     <TD>source</TD>
  </TR>
</TABLE>

Widok HTML

CCCc1

full abbreviated
name(/descendant-or-self::*) name(//*)
source source

CCCc2

full abbreviated
name(/descendant-or-self::*) name(//*)
source source

CCCc3

full abbreviated
name(/descendant-or-self::*) name(//*)
source source
Arkusz stylów XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="CCC">
     <H3>
          <xsl:value-of select="name()"/>
          <xsl:text/>
          <xsl:value-of select="@id"/>
     </H3>
     <TABLE border="1">
          <TR>
               <TH>full</TH>
               <TH>abbreviated</TH>
          </TR>
          <TR>
               <TD>
                    <xsl:text>name(/descendant-or-self::*)</xsl:text>
               </TD>
               <TD>
                    <xsl:text>name(//*)</xsl:text>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:value-of select="name(/descendant-or-self::*)"/>
               </TD>
               <TD>
                    <xsl:value-of select="name(//*)"/>
               </TD>
          </TR>
     </TABLE>
     <xsl:apply-templates/>
</xsl:template>


</xsl:stylesheet>