我正在处理我的硬件 xml/xsl。我真的是这个领域的新手。这是我的代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:pre="/home/sbtge/Documents/1.SCHOOL/Webove_technologie/vypracovanie"
exclude-result-prefixes="pre">
<xsl:output method="html"/>
<xsl:template match="pre:document">
<html>
<link rel="stylesheet" href="nutri.css" type="text/css"/>
<head>
<title> Nutričné hodnoty </title>
</head>
<body>
<h1> Nutričné hodnoty </h1>
<div>
<table>
<tr>
<th>Name</th>
<th>Kategória <br/> (g) </th>
<th>Cukry <br/> (g) </th>
<th>Tuky <br/> (g) </th>
<th>Bielkoviny <br/> (g) </th>
<th>Energia <br/> (kJ) </th>
</tr>
<xsl:apply-templates select="pre:food"/>
</table>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="pre:food">
<tr>
<td><xsl:value-of select="pre:name"/></td>
<xsl:choose>
<xsl:when test="pre:category='Zelenina'">
<div class="Zelenina">
<td><xsl:value-of select="pre:category"/></td>
</div>
</xsl:when>
<xsl:when test="pre:category='Ovocie'">
<div class="Ovocie">
<td><xsl:value-of select="pre:category"/></td>
</div>
</xsl:when>
<xsl:when test="pre:category='Ryža'">
<div class="Ryza">
<td><xsl:value-of select="pre:category"/></td>
</div>
</xsl:when>
<xsl:when test="pre:category='Mäso'">
<div class="Maso">
<td><xsl:value-of select="pre:category"/></td>
</div>
</xsl:when>
</xsl:choose>
<xsl:apply-templates select="pre:values"/>
</tr>
</xsl:template>
<xsl:template match="pre:values">
<td><xsl:value-of select="pre:sacharides"/> g</td>
<td><xsl:value-of select="pre:fat"/> g</td>
<td><xsl:value-of select="pre:proteins"/> g</td>
<td><xsl:value-of select="pre:energy"/> g</td>
</xsl:template>
一切正常,但 xsl:choose 被忽略。我认为这是因为糟糕的“测试”声明。我应该如何纠正它?非常感谢。我尝试了所有类似的方法:@pre:category、pre:@category、@category。