XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] What is the "meaning" of an XML entity? of a character entity?



On Thu, 19 May 2022 at 11:25, Roger L Costello <costello@mitre.org> wrote:
Hi Folks,

Consider this XML entity:

        &amp;

What is its meaning?

I am not sure it has a meaning, and it is an entity reference not an entity,

 

Answer: its meaning is & and &amp; is literal syntax.

Entities have Replacement  texts (not meanings), The replacement text of amp is pre-defined by XML and is
&#38;#38;
(not &)

See https://www.w3.org/TR/xml/#sec-predefined-ent




The meaning of this character entity:

        &#x41;

that is not an entity reference at all, it is a character reference. It doesn't reference an entity that holds a replacement text, it is replaced inline by the referenced character.



is A and &#x41; is literal syntax.

 

Recall that in a parser there are two stages to processing an input string:

input string --> lexical analysis (lexer) --> syntax analysis (parser)

The lexer groups the characters in the input string into tokens and sends the tokens to the parser.

Flex is a lexer-generator, i.e., the output of Flex is a lexer.

In the Flex manual [1] it recommends on page 76 that a lexer be designed to send the meaning of an entity to the parser, not the literal syntax, i.e.,

&amp; --> lexer --> & --> parser

Pretty interesting, I think.

Entity and character references are expanded at different times.

After

<!ENTITY foo "aaa &lt; bbb">

the entity foo has replacement  text "aaa &lt; bbb" as the reference to the entity lt; is not expanded while defining foo.

But

<!ENTITY foo "aaa &#60; bbb">

is a syntax error as &#60; is replaced while reading the definition so this is

<!ENTITY foo "aaa <  bbb">

with a non-well formed start tag,

David
 

/Roger

[1] Flex manual is here: https://epaperpress.com/lexandyacc/download/flex.pdf

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS