Книга: XSLT

Написание значений атрибутов

Написание значений атрибутов

В XSLT есть несколько способов написать значения атрибутов в выходные документы, и наиболее мощный — это создать атрибуты с нуля при помощи элемента <xsl:attribute>, как мы увидим в главе 6.

Однако можно также во многих случаях использовать шаблоны значений атрибутов, с которыми мы познакомимся в этой главе.

Предположим, например, что нам требуется преобразовать текст в таких элементах, как <MASS>, <DAY> и <NAME>, в атрибуты элементов <PLANET>, преобразуя planets.xml в следующий вид:

<?xml version="1.0" encoding="UTF-8"?>
<PLANETS>
 <PLANET DAY="58.65 days" RADIUS="1516 miles"
  MASS=".0553 (Earth = 1)" NAME="Mercury"/>
 <PLANET DAY="116.75 days" RADIUS="3716 miles"
  MASS=".815 (Earth = 1)" NAME="Venus"/>
 <PLANET DAY="1 days" RADIUS="2107 miles"
  MASS="1 (Earth = 1)" NAME="Earth"/>
</PLANETS>

Чтобы создать преобразование, нельзя просто использовать следующее выражение, в котором я взял значения элементов <NAME>, <MASS> и <DAY> и попытался сделать их значениями атрибутов:

<xsl:template match="PLANET">
 <PLANET NAME="<xsl:value-of select="NAME"/>"
  MASS="<xsl:value-of select="MASS"/>"
  DAY="<xsl:value-of select="DAY"/>"
/>

Это не будет работать, поскольку нельзя использовать < внутри значений атрибутов, как я сделал в предыдущем примере. В XSLT для этого есть несколько способов. Один из них — использовать шаблоны значений атрибутов. 

Оглавление книги


Генерация: 1.238. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз