Hello,
This code:
let $asString := '<html><head><meta name="foo"
content="bar"/></head></html>'
let $asElement := <html><head><meta name="foo"
content="bar"/></head></html>
return (
"method: html "
,"AS STRING:"
,serialize($asString,map{"method":"html"})
,"AS ELEMENT:"
,serialize($asElement,map{"method":"html"})
,"method: xhtml "
,"AS STRING:"
,serialize($asString,map{"method":"xhtml"})
,"AS ELEMENT:"
,serialize($asElement,map{"method":"xhtml"})
,"method: text: "
,"AS STRING:"
,serialize($asString,map{"method":"text"})
,"AS ELEMENT:"
,serialize($asElement,map{"method":"text"})
)
when executed with Saxon, in oXygen, gives me:
<?xml version="1.0" encoding="UTF-8"?>method: html AS STRING:
&lt;html&gt;&lt;head&gt;&lt;meta name="foo"
content="bar"/&gt;&lt;/head&gt;&lt;/html&gt; AS
ELEMENT: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<meta name="foo" content="bar">
</head>
</html> method: xhtml AS STRING:
&lt;html&gt;&lt;head&gt;&lt;meta name="foo"
content="bar"/&gt;&lt;/head&gt;&lt;/html&gt; AS
ELEMENT: <html>
<head>
<meta name="foo" content="bar"></meta>
</head>
</html> method: text: AS STRING:
<html><head><meta name="foo"
content="bar"/></head></html> AS ELEMENT:
With BaseX, however, I get:
method: html
AS STRING:
<html><head><meta name="foo"
content="bar"/></head></html>
AS ELEMENT:
<html>
<head>
<meta name="foo" content="bar">
</head>
</html>
method: xhtml
AS STRING:
<html><head><meta name="foo"
content="bar"/></head></html>
AS ELEMENT:
<html>
<head>
<meta name="foo" content="bar"></meta>
</head>
</html>
method: text:
AS STRING:
<html><head><meta name="foo" content="bar"/></head></html>
AS ELEMENT:
which has me baffled.
* why is the result to the very last function empty?
* how can I convert an XML node to an entity escaped string, _without_
passing it in as string, but as element() or node()?
The background is, that I want to write a function, that takes an XML
element()* and results in the node(s) escaped to xs:string*, so,
basically, what Saxon does (though I still wonder, how the Saxon people
then get an unescaped string of XML, as BaseX does).
Thanks.
--
Goody Bye, Minden jót, Mit freundlichen Grüßen,
Andreas Mixich