Lists Home |
Date Index |
- To: firstname.lastname@example.org, XML-L@LISTSERV.HEANET.IE
- Subject: Dilemma: dot notation or attribute
- From: Autumn Cuellar <email@example.com>
- Date: Mon, 23 Sep 2002 17:16:29 +1200
- Newsgroups: comp.text.xml
- Organization: Bioengineering Research Group, University of Auckland
- User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
I'll try to explain my dilemma as briefly as possible and maybe you
could offer suggestions. I want to be able to import one document with
the root element <model> into another document with the same root
element and then access element content in the imported "model". We've
considered two ways of doing this.
The dot notation method:
<variable name="A" units="example.meter_per_cm2"/>
The above method effectively aliases "example" to the sample model uri,
and then the variable can reference units defined in another model by
listing the model nickname and the units separated by a dot.
The attribute method:
<variable name="A" units="meter_per_cm2" units_model="example" />
The attribute method is similar, however, the imported model is
referenced via a specific attribute.
Neither method is exactly XML-happy. You expect the attribute value to
be a literal value with no hidden meaning for a processor to detect, as
would be necessary with the dot notation. However, there have been
instances where groups give certain meaning to parts of an attribute
value. XML Schema uses the xsd: namespace prefix in attribute values to
indicate that data types have already been defined by the XML Schema
language. And the attribute method bothers me because the "units_model"
attribute is qualifying another attribute instead of the element it's
placed on. I've never seen another XML language do this before. Does
anyone know of a standard case in which an attribute describes another
Do you have a preference of one method over the other, and why? Can you
think of another approach that I've missed?
Thanks for your time!
Autumn A. Cuellar
The University of Auckland