[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (ODATA-764) Need clarification of valid character values for Edm.String in relation to ATOM (XML 1.0)
[ https://issues.oasis-open.org/browse/ODATA-764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54846#comment-54846 ] Ralf Handl commented on ODATA-764: ---------------------------------- We already state in http://docs.oasis-open.org/odata/odata-atom-format/v4.0/cs02/odata-atom-format-v4.0-cs02.html#_Toc372792712 that Strings are represented according to the XML escaping rules for character data. Which I interpret as representing the ASCII control characters as XML escape sequences, e.g. 
 for carriage-return, or 	 for TAB. We have a similar statement in http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part3-csdl/odata-v4.0-errata02-os-part3-csdl-complete.html#_Toc406009907 for the DefaultValue attribute: Default values of type Edm.String MUST be represented according to the XML escaping rules for character data in attribute values. So I think we are fine, > Need clarification of valid character values for Edm.String in relation to ATOM (XML 1.0) > ----------------------------------------------------------------------------------------- > > Key: ODATA-764 > URL: https://issues.oasis-open.org/browse/ODATA-764 > Project: OASIS Open Data Protocol (OData) TC > Issue Type: Improvement > Components: OData ATOM Format, OData Protocol > Affects Versions: V4.0_CS02 > Reporter: Evan Ireland > Fix For: V4.0_CSD04 > > > OData CSDL spec states that Edm.String is a "Sequence of UTF-8 characters". However some characters (e.g. ASCII control characters < 32 other than tab, newline, carriage return) are not valid in XML 1.0 (all except NUL are valid in XML 1.1 by the way). > So there are some valid OData String characters not transmittable using ATOM. > We ran into this recently with a client which was uploading a stack trace (from C#) that was the result of a client side exception (the client was attempting to create a "log record" entity at the server). The client's stack trace text contained a backspace character (which was actually the reason for the client's failure, so therefore it was important content). > The client successfully uploaded this information to the server (a proxy) using JSON, then the proxy server tried to use XML to further upload that data to a backend server using XML, which failed due to XML 1.0 limitations (backspace not being transmissable). > This would appear to indicate that ATOM (with XML 1.0) is not suitable for some legal values of type Edm.String. Even with XML 1.1, the NUL character is not transmissable. -- This message was sent by Atlassian JIRA (v6.2.2#6258)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]