Re: Q: Using XML entities for href's - More questions about

Eve L. Maler (elm@arbortext.com)
Tue, 03 Mar 1998 15:56:37 -0500


I haven't used MSXML; perhaps it's buggy in this respect. By eye, this
looks okay to me.

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><<<<<<<<