gpt4 book ai didi

属性的 XSLT 内置模板规则

转载 作者:行者123 更新时间:2023-12-04 10:21:58 25 4
gpt4 key购买 nike

我敢肯定,这是一个非常基本的问题,但无论如何都在这里!我读过 XSLT 中文本和属性节点的内置模板规则是

<xsl:template match="text()|@*">
<xsl:value-of select="."/>
</xsl:template>
但是对于源文件
<?xml version="1.0"?>
<booker>
<award>
<author blah="test">Aravind Adiga</author>
<title>The White Tiger</title>
<year>2008</year>
</award>
</booker>
和 XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
</xsl:stylesheet>
我在 Visual Studio 中应用转换得到以下输出。有人可以解释为什么我在输出中看不到“测试”吗?

Aravind Adiga

The White Tiger

2008

最佳答案

因为元素的内置规则不会将模板应用于元素自己的属性,只会应用于它的子元素。如果您想以与遍历子元素相同的方式遍历属性(这可能是一项人工任务),您需要定义自己的默认值:

<xsl:template match="*">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
</xsl:template>

关于属性的 XSLT 内置模板规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2835404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com