Forums » Help »
Question on end-of-line handling
Added by Anonymous over 19 years ago
Legacy ID: #3232389
Legacy Poster: marcvc (marcvc)
Michael, Consider the following XQuery:
string-length(<foo>a
b</foo>) ,
string-length(<foo>{"a
b"}</foo>)
, string-length(<foo>a b</foo>) ,
string-length(<foo>{"a b"}</foo>) Saxon
evaluates to: 4 4 3 4 I had some discussion on this over here, and we don't seem to come
to an agreement. Personally I would have expected 3 3 3 3 (considering XML end-of-line
handling and translating #xD;
 to a single #xA). Can you explain Saxon's
behaviour? I do understand that this might well be seen as more an XQuery spec than
Saxon specific question. In which case I will contact the W3C XQuery WG. Thanks, Marc
Legacy ID: #3232440
Legacy Poster: Michael Kay (mhkay)
Saxon isn't implementing the end-of-line rules as defined in the April draft - when
I looked at the spec I decided that the rules were nonsense as written, and made a
proposal to change them, which has been accepted. Saxon 8.5 will implement the new
rules, which essentially work just like XML: "real" line endings in
the query are normalized to a single xA character before any other parsing is done,
while character entities are not touched. This means the correct result is (4 4 3 3).
Michael Kay
Please register to reply