Почему Jing не получает xml:id для XInclude?

Учитывая следующие файлы

а.rnc:

start = a
a = element a { b }
b = element b {
  attribute xml:id { xsd:ID }?,
  attribute xml:base { xsd:ID }?,
  empty
}

а.xml:

<a xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="b.xml" xpointer="element(bid)"/>
</a>

б.xml:

<a><b xml:id="bid"/></a>

Почему Цзин сообщает

a.xml:1:97: warning: Include operation failed, reverting to fallback. Resource error reading file as XML (href='b.xml'). Reason: XPointer resolution unsuccessful.
a.xml:1:97: fatal: An 'include' failed, and no 'fallback' element was found.

при запуске как

java -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration -jar jing.jar -c a.rnc a.xml

?

Если я изменю атрибут xpointer на element(/1/1), он пройдет.

Это с 20091111 Jing с xercesImpl.jar в том же каталоге, что и jing.jar.


person user322381    schedule 26.02.2011    source источник


Ответы (1)


Оказывается, Xerces не поддерживает xml:id таким образом, чтобы это было возможно. Более подробное объяснение доступно в списке рассылки rng-users. .

person user322381    schedule 28.02.2011