Subject: [xsl] MS XML 3.0 and 4.0 nonconformance From: gutman@xxxxxxxxxxxxxxxx Date: Tue, 25 Feb 2003 14:53:02 +0600 |
Hello, friends. If we use MS XML 3.0 or 4.0 and transform this: <x> <y/> </x> via this: <t:transform version="1.0" xmlns:t="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="ms"> <t:template match="*" mode="text-check"> <t:variable name="n" select="count(.//text())"/> <t:choose> <t:when test="$n=0">no text nodes</t:when> <t:otherwise><t:value-of select="$n"/> text nodes</t:otherwise> </t:choose> </t:template> <t:template match="/*"> <result> <original> <t:copy-of select="."/> </original> <original-check> <t:apply-templates select="." mode="text-check"/> </original-check> <t:variable name="rtf"> <t:copy-of select="."/> </t:variable> <rtf-nodeset> <t:copy-of select="ms:node-set($rtf)/*"/> </rtf-nodeset> <rtf-nodeset-check> <t:apply-templates select="ms:node-set($rtf)/*" mode="text-check"/> </rtf-nodeset-check> </result> </t:template> </t:transform> then we obtain: <result><original><x> <y /> </x></original><original-check>no text nodes</original-check><rtf-nodeset><x> <y /> </x></rtf-nodeset><rtf-nodeset-check>2 text nodes</rtf-nodeset-check></result> or (formatted): <result> <original> <x> <y/> </x> </original> <original-check>no text nodes</original-check> <rtf-nodeset> <x> <y/> </x> </rtf-nodeset> <rtf-nodeset-check>2 text nodes</rtf-nodeset-check> </result> As we see, text nodes appear after converting a node list into an RTF and then back into a node list. Furthermore, when copied, a node list preserves its line breaks but looses spaces. Actually, according to W3C, there should be "2 text nodes" in the "original-check" as well (!), since no strip-space elements are set: "Initially, the set of whitespace-preserving element names contains all element names." By the way, say, Saxon is fully conformant in this sense: it shows 2 text nodes in both cases and copies them properly. -- Alexander E. Gutman XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] ANN: tkxsltproc, Steve Ball | Thread | Re: [xsl] MS XML 3.0 and 4.0 noncon, Mike Brown |
[xsl] Re: The Perils of Sudden Type, Dimitre Novatchev | Date | Re: [xsl] MS XML 3.0 and 4.0 noncon, Mike Brown |
Month |