This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In section "6.7.1 Built-in Templates: Text-only Copy" at http://www.w3.org/TR/2014/WD-xslt-30-20141002/#built-in-templates-text-only-copy, we read: "The built-in template rule for text and attribute nodes returns a text node containing the string value of the context node. It is effectively: <xsl:template match="text()|@*" mode="M"> <xsl:value-of select="string(.)"/> </xsl:template> Note: This text node may have a string value that is zero-length. diff="chg" at="R-bug26751">The built-in template rule atomic values returns a text node containing the value. It is effectively: <xsl:template match=".[. instance of xs:anyAtomicType]" mode="M"> <xsl:value-of select="string(.)"/> </xsl:template> Note: This text node may have a string value that is zero-length. The built-in template rule for processing instructions, comments, and namespace nodes does nothing (it returns the empty sequence)." It is very difficult to notice that the quoted text actually contains the definitions for two built-in templates, the second being buried inside a Note for the first definition. Also, it seems that the displayed string 'diff="chg" at="R-bug26751">' is the result of accident and this may be the cause of the way the text is displayed (both in Chrome and IE11). Because of the importance of built-in templates in the language, any reader would expect any built-in template definition to be clearly visible and not hidden among other text. Besides correcting the typography, adding a TOC entry for every built-in template will significantly improve the quality of the document. Dimitre Novatchev
Also, the sentence: "The built-in template rule atomic values returns a text node containing the value." was probably intended to be: "The built-in template rule *for* atomic values returns a text node containing the value.
Thanks. I have fixed these typos.