- From: Paul Grosso <paul@paulgrosso.name>
- Date: Mon, 11 Feb 2013 08:51:03 -0600
- To: Dinesh Bolkensteyn <dinesh.bolkensteyn@sonarsource.com>
- CC: xml-editor@w3.org
- Message-ID: <51190557.30402@paulgrosso.name>
Thank you for your interest in the XML Recommendation. Throughout the various XML recommendations, the production rules are applied after parameter entity references have been expanded. This is explained in section 2.8 of XML 1.0 Fifth Edition and XML 1.1 Second Edition by the second paragraph following production [29]: The markup declarations may be made up in whole or in part of the replacement text of parameter entities. The productions later in this specification for individual nonterminals (elementdecl, AttlistDecl, and so on) describe the declarations after all the parameter entities have been included. paul Paul Grosso, for the XML Core WG [29] http://www.w3.org/TR/REC-xml/#NT-markupdecl On 2013-02-05 09:05, Dinesh Bolkensteyn wrote: > Hi XML editors, > In both the XML 1.0 and 1.1 specs, the "Mixed" production is defined > in the same way: > 1.0: http://www.w3.org/TR/2008/REC-xml-20081126/#sec-mixed-content > 1.1: http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-mixed-content > |Mixed| ::= |'(' S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? '#PCDATA' (S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? '|' S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? Name > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Name>)* S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? ')*' | > > > > || '(' S <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? > '#PCDATA' S <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? ')' | > > > And the following mixed element declaration examples are given: > 1) <!ELEMENT p (#PCDATA|a|ul|b|i|em)*> > 2) <!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > > 3) <!ELEMENT b (#PCDATA)> > It is clear to me how examples 1) and 3) are parsed, but I do not > understand the 2nd case. > "%font;", "%phrase;" etc... look like the PEReference production, and > not like Name one. > Name, more precisely NameStartChar, does not accept '%' as a first > character. > So, should I read the "Mixed" production as follows, or is the > provided example wrong? > |Mixed| ::= |'(' S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? '#PCDATA' (S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? '|' S > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? (Name > <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Name> | PEReference))* > S <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? ')*' | > > > > || '(' S <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? > '#PCDATA' S <http://www.w3.org/TR/2008/REC-xml-20081126/#NT-S>? ')' | > > Many thanks! > > -- > Dinesh Bolkensteyn > www.SonarSource.com <http://www.sonarsource.com/> > twitter.com/DBolkensteyn <http://twitter.com/DBolkensteyn>
Received on Monday, 11 February 2013 14:52:05 UTC