我用XSL解析XSL文件。我有一个动态查找节点的问题。下面是这种情况:XSL:动态选择节点
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<labelLink xmlns:xlink="http://www.w3.org/1999/xlink" xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
<loc xlink:type="locator" xlink:href="de-gaap-ci-2010-12-16.xsd#de-gaap-ci_bs.ass.fixAss.fin.otherLoans.other" xlink:label="de-gaap-ci_bs.ass.fixAss.fin.otherLoans.other"/>
<!-- many <loc... elements -->
<labelArc xlink:from="de-gaap-ci_bs.ass.fixAss.fin.otherLoans.other" xlink:to="label_de-gaap-ci_bs.ass.fixAss.fin.otherLoans.other" priority="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:type="arc"/>
<!-- many <labelArc... elements -->
</labelLink>
</linkbase>
我解析的labelArc
元素,并希望包括来自loc
元素的信息。这与SAP/ABAP做...
我的XSL代码如下:
<xsl:template match="lb:labelArc">
<xsl:variable name="arc_to" select="@xlink:to"/>
<TY_T_LABELARC>
<LOC> <xsl:value-of select="//lb:loc[@xlink:label='$arc_to']/@xlink:href"/> </LOC>
<FROM> <xsl:value-of select="@xlink:from"/> </FROM>
<TO> <xsl:value-of select="@xlink:to"/> </TO>
<!-- Other values follow -->
</TY_T_LABELARC>
</xsl:template>
我想包括从loc
标签到输出的@href
。我可以找到相应的loc
标签,其值为@to
,每个标签的值为labelArc
。
我的问题是,这个语句返回空值:
<xsl:value-of select="//lb:loc[@label='$arc_to']/@href"/>
我与领先的命名空间试过都“的XLink:”每个属性,没有它...
任何想法?
感谢您指出我错过“label_”的错误!你隐含地解决了我以前没有认识到的另一个我的问题:-) – 2012-04-28 22:21:49
@MarcoNätlitz:不客气。 – 2012-04-28 22:25:44