Frustrating issue with XInclude / XPointer here.
The aim is to include entries from a list of XML-formatted price-entries into another document. I have a document with a list of prices that looks like this:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE preise [
<!ELEMENT preise (preis+)>
<!ELEMENT preis (#PCDATA)>
<!ATTLIST preis id ID #REQUIRED>
]>
<preise>
<preis id="a0">./.</preis>
<preis id='foo100'>136,10</preis>
<preis id='foo101'>163,32</preis>
</preise>
The following include fails
<xi:include href="../listen/preise.xml#xpointer(/preise/preis[@id='foo100']/text())" />
with
element include: XInclude error : failed build URL
Now if I change the format of the ids in the price-list to be exclusively numerical
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE preise [
<!ELEMENT preise (preis+)>
<!ELEMENT preis (#PCDATA)>
<!ATTLIST preis id ID #REQUIRED>
]>
<preise>
<preis id="a0">./.</preis>
<preis id='100'>136,10</preis>
<preis id='101'>163,32</preis>
</preise>
and use this include without the apostrophes
<xi:include href="../listen/preise.xml#xpointer(/preise/preis[@id=100]/text())" />
suddenly everything works. So the issue seems to be related to the apostrophes, but how do I get around that?
Also, here's my xmllint version info:
xmllint: using libxml version 20706
compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug Zlib