Re: What is the "meaning" of an XML entity? of a character entity?
David Carlisle <[email protected]>
| Newsgroups | gmane.text.xml.devel |
|---|---|
| Message-ID | <CAEW6iOgJuJMyRaYwXOn7gTzN8djmdWF6MV+q=B7cNwuFU8K_xQ@mail.gmail.com> |
On Thu, 19 May 2022 at 11:25, Roger L Costello <[email protected]> wrote: > Hi Folks, > > Consider this XML entity: > > & > > 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 & is literal syntax. > Entities have Replacement texts (not meanings), The replacement text of amp is pre-defined by XML and is &#38; (not &) See https://www.w3.org/TR/xml/#sec-predefined-ent > The meaning of this character entity: > > A > 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 A 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., > > & --> lexer --> & --> parser > > Pretty interesting, I think. > Entity and character references are expanded at different times. After <!ENTITY foo "aaa < bbb"> the entity foo has replacement text "aaa < bbb" as the reference to the entity lt; is not expanded while defining foo. But <!ENTITY foo "aaa < bbb"> is a syntax error as < 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 > >