Я работаю над заданием, в котором я должен по-разному показывать продукты. Я не могу понять, если файл XSL является неправильным или XML-файл, или оба.
Фрагмент назначения:
каждый
Товар в инвентаре должен иметь цену продажи, независимо от того, продается он или нет. Товар, который продается, будет идентифицирован через атрибут продажи со значениями «да» или «нет». Атрибут продажи должен быть помещен в тег ID. Если тег продажи «да», то используется цена продажи, в противном случае используется обычная цена.
Моя проблема в том, что будут отображаться только обычные цены независимо от того, @ sale = "yes" или "no"
<body>
<table>
<xsl:for-each select="catalog/item">
<tr>
<xsl:attribute name="sale">
<xsl:value-of select="id"/>
</xsl:attribute>
<td><xsl:value-of select="company"/></td>
<td><xsl:value-of select="product"/></td>
<td><xsl:value-of select="category"/></td>
<td><xsl:value-of select="description"/></td>
<xsl:choose>
<xsl:when test="@sale = 'yes'">
<td><xsl:value-of select="sale"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="price"/></td>
</xsl:otherwise>
</xsl:choose>
<td><xsl:value-of select="unit"/></td>
<td>
<img>
<xsl:attribute name="src">
<xsl:value-of select="picture"/>
</xsl:attribute>
</img>
</td>
</tr>
</xsl:for-each>
</table>
</body>
и XML с образцом из 2 элементов:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="sale.xsl" xsl:import href="company.xsl" xsl:import href="category.xsl"?>
<!DOCTYPE catalog SYSTEM "stock.dtd">
<catalog>
<item>
<id sale="yes">801</id>
<company>Grocery Gateway</company>
<product>Organic Strawberries</product>
<category>Produce</category>
<description>Fresh and organic strawberries imported from U.S.A. This product is subject to availability</description>
<price>5.99</price>
<sale>4.99</sale>
<unit>454g</unit>
<picture>pics/M6548[1].jpg</picture>
</item>
<item>
<id sale="no">101</id>
<company>Nestle </company>
<product>Pure Life Spring Water</product>
<category>Beverages</category>
<description>Ingredients are spring water, and ozone. </description>
<price>5.99</price>
<sale>4.99</sale>
<unit>24x500mL</unit>
<picture>pics/M58629[1].jpg</picture>
</item></catalog>