IDREF

Marcus Carr mrc at allette.com.au
Sun Mar 22 22:27:20 GMT 1998


Rick Jelliffe wrote:

> Many people recommend that an attribute should only be called
> "ID" if it is an ID attribute. So in the following, x1 is good and
> x2 is naughty:
>
> <!ATTLIST x1           ID     ID            #REQURIED>
> <!ATTLIST x2           ID     CDATA  #REQURIED>
>
> I think it is good practice anyway: dont name an attribute
> using an XML keyword if that is not the type you want.

True, but the requirements of the attribute may not be known until processing
time. You may use a parameter entity in the declaration subset and assign the
value based on whether the parser will have access to the rest of the dataset or
whether this is a subset that would result on the generation of useless and
unwanted errors, ie:

<!ATTLIST x1           ID     %IDorCDATA;         #REQURIED>

in the DTD, and then, depending on the doctype element, generate either:

<!DOCTYPE WholeDataSet  PUBLIC   "-//My//DTD for example//EN"  [
<!ATTLIST IDorCDATA        "ID">]>

or:

<!DOCTYPE DataSetFrag  PUBLIC   "-//My//DTD for example//EN"  [
<!ATTLIST IDorCDATA        "CDATA">]>

at the head of the instance.


--
Regards

Marcus Carr                  email:  mrc at allette.com.au
_______________________________________________________________
Allette Systems (Australia)  email:  info at allette.com.au
Level 10, 91 York Street     www:    http://www.allette.com.au
Sydney 2000 NSW Australia    phone:  +61 2 9262 4777
                             fax:    +61 2 9262 4774
_______________________________________________________________



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list