Главная -> XML&... -> XSLT в примерах 
>> Страница 71 << | Назад | Вперед | Содержание | Указатель

Превосходство при импорте сильней, чем превосходство приоритета. Смотрите преобразование 2.

Преобразование 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>

Результат
<H3 style="color:blue">CCC (id=c1)</H3>
<H3 style="color:blue">CCC (id=c2)</H3>
<H3 style="color:blue">CCC (id=c3)</H3>

Представление HTML

CCC (id=c1)

CCC (id=c2)

CCC (id=c3)

XSLT stylesheet (file: id2.xsl )
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <xsl:apply-templates select="//CCC"/>
</xsl:template>

<xsl:template match="CCC" priority="10">
     <H3 style="color:blue">
          <xsl:value-of select="name()"/>
          <xsl:text> (id=</xsl:text>
          <xsl:value-of select="@id"/>
          <xsl:text>)</xsl:text>
     </H3>
</xsl:template>


</xsl: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>

Результат
<H3 style="color:red">CCC (id=c1)</H3>
<H3 style="color:red">CCC (id=c2)</H3>
<H3 style="color:red">CCC (id=c3)</H3>

Представление HTML

CCC (id=c1)

CCC (id=c2)

CCC (id=c3)

XSLT stylesheet (file: id3.xsl )
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:import href="id2.xsl"/>
<xsl:template match="/">
     <xsl:apply-templates select="//CCC"/>
</xsl:template>

<xsl:template match="CCC" priority="-100">
     <H3 style="color:red">
          <xsl:value-of select="name()"/>
          <xsl:text> (id=</xsl:text>
          <xsl:value-of select="@id"/>
          <xsl:text>)</xsl:text>
     </H3>
</xsl:template>


</xsl:stylesheet>

Raleigh.ru Copyright © 2002