xslt:试图理解的条件内部值
我只希望霍拉出现:xslt:试图理解的条件内部值,xslt,Xslt,我只希望霍拉出现: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="helloworld.xslt"?> <greetings> <greeting id="1"> Hello World! </greeting> <greeting id="2"> Hola! </greetin
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="helloworld.xslt"?>
<greetings>
<greeting id="1">
Hello World!
</greeting>
<greeting id="2">
Hola!
</greeting>
</greetings>
你好,世界!
你好!
然而,两种问候语都出现了
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html"/>
<xsl:template match="greetings">
<xsl:apply-templates select="greeting"/>
</xsl:template>
<xsl:template match="greeting">
<html>
<body>
<h1>
<xsl:value-of select="@id[.>1]"/>
</h1>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
导致问题的不是条件,而是您的语句正在选择属性,因此
的xsl:value将输出属性(但仅当值大于1时)
您需要做的是将条件移动到xsl:apply templates
,然后执行
以获取“Hola”值
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="greetings">
<xsl:apply-templates select="greeting[@id > 1]"/>
</xsl:template>
<xsl:template match="greeting">
<html>
<body>
<h1>
<xsl:value-of select="."/>
</h1>
</body>
</html>
</xsl:template>
</xsl:stylesheet>