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

Соответствие шаблонов определяется путями адресации, где конкретные пути разделяются с помощью символа "|" (преобразование 1). Символ "*" обозначает все возможности. Сравните преобразование 1 и преобразование 2.

Преобразование 1

Исходный XML
<source>

<employee>
     <firstName>Joe</firstName>
     <surname>Smith</surname>
</employee>

</source>

Результат
<div>[template: firstName outputs Joe ]</div>

<div>[template: surname outputs Smith ]</div>

Представление HTML
[template: firstName outputs Joe ]
[template: surname outputs Smith ]
Преобразование XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="firstName|surname">
     <div>
          <xsl:text>[template: </xsl:text>
          <xsl:value-of select="name()"/>
          <xsl:text> outputs </xsl:text>
          <xsl:apply-templates/>
          <xsl:text> ]</xsl:text>
     </div>
</xsl:template>


</xsl:stylesheet>



Преобразование 2

Исходный XML
<source>

<employee>
     <firstName>Joe</firstName>
     <surname>Smith</surname>
</employee>

</source>

Результат
<div>[template: source outputs
<div>[template: employee outputs
<div>[template: firstName outputs Joe ]</div>

     <div>[template: surname outputs Smith ]</div>
]</div>
]</div>

Представление HTML
[template: source outputs
[template: employee outputs
[template: firstName outputs Joe ]
[template: surname outputs Smith ]
]
]
Преобразование XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="*">
     <div>
          <xsl:text>[template: </xsl:text>
          <xsl:value-of select="name()"/>
          <xsl:text> outputs </xsl:text>
          <xsl:apply-templates/>
          <xsl:text> ]</xsl:text>
     </div>
</xsl:template>


</xsl:stylesheet>

Raleigh.ru Copyright © 2002