[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] empty sequence as complex content
The following stylesheet generates a variable x using a sequence constructor that evaluates to an empty sequence... <xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xsl:variable name="x"> <xsl:sequence select="()"/> </xsl:variable> <xsl:template match="/"> <xsl:message select="'C1:', $x instance of xs:string, string-length($x) "/> <xsl:message select="'C2:', $x instance of document-node(), count($x/node()), $x/node() instance of text(), $x/text()/string-length(.) "/> </xsl:template> </xsl:stylesheet> $x is a variable that is a document node with a text node child the text node having zero length. I just read https://www.w3.org/TR/xslt-30/#constructing-complex-content 10 times but still don't see where the text node came from having the xsl:sequence there means it avoids the XSLT 1 special case returning a string, and not having an as= attribute means there is an implicit document node generated, but I would expected that $x was just a document node with no children, but saxon (Saxon-HE 9.9.0.1J) produces $ saxon9 ev.xsl ev.xsl C1: false 0 C2: true 1 true 0 <?xml version="1.0" encoding="UTF-8"?> If someone could point me at the right bit of the spec I think I'm missing a step somewhere... David
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|