开发者

XML Carriage return encoding

开发者 https://www.devze.com 2022-12-20 09:26 出处:网络
I was looking to represent a carriage return within an xml node. I have tried a whitespace preserve, hex entity with no lu开发者_JAVA技巧ck- and a \\n. viewing via a browser.

I was looking to represent a carriage return within an xml node.

I have tried a whitespace preserve, hex entity with no lu开发者_JAVA技巧ck- and a \n. viewing via a browser.

Example

<Quote>
Alas, poor Yorick!
I knew him
</Quote>

Thanks.


To insert a CR into XML, you need to use its character entity &#13;.

This is because compliant XML parsers must, before parsing, translate CRLF and any CR not followed by a LF to a single LF. This behavior is defined in the End-of-Line handling section of the XML 1.0 specification.


xml:space="preserve" has to work for all compliant XML parsers.

However, note that in HTML the line break is just whitespace and NOT a line break (this is represented with the <br /> (X)HTML tag, maybe this is the problem which you are facing.

You can also add &#10; and/or &#13; to insert CR/LF characters.


A browser isn't going to show you white space reliably. I recommend the Linux 'od' command to see what's really in there. Comforming XML parsers will respect all of the methods you listed.

0

精彩评论

暂无评论...
验证码 换一张
取 消