1
<!-- Mapping from Excel to XBRL -->
<xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ifrs="http://xbrl.ifrs.org/taxonomy/2013-03-28/ifrs">
<link:schemaRef xlink:type="simple" xlink:href="IFRS\ifrs-cor_2013-03-28.xsd"/>
<!-- Contexts -->
<context id="D-2063">
<entity>
<identifier scheme="http://www.cro.gov.np">CRO</identifier>
</entity>
<period>
<startDate>2063-04-01</startDate>
<endDate>2064-03-31</endDate>
</period>
</context>
<context id="I-2063">
<entity>
<identifier scheme="http://www.cro.gov.np">CRO</identifier>
</entity>
<period>
<instant>2064-03-31</instant>
</period>
</context>
<!-- Units -->
<unit id="U-Monetary">
<measure>iso4217:NPR</measure>
</unit>
<!-- Fact values -->
<ifrs:Assets contextRef="I-2063" unitRef="U-Monetary" decimals="0">7954664475</ifrs:Assets>
</xbrl>
以上給出的是基於XML的XBRL文件示例。我想從ifrs:Assets的FactValue中選擇contextRef的屬性值。正如我們所看到的,我們定義了名稱空間,具有簡單xpath的普通xquery不起作用。所以,我曾經使用過獲取屬性XBRL中的名稱空間定義的值
xquery version "3.0";
let $x:=doc("/db/Siddhartha/2061.xml")
return $x/*[local-name()="xbrl"]/*[local-name()="Assets"][@contextRef]
但是預期值I-2063沒有出現。 如何從上面的文件中獲取屬性contextRef的值?
感謝馬丁Honnnen。我使用return $ x/* [local-name()=「xbrl」]/* [local-name()=「Assets」]/@ contextRef/string()並得到響應。現在,我清楚了。 – Pant
@SarvagyaPant我會重申馬丁在這裏所說的,最好的做法是聲明和使用名稱空間。在他們身邊工作的黑客可能會產生意想不到的後果。 「local-name」的使用是衆所周知的[code smell](http://en.wikipedia.org/wiki/Code_smell)。 – wst