Я пытаюсь перемещаться по instance
, используя XPath. Ниже я привожу отрывок из оригинала instance
:
<?xml version="1.0" encoding="US-ASCII"?>
<xbrli:xbrl xmlns:ann="http://www.anninc.com/20140201"
xmlns:dei="http://xbrl.sec.gov/dei/2013-01-31"
xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:us-gaap="http://fasb.org/us-gaap/2013-01-31"
xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<link:schemaRef xlink:href="ann-20140201.xsd"
xlink:type="simple" />
<xbrli:context id="FD2011Q4YTD">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK"
>0000874214</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2011-01-30</xbrli:startDate>
<xbrli:endDate>2012-01-28</xbrli:endDate>
</xbrli:period>
</xbrli:context>
<xbrli:context id="FD2011Q4YTD_ann_EarningsPerShareReconciliationAxis_ann_EarningsPerShareBasic.Member">
<xbrli:entity>
Я знаю, что внутри root element
есть namespace
. Я использую GUI BaseX. Согласно предыдущей справке, мой root element
равен {http://xbrl.org/2003/instance}xbrl
!
Однако, когда я пытаюсь использовать выражение XPath следующим образом:
xquery doc("ann-20140201.xml")//{http://xbrl.org/2003/instance}xbrl
и я нажимаю Выполнить запрос, я получаю:
Error:
Stopped at C:/Users/Μαρίνος/Desktop/ann-20140201.xml, 1/6:
[XPST0003] Processing instruction has illegal name: 'xml'.
Что я делаю не так? Также мне посоветовали использовать:
declare namespace xbrli=http://xbrl.org/2003/instance;
Я ввожу эту команду из GUI и ввожу input
command
здесь (ввожу ли я здесь команду объявления?):
НО я все еще получаю то же сообщение error
, что и выше. Что мне делать с illegal name: xml
?
EDIT_1
wst говорит использовать Q
с нотацией Кларка:
xquery doc("ann-20140201.xml")//Q{http://xbrl.org/2003/instance}xbrl
--> Если я нажму запустить, он выполнится без ошибок. Однако вместо того, чтобы получать root element
на панели Result
в BaseX, как я получаю это с помощью этой команды:
XQUERY doc("ann-20140201.xml")//*
я ничего не получаю; Почему так? Также как мне объявить пространство имен?
xquery doc("ann-20140201.xml")//Q{http://xbrl.org/2003/instance}xbrl
? что я сделал не так? - person ExoticBirdsMerchant   schedule 11.06.2014<?
. См. en.wikipedia.org/wiki/Processing_Instruction. Например,<?xml-stylesheet type="text/css" value="css.xsl"/>
- person Charles Duffy   schedule 11.06.2014<?xml version="1.0" encoding="US-ASCII"?>
)? -- в первой строке. - person ExoticBirdsMerchant   schedule 11.06.2014<?xml
— это особый случай, который должен быть только в самом, самом начале файла. Если у вас есть где-нибудь еще - даже один символ перед этой строкой - это будет причиной вашей ошибки. - person Charles Duffy   schedule 11.06.2014<xml
, однако, когда я загружаю ее и сохраняю какxml
, у меня есть<xml
в моей первой строке. Я открываю его с помощью Notepad++ - person ExoticBirdsMerchant   schedule 11.06.2014[FODC0002] "C:/Users/Μαρίνος/Desktop/ann-20140201.xml" (Line 1): A pseudo attribute name is expected.
(не могли бы вы сказать мне, где находится полное окно запроса, которое я ищу, чтобы найти его ;-)) - person ExoticBirdsMerchant   schedule 11.06.2014<?xml version="1.0">
- person ExoticBirdsMerchant   schedule 11.06.2014[XPST0003] Comparison is incomplete.
когда я ввожу:declare namespace xbrli=http://xbrl.org/2003/instance;
- person ExoticBirdsMerchant   schedule 11.06.2014