[xsl] Attribute constructor for @xml:id

Subject: [xsl] Attribute constructor for @xml:id
From: "Martin Holmes gtxxgm-xsl-list-2@xxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 7 Feb 2017 17:15:22 -0000
Hi all,

I just hit a problem uploading what I thought was good XSLT 2.0 into exist-db. This is what the problem looks like:

<xsl:variable name="xmlSource">
   <div type="ajaxFragment" xml:id="{$thisId}" n="{$sortKey}">
     <head><xsl:value-of select="$citationCaption"/></head>
        [...]
   <div>
</xsl:variable>

eXist's XML parser complains that the @xml:id is not a valid NCName, which of course it's not, but I hadn't until now considered the possibility that is-id constraints might apply to this kind of constructor in output content. Some on the eXist list have suggested that this is invalid XSLT, but Saxon has never complained about it and I can't actually find anything in the spec that clearly says so. There's an obvious workaround using the more verbose constructor, but I'd like to know whether this is in fact technically wrong or not. What say you?

Cheers,
Martin

Current Thread