Re: How can the mere switch from DTD to XSD in the source document affect how a stylesheet handles white space?

"Wolfhart Totschnig [email protected]" <[email protected]> Mon, 22 Feb 2021 20:54:29 -0000
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Message-ID <[email protected]>
Dear Martin,

Thank you for the prompt reply!

To answer your questions:

1) When doing these tests, I ran Saxon with the following command:

java -cp "/home/wolfhart/Programs/Saxon/saxon9he.jar" 
net.sf.saxon.Transform -s:Test.xml -xsl:Test.xsl -o:Test.txt

2) Yes, the content of the <author> element is element-only.

So this is a Saxon-specific issue? Another processor might produce a 
different result? (I checked the second example -- the one with the XSD 
-- with the online XSL processor at 
https://www.freeformatter.com/xsl-transformer.html and it produced the 
same result as Saxon.) If so, I am a little surprised that there is no 
correct or standard way of handling white space in such cases (i.e., in 
the absence of an explicit <xsl:strip-space/>).

Wolfhart


On 22-02-21 16:49, Martin Honnen [email protected] wrote:
> On 22.02.2021 20:41, Martin Honnen [email protected] wrote:
>
>> How exactly do you run Saxon? I think it might depend on the behaviour
>> of the underlying parser and I am not sure Saxon HE, as it itself does
>> not support schema-aware XSLT, uses any xsi:schemaLocation hint or
>> passes it to the XML parser, so basically the schema is ignored, while
>> the default setting for XML based parsing might use a parser reading and
>> taking the DTD into account. I would expect Saxon EE with
>> schema-validation turned on for parsing to give a different output for
>> the second sample.
>
> The relevant option from the command line
>
> https://www.saxonica.com/html/documentation9.9/using-xsl/commandline/
>
> might be "-strip:(all|none|ignorable)"
>
>
> Specifies what whitespace is to be stripped from source documents
> (applies both to the principal source document and to any documents
> loaded for example using the document() function). The default is
> ignorable: all ignorable whitespace is stripped. Whitespace text nodes
> are ignorable if they appear in elements defined in the DTD or schema as
> having element-only content.
>
>
> I guess in your case the DTD defines element only content for the author
> element and Saxon and/or the parser used the DTD while the schema, even
> if it defines the same, was not applied during parsing.
> 
>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--