我知道XSLT中的冒号用作命名空间,但是我遇到冒号的非命名空间问题。
基本上,我需要获取具有带冒号的属性名称的字段的值。
示例:
<root>
<Name name="Attn:">whatever</Name>
<Name name="somethingelse">something</Name>
</root>
我希望能够使用&#34; Attn:&#34;准确选择名称。属性所以我可以改变它,所以:
<root>
<AttentionName>Whatever</AttentionName>
<Name>something</Name>
<root>
尝试过:
<AttentionName>
<xsl:value-of select="root/Name/@Attn:"/>
</AttentionName>
但它错误地指出冒号不能在选择值中。
答案 0 :(得分:2)
属性 name (name
)不包含冒号; Attn:
的属性 value (@name
)包含冒号。
您可以按如下方式调整XPath,以获取Name
属性等于@name
Attn:
元素的字符串值
<AttentionName>
<xsl:value-of select="/root/Name[@name='Attn:']"/>
</AttentionName>