xsl-list
[Top] [All Lists]

Re: [xsl] LF and serialize()?

2019-10-25 10:11:49
The newline characters are destroyed by the XML parser long before the XSLT 
processor gets to see the data, under the rules for Attribute Value 
Normalization. Heaven only knows who thought that was a good idea, but you 
can't change it. (It's a wretched nuisance when you use multiline XPath 
expressions in a stylesheet.)

Michael Kay
Saxonica

On 25 Oct 2019, at 14:04, Birnbaum, David J djbpitt(_at_)pitt(_dot_)edu 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Dear XSL-List,

When I run serialize() (in Saxon-HE 9.9.1.4J XSLT) over an XML snippet, it 
does what I need, except that it replaces LF inside attribute values with SP. 
This seems to be consistent with what I read at 
https://www.w3.org/TR/REC-xml/#AVNormalize, and the workaround described 
there (use a numerical character reference to LF instead of the raw LF 
character) works. But I’d like to avoid having to specify in the XML 
something that I would prefer to manage during the XSLT transformation, and I 
would also like to avoid pre-processing the XML outside an XML environment 
and replacing the LF with a numerical character reference there, before 
passing the modified XML into the XSLT transformation.

So: Would anyone happen to know of a way within just an XSLT stylesheet to 
retain LF within an attribute value as distinct from SP in the output of 
serialize()?

Thanks,

David
djbpitt(_at_)gmail(_dot_)com



--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>