0

次のようなxmlファイルがあります。

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pointList SYSTEM "point.dtd">
<pointList>
<point unit="mm">
<x>2</x>
<y>3</y>
</point>
<point unit="cm">
<x>9</x>
<y>3</y>
</point>
<point unit="px">
<x>4</x>
<y>7</y>
</point>
</pointList>

XSLT を使用して、それを html ファイルに変換しました。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>

    <xsl:template match = "/pointList">
    <table border = "1"><xsl:apply-templates/></table>
    </xsl:template>
    <xsl:template match = "/pointList/point">
    <tr><xsl:apply-templates/></tr>
    </xsl:template>
    <xsl:template match="pointList/point/x">
    <td><xsl:value-of select="text()"/></td>
    </xsl:template>
    <xsl:template match="pointList/point/y">
    <td><xsl:value-of select="text()"/></td>
    </xsl:template>

</xsl:stylesheet> 

今私のhtmlは次のようになります:

<table border="1">

<tr>

<td>2</td>
<td>3</td>

</tr>

<tr>

<td>9</td>
<td>3</td>

</tr>

<tr>

<td>4</td>
<td>7</td>

</tr>

</table>

しかし、もう 1 つやるべきことがあり、行き詰まっています。私のxmlファイルにはユニット属性があります。2mm 3mm 9cm 3 cm 4px 7 px. 欲しいものを手に入れるためにxsltファイルを変更する方法を教えてもらえますか? ありがとう

4

1 に答える 1

3

変化する

<xsl:template match="pointList/point/x">
  <td><xsl:value-of select="text()"/></td>
</xsl:template>

<xsl:template match="pointList/point/y">
  <td><xsl:value-of select="text()"/></td>
</xsl:template>

<xsl:template match="pointList/point/*">
  <td><xsl:value-of select="concat(text(), ../@unit)"/></td>
</xsl:template>
于 2012-05-04T13:29:17.790 に答える