[
Lists Home |
Date Index |
Thread Index
]
- From: Steve Harris <sharris@primus.com>
- To: "'xml-dev@ic.ac.uk'" <xml-dev@ic.ac.uk>
- Date: Tue, 14 Jul 1998 17:57:31 -0700
I'm working out a small DTD by inlining it with some sample data. It
uses a single internal parameter entity and refers to the entity twice
in the DTD. Emacs's 'psgml' seems to validate and do all the
substitutions as expected. If I run the file through expat, though, it
reports the following error:
illegal parameter entity reference
My understanding of the spec. is that a non-validating parser does not
have to expand an external entity, and I could understand that behavior
being applied here, but is it truly 'illegal' to use a parameter entity
reference in this fashion?
Here's a snippet of problematic file:
__BEGIN
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE options [
<!-- the whole document -->
<!ELEMENT options (head?, macro*)>
<!ELEMENT head ANY>
<!ELEMENT app-name (#PCDATA)>
<!ELEMENT version EMPTY>
<!ATTLIST version
major CDATA #REQUIRED
minor CDATA #REQUIRED>
<!ELEMENT macro (flag|arg)+>
<!ATTLIST macro
id ID
#REQUIRED
argc CDATA "0">
<!-- shared attributes for certain macro sub-elements -->
<!ENTITY % entry-atts
'name CDATA #REQUIRED
presence (inc|exc) "inc"'>
<!ELEMENT flag EMPTY>
<!ATTLIST flag
%entry-atts;> <!-- ** expat quits here ** -->
<!ELEMENT arg (#PCDATA)>
<!ATTLIST arg
%entry-atts;>
]>
<options>
...
</options>
__END
Note that the ATTLISTs for entities 'flag' and 'arg' attempt to expand
an entity called 'entry-atts', for which expat reports an error. I'd
appreciate any assistance in interpreting the spec. here. Is expat doing
the right thing?
Thanks,
Steven Harris
Software Engineer
Primus Knowledge Solutions
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|