我有一个使用一些特定于命名空间的属性的SVG。我需要获取具有特定值的ID的值,以便我可以将其用作参数。
以下是我需要获取的信息的SVG片段:
<g id="_166" fill="black" stroke="black" stroke-width="0.0005" ntc:id="TITLE">
<g stroke="none" font-family="Arial">
<text font-size="1.365" x="3.85222972" y="-0.04367862">Figure 2-33 TITLE OF FIGURE (Sheet 1 of 3) Change 15</text>
</g>
当我做类似的事情时:
<xsl:variable name="getTitle" select="//@ntc:id = 'TITLE'"/>
它只返回true。我需要在svg:text descendant中获取文本。
提前致谢。
答案 0 :(得分:2)
您可以使用
之类的表达式//*[@ntc:id = 'TITLE']//svg:text
(假设svg
前缀绑定到样式表中的相应名称空间)。这将为您提供text
为TITLE的元素中包含的ntc:id
元素集。
如果您关心的只是文本内容而不是svg:text
元素本身,那么它可能就足够了
<xsl:value-of select="//*[@ntc:id = 'TITLE']"/>
由于元素的字符串值(在本例中为g)被定义为其所有后代文本节点的串联。