Re: Fwd: XML 1.1 -- Please stab me with a dull knife and trample my dead body
Michael Kay <[email protected]> Fri, 07 Sep 2012 14:05:34 +0100
| Newsgroups | gmane.comp.java.jdom.general |
|---|---|
| Message-ID | <[email protected]> |
No, that's all wrong. The contents of an unparsed entity are always an external resource, they are never part of a text or attribute node. Parsed entities do become part of the content, but they must always use the XML character set. Michael Kay Saxonica On 07/09/2012 13:10, Canadian Wilf wrote: > According to the xml 1.1 spec: > > 4 Physical Structures ... > [Definition: An *unparsed entity* is a resource whose contents may > or may not be text <http://www.w3.org/TR/xml11/#dt-text>, and if > text, may be other than XML. Each unparsed entity has an > associated notation <http://www.w3.org/TR/xml11/#dt-notation>, > identified by name. Beyond a requirement that an XML processor > make the identifiers for the entity and notation available to the > application, XML places no constraints on the contents of unparsed > entities.] > > > AND > > Entities may be either parsed or unparsed. [Definition: The > contents of a *parsed entity* are referred to as its replacement > text <http://www.w3.org/TR/xml11/#dt-repltext>; this text > <http://www.w3.org/TR/xml11/#dt-text> is considered an integral > part of the document.] > > [Definition: An *unparsed entity* is a resource whose contents may > or may not be text <http://www.w3.org/TR/xml11/#dt-text>, and if > text, may be other than XML. Each unparsed entity has an > associated notation <http://www.w3.org/TR/xml11/#dt-notation>, > identified by name. Beyond a requirement that an XML processor > make the identifiers for the entity and notation available to the > application, XML places no constraints on the contents of unparsed > entities.] > Parsed entities are invoked by name using entity references; > unparsed entities by name, given in the value of *ENTITY* or > *ENTITIES* attributes. > > > > In the current JDOM version, Element method setText(string) and also > addContent(CDATA) refuses text that contains illegal characters. It is > treating the data provided as 'parsed' when it should by the spec be > treating it as free content. > > I understand: > > 1) The xml 1.1 spec defines a parsed entity as its 'replacement text'. > > 2) Replacement text' would refer to the actual textual makeup of a > serialized Element, not the data an Element holds in a Text content > element > > > Then, if the above is true, the current implementation is actually > wrong to verify data. > > I propose that JDOM stop verifying data set as Element text and CDATA > and leave it to the xerces (or whatever) to make sure the document is > proper 1.1. > > Am I understanding everything correctly? > > Thoughts? > > ---------- Forwarded message ---------- > From: *Canadian Wilf* <[email protected] <mailto:[email protected]>> > Date: Thu, Sep 6, 2012 at 9:52 PM > Subject: XML 1.1 -- Please stab me with a dull knife and trample my > dead body > To: [email protected] <mailto:[email protected]> > > > Hi All, > > I just learned that in order to safely use JDOM2, I will need to > sanitize my Element .setText(string) so that the parsed data does not > contain verboten characters under the XML 1.1 spec. > > I have an ascii processor and it needs to be able to use xml as a > document format. Unfortunately, not all ascii is allowed in an Element > text. > > Stab me with a dull knife and trample my dead body. But ..... please > please please don't make me sanitize all my data before putting it > into XML Elements. > > 1) It makes my programming task much more cumbersome because I must > ensure not to feed any of the new verboten and doomed ascii/UTF-8 > characters to store as xml text. > > 2) No one uses xml 1.1, do they? > > 3) It slows down the parsing (a very small amount) with all the > element text checking. > > Now that JDOM2 is xml 1.1 compatible, is there any turning back. Can > this be undone? > > Does everyone understand that their software will bust if data > provided as text is not adhering to the new standard? > > What about you? How do you deal with it when using the libraries? > > Wilf > > > > _______________________________________________ > To control your jdom-interest membership: > http://www.jdom.org/mailman/options/jdom-interest/[email protected] _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected]