Воспроизвести все атрибуты в преобразовании XML с использованием XSLT - PullRequest
3 голосов
/ 01 декабря 2011

Я пытаюсь конвертировать XML в XHTML, используя XSLT.Предоставленный код XML содержит таблицы с атрибутами, которые я должен воспроизвести:

Код XML:

...
<table>
  <tr>
    <td width="70" valign="middle" align="center">
       Hi 
    </td>
    <td width="95" valign="middle" align="center">
       Ho 
    </td>
    <td width="130" valign="middle" align="center">
       Hu 
    </td>
  </tr>
  <tr>
    <td width="70" valign="middle" align="center" class="text1">
       hihihi
    </td> 
    <td width="95" valign="middle" align="right" class="text1">
       hohoho
    </td> 
    <td width="130" valign="middle" align="center" class="text1">
       huhuhu
    </td> 
  </tr>
</table>
...

Сейчас я использую этот код XSL:

...
<xsl:template match="table">
<table><xsl:apply-templates /></table>
</xsl:template>

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

<xsl:template match="td">
<td><xsl:apply-templates /></td>
</xsl:template>
...

Любая идея о воспроизведении всех атрибутов ячеек?

1 Ответ

3 голосов
/ 01 декабря 2011

Использование:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="table | tr | td">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="@*">
    <xsl:copy>
      <xsl:apply-templates select="@*"/>
    </xsl:copy>
  </xsl:template>

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