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

Wilf Reedijk wilfr at mail.bc.rogers.wave.ca
Tue Mar 3 19:54:07 GMT 1998


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:

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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ic.ac.uk/pipermail/xml-dev/attachments/19980303/107378ff/attachment.htm


More information about the Xml-dev mailing list