- From: Nimruhil <nimruhil@yandex.ru>
- Date: Sat, 30 Apr 2011 06:09:27 +0400
- To: <public-xml-processing-model-comments@w3.org>
I need to insert a content of an XML node into text of another XML element in the same document. I use XInclude for this purpose. For example: <?xml version="1.0" encoding="UTF-8"?> <pool xmlns:xi="http://www.w3.org/2001/XInclude"> <query name="foo"> <sql db="oracle">Lorem ipsum</sql> <sql db="mysql">sed do eiusmod tempor</sql> </query> <query name="bar"> <sql db="oracle"><xi:include xpointer="xpointer(//query[@name='foo']/sql[@db='oracle']/text( ))" /> dolor sit amet,</sql> <sql db="mysql"><xi:include xpointer="xpointer(//query[@name='bar']/sql[@db='oracle']/text( ))" /> consectetur adipisicing elit</sql> </query> </pool> It works well when a node what content is inserted from contains only text (e.g., first sql node in the "foo" query in example above). So I have "Lorem ipsum dolor sit amet," in the first sql node in the "bar" query after parsing. That's what I want. But I have a problem when I try to insert a content of a node containing xi:include. For example I have " dolor sit amet, consectetur adipisicing elit" instead of "Lorem ipsum dolor sit amet, consectetur adipisicing elit" in the second sql node within the "bar" query. When I use xpointer without text( ) at end I have the following as content of the second sql node within the "bar" query: <sql xmlns:xi="http://www.w3.org/2001/XInclude" db="oracle">Lorem ipsum dolor sit amet,</sql> consectetur adipisicing elit It's almost correct, but here are undesirable sql tags. I've tried to use range-inside() function of xpointer in this way: ... <sql db="mysql"><xi:include xpointer="xpointer(range-inside(//query[@name='bar']/sql[@db='oracle']))" /> consectetur adipisicing elit</sql> ... Content of the second sql node in the "bar" query has been changed to this: <sql db="oracle"/> consectetur adipisicing elit As you can see content of included sql node entirely gone. What's wrong? Am I using XInclude or XPointer in the wrong way? Or may be PHP XML parser isn't entirely conformed with XInclude or XPointer standard?
Received on Monday, 2 May 2011 07:53:23 UTC