Преобразование XML с использованием таблицы стилей XSL - PullRequest
0 голосов
/ 16 марта 2012

Я занимаюсь разработкой приложения, в котором мне нужно преобразовать XML-документы, которые выглядят следующим образом:

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE words SYSTEM "words.dtd">
<words>
<word id="word_1">Alfa</word>
<word id="word_2">Beta</word>
<word id="word_3">Gamma</word>
<word id="word_4">Pi</word>
</words>

С использованием таблицы стилей XSLT.Я хотел бы, чтобы результат преобразования был (в данном случае) Alfa Beta Gamma Pi, и это XSL, который я использую:

<?xml version='1.0' encoding='ISO-8859-1'?>

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <xsl:for-each select="words/word">
    <tr>
      <td><xsl:value-of select="@id"/></td>
      <td>
      <xsl:attribute name="word">
        <xsl:value-of select="@id" />
      </xsl:attribute>
      </td>
    </tr>
    </xsl:for-each>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

Результат не тот, который я ищу.Что мне нужно изменить в XSLT?

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

Позвольте мне угадать ... он выводит идентификатор вместо значения.

Возможно, вы хотите:

<td><xsl:value-of select="."/></td> 

или

<td><xsl:value-of select="text()"/></td> 
1 голос
/ 16 марта 2012

В таблице стилей отсутствует открывающий элемент <xsl:stylesheet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...