Subject: Re: [xsl] document nodes. From: "Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 13 Dec 2024 01:00:24 -0000 |
Hi,
There is some Saxon/Oxygen behavior that I do not seem to grasp. I made a simplified use case to present it.
I have\xA0an xml document (thingtest.xml) that looks somewhat like this:
<?xml version="1.0" encoding="UTF-8"?> <thing id="main" title="something"> \xA0 \xA0 <thing id="group1">...</thing> \xA0 \xA0 <thing id="group2">...</thing> \xA0 \xA0 <thing id="group3">...</thing> </thing>
and I have a stylesheet\xA0(thingtest.xslt) that reads this file and tries to "message" the value of the title attribute on the main (root) element, like:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform <http://www.w3.org/1999/XSL/Transform>" \xA0 \xA0 xmlns:xs="http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/XMLSchema>" \xA0 \xA0 xmlns:math="http://www.w3.org/2005/xpath-functions/math <http://www.w3.org/2005/xpath-functions/math>" \xA0 \xA0 exclude-result-prefixes="xs math" \xA0 \xA0 version="3.0">
\xA0 \xA0 <xsl:template match="/"> \xA0 \xA0 \xA0 \xA0 <xsl:variable name="struct" select="doc('thingtest.xml')/*"/> \xA0 \xA0 \xA0 \xA0 <xsl:message select="$struct/@title"/> \xA0 \xA0 </xsl:template> </xsl:stylesheet>
Now running this produces this error [Saxon-PE] Error XTDE0420 while evaluating xsl:message at line 10 of file:servercfg/thingtest.xslt: Cannot create an attribute node (title) whose parent is a document node. Mind you, $struct should not be a document mode as it is the child of a document node. Where it gets a little exotic for me is when I replace the message instruction by either : \xA0<xsl:message select="'' || $struct/@title"/> or \xA0<xsl:message select="string-join(($struct/@title))"/> Then, it works fine.
I do not mind adding a null string if I have to, but better understanding\xA0why may better contribute to my happiness. What am I doing wrong this time ... ;) Thank you, Regards.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] document nodes., rick@xxxxxxxxxxxxxx | Thread | Re: [xsl] document nodes., Michael Kay michaelk |
Re: [xsl] document nodes., rick@xxxxxxxxxxxxxx | Date | Re: [xsl] document nodes., Michael Kay michaelk |
Month |