Eve
At 02:56 PM 3/3/98 -0500, Wilf Reedijk wrote:
>>>>
<excerpt>When I try to reference an entity within an attribute value, the
parser (I am using msxml) complains.
The message that I am getting is 'Invalid element in context of 'APP'.
Expected [ADDURL,EDITURL] in line 3 and column 18. This message makes no
sense to me.
Here is my XML:
<<?XML version="1.0"?>
<<!DOCTYPE TREE [
<<!ENTITY TEST "myapp">
<<!ELEMENT TREE (CATEGORY)*>
<<!ELEMENT CATEGORY (ADDURL?,EDITURL?,(CATEGORY|APP)*)>
<<!ATTLIST CATEGORY
name CDATA #REQUIRED>
<<!ELEMENT APP (ADDURL?,EDITURL?)>
<<!ATTLIST APP
name CDATA #REQUIRED
thing CDATA #IMPLIED>
<<!ELEMENT ADDURL (#PCDATA)*>
<<!ELEMENT EDITURL (#PCDATA)*>
]>
<<TREE>
<<CATEGORY name="mycategory">
<<APP name="&TEST;">
<<ADDURL> someurl <</ADDURL>
<<EDITURL> anotherurl <</EDITURL>
<</APP>
<</CATEGORY>
<</TREE>
How do we use entities within attributes?
I find the whole concept of entities to be a bit confusing (internal vs.
external; general vs. parameter; parsed vs. unparsed etc.). Is there a
site where one could find some good examples describing how the various
types of entities are used?
Eve L. Maler wrote:
<excerpt>It's legal to reference a parsed entity from an attribute value,
and every
XML processor should be able to handle it. To do this properly, the
reference would have to look like this:
<<aTag xml-link="simple" href="&aRef;">content<</aTag>
(Using an ENTITY-type attribute wouldn't automatically expand it in
place,
and anyway, has to be used exclusively with unparsed entities -- those
with
an NDATA notation.)
Eve
</excerpt>
</excerpt><<<<<<<<