Re: Attribute Question

James Tauber (jtauber@jtauber.com)
Thu, 27 Aug 1998 05:51:03 +0800


-----Original Message-----
From: Frank Blau <fblau@nina.snohomish.wa.gov>

>If I have 3 attributes ("Format", "Usage", and "Loop") that I want every
>element in my DTD to have, is there a way to globally declare them?

No.

>Do subelements inherit the attributes of the parent element?

Not as far as the processor is concerned, although an application might
behave this way.

Common practice is to declare a parameter entity representing that part of
an ATTLIST declaration you want to use globally and then reference that
parameter entity in a separate ATTLIST declaration for each element.

For example:

<!ENTITY % global.atts 'format CDATA #REQUIRED usage CDATA #REQUIRED loop
CDATA #implied'>

<!ATTLIST element1 %global.atts; >
...
<!ATTLIST element2 %global.atts; >
...
<!ATTLIST element3
<!-- element3 specific atts here -->
%global.atts; >

James

--
James Tauber / jtauber@jtauber.com      http://www.jtauber.com/
Lecturer and Associate Researcher
Electronic Commerce Network             ( http://www.xmlinfo.com/
Curtin Business School                  ( http://www.xmlsoftware.com/
Perth, Western Australia                ( http://www.schema.net/