Next in thread → Next in month →

Re: [xml-dev] What is the "meaning" of an XML entity? of a character entity?

From
David Carlisle <>
To
Roger L Costello <>
Date
2022-05-19T10:44:58Z
ID
<CAEW6iOgJuJMyRaYwXOn7gTzN8djmdWF6MV+q=>
Thread
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 <[email protected]> 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: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

Next in thread → Next in month →