gpt4 book ai didi

loops - xslt 循环属性因命名空间属性而失败

转载 作者:行者123 更新时间:2023-12-04 17:01:51 26 4
gpt4 key购买 nike

我将属性转换为表格,
但我不知道会设置哪些属性,
所以我得到了以下解决方案:

                <simpletable  spectitle="Chapter Attribute">
<sthead>
<stentry>Name</stentry>
<stentry>Wert</stentry>
</sthead>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="Head/@*"/>
</simpletable>

<!-- ********************* Chapter Attribute -> simpleTable....strow ************************************************************************************** -->
<xsl:template match="Chapter/@*|Head/@*">
<xsl:choose>
<xsl:when test="string(.)">
<strow>
<stentry>
<xsl:value-of select="local-name(.)"/>
</stentry>
<stentry>
<xsl:value-of select="."/>
</stentry>
</strow>
</xsl:when>
</xsl:choose>
</xsl:template>

这是我要处理的 XML:
<Chapter title="Information" termpool="" nodeid="DE-123" xmltag="Chapter" 
status="" id="" language="" version="">
<Head UniqueID="DE-234" xmlns:axf="http://www.antennahouse.com/names
/XSL/Extensions">Information</Head>

这是结果
<strow>
<stentry>title</stentry>
<stentry>Information</stentry>
</strow>
<strow>
<stentry>nodeid</stentry>
<stentry>DE-123</stentry>
</strow>
<strow>
<stentry>xmltag</stentry>
<stentry>Chapter</stentry>
</strow>
<strow>
<stentry>UniqueID</stentry>
<stentry>DE-234</stentry>
</strow>

对于 << Chapter >> 它工作正常,但对于 << Head >> 它不识别 xmlns:axf
(或者 xmlns:axf 有一个 vaule 集)

希望有人给我一个提示,如何使用@* 访问 xmlns:axf
谢谢乔臣

最佳答案

在 XPath 使用的 XDM 数据模型中, namespace 和属性是完全不同的东西。属性轴@*为您提供属性,对于命名空间,您需要命名空间轴 namespace::* .

请注意,这将为您提供元素范围内的所有 namespace ,而不仅仅是在该元素上声明的 namespace 。如果您确实想要元素上存在但父元素上不存在的 namespace ,则逻辑将取决于您使用的 XSLT 版本,您没有告诉我们。

关于loops - xslt 循环属性因命名空间属性而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50764771/

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