Html XSLT:将单词与属性连接时出现问题

Html XSLT:将单词与属性连接时出现问题,html,xml,xslt,xslt-1.0,Html,Xml,Xslt,Xslt 1.0,我在从xml文件中提取年份属性并将其与字符连接时遇到问题 我试图让xml看起来像这样: <h1>CIA World 2008 Factbook - Countries</h1> 2008年中央情报局世界概况-国家 “2008”是年份属性的一部分。 下面是我正在使用的一段xml文档: <WFB YEAR="2008"> WFB是文档中的根元素 到目前为止我有这个 <xsl:stylesheet version="1.0" xmln

我在从xml文件中提取年份属性并将其与字符连接时遇到问题

我试图让xml看起来像这样:

<h1>CIA World 2008 Factbook - Countries</h1>
2008年中央情报局世界概况-国家
“2008”是年份属性的一部分。 下面是我正在使用的一段xml文档:

<WFB YEAR="2008">

WFB是文档中的根元素

到目前为止我有这个

<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="element[@YEAR]">
     <element>
      <h1><xsl:value-of select=
       "concat(CIA World ', @YEAR, ' Factbook - Countries)"/></h1>
     </element>
 </xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>


我觉得我把它复杂化了,尽管…

考虑到以下输入:

XML

<WFB YEAR="2008"/>

以下样式表:

XSLT1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/WFB">
    <html>
        <h1>
            <xsl:value-of select="concat('CIA World ', @YEAR, ' Factbook - Countries')"/>
        </h1>
    </html>
</xsl:template>

</xsl:stylesheet>

将返回:

<html>
   <h1>CIA World 2008 Factbook - Countries</h1>
</html>

中央情报局2008年世界概况-国家

给定以下输入:

XML

<WFB YEAR="2008"/>

以下样式表:

XSLT1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/WFB">
    <html>
        <h1>
            <xsl:value-of select="concat('CIA World ', @YEAR, ' Factbook - Countries')"/>
        </h1>
    </html>
</xsl:template>

</xsl:stylesheet>

将返回:

<html>
   <h1>CIA World 2008 Factbook - Countries</h1>
</html>

中央情报局2008年世界概况-国家

@WFB
不是一个属性,bhantol。我编辑了我的原始帖子。请发布一个-esp.WRT输入。为什么你希望
match=“element[@YEAR]”“
匹配
?使用
match=“*[@YEAR]”
匹配具有
YEAR
属性的任何元素,或者使用
match=“/*[@YEAR]”
匹配具有该属性的根元素,或者明显地使用
match=“WBF[@YEAR]”
匹配您显示的元素名称。
@WFB
不是属性,bhantol。我编辑了我的原始帖子。请发布一个-esp.WRT输入。为什么你希望
match=“element[@YEAR]”“
匹配
?使用
match=“*[@YEAR]”
匹配具有
YEAR
属性的任何元素,或者使用
match=“/*[@YEAR]”
匹配具有该属性的根元素,或者使用
match=“WBF[@YEAR]”
匹配您显示的元素名称。谢谢您,Michael.hor257k!我刚刚尝试了您的示例代码,但由于某种原因,当我转换XML时,我的html文件显示为空。有什么建议吗?这段代码将根据显示的XML生成显示的HTML。如果您在这方面遇到了问题,那么您必须更好地传递代码的运行方式。如果您试图在浏览器中运行XSLT,请参阅。谢谢,Michael.hor257k!我刚刚尝试了您的示例代码,但由于某种原因,当我转换XML时,我的html文件显示为空。有什么建议吗?这段代码将根据显示的XML生成显示的HTML。如果您在这方面遇到了问题,那么您必须更好地传递代码的运行方式。如果要在浏览器中运行XSLT,请参阅。