0
我有xml文件,看起來像這樣從XML檢索數據:如何將屬性添加到每個標籤同時使用XSLT
<?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>
但我還有一件事要做,我卡住了。我的單元屬性在我的xml文件中。我必須增加單位的值到每個點,所以它看起來像這樣:2mm 3mm 9cm 3 cm 4px 7 px。任何人都可以告訴我應該如何修改我的xslt文件,以便得到我想要的? 感謝
不,這是行不通的。你看到我的x和y標籤在點標籤中,我需要將點屬性的值添加到x和y屬性中。是否有意義? – Gipsy
@Gipsy Woops,你是對的。查看修改後的解 – Tomalak
是的,謝謝,我知道了。但是你知道任何其他方式而不使用concat()?我還沒有研究過它。 – Gipsy