XSL无法执行XSL转换

时间:2015-05-21 03:49:23

标签: xml xslt

我有这个结构的xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rental.xsl"?>
<rentalProperties>
<property available=“yes” contact=0459591009>
<type>house</type>
<price>price per week</price>
<numberOfBedrooms>1</numberOfBedrooms>
<numberOfBathrooms>1</numberOfBathrooms>
<garage>1</garage>
<description>A Description</description> 
</property>
</rentalProperties>

我如何改变它?我试过用它来开始。但是它让我无法对您的XML文件执行XSL转换。对于与元素类型“property”相关联的属性“available”,需要打开引号。错误。

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="rentalProperties">
 <html>
    <body>
        <xsl:apply-templates select="property"/>
    </body>
</html>
</xsl:template>

<xsl:template match="property">
<p>
<xsl:variable name="curr_avail" select="@available"/>
<xsl:value-of select="$curr_avail"/> - 
<xsl:value-of select="."/> 
</p>
</xsl:template>

</xsl:stylesheet>

1 个答案:

答案 0 :(得分:1)

问题在于您的输入。属性值必须用引号括起来(双引号或单引号)。在您的示例中,值yes被&#34;智能引号&#34;包围。 (字符&#8220;&#8221;)和值0459591009根本没有引用。

这会使您的输入格式不正确 - 这意味着它不是XML文档,也不能由XSLT处理。