[SML] Whether to support Attribute or not?
Clark C. Evans
clark.evans at manhattanproject.com
Mon Nov 29 22:34:44 GMT 1999
On Sun, 28 Nov 1999, Joe Lapp wrote:
> I understand the problem better after reading other people's responses.
> What threw me was the analogy to object data and behavior, which I don't
> think is the right analogy.
Yep. data/behavior is not quite right.
To see this more clearly, I firmly believe
that before describing any XML model, the context
or business purpose of the XML document must
be clearly aticulated. Only with a fixed context
does the content vs attribute distinction make
itself clear -- different contexts have different
Otherwise, it is much like a debate. Here
the experienced debater first induces the
opponent to make a statement X in a context A.
Then, he continues by slowly changing the context
to B -- praying that the opponent does not notice
the context switch. Finally, she proceeds with
a line of reasoning that eventually contradicts
assumptions in context A. And, sure enough,
the opponent's statement is contradicted
since it was not updated to reflect the new context.
> In each of these example elements
> <lineitem quantity="3"><model>XYZ</model></lineitem>
> <lineitem quantity="3">XYZ</lineitem>
> 'lineitem' has two properties: model and quantity. It happens that in the
> last example the model is not labelled 'model'. The label is missing,
> since strictly speaking XYZ is not the lineitem.
Context: The user is reviewing an order form displayed as
a grid on the screen. The text shown to the
user must be included in the XML file as well
as the internal part numbers, etc.
<line id="28383" can-change="yes" unit-price="12.95" >
<part model="XYZ">Rotor Blade, 3 inches</part>
<line id="28384" can-change="no" >
<part model="BBB" close-out="yes">DuchBoy Grass XL</part>
In the above XML fragment, the information shown to the
user who is filling out the order is "content", and
information needed by the client application for proper
editing is "attributes". Something like "can-change"
is a direct command... not to the shopper, but to
the shopping applicatoin, thus it is meta-information.
Context: A picker is going through a warehouse
fulfilling an order; holding a wireless device.
<order id="283382" priority="2" >
<item id="28384" >
In this case, priority is a directive to the
wiress device used to rank order fulfillment
list. The ids are needed for a feedback-message
describing what was picked. All other things
are displayed directly to the human doing the
picking. Thus, there are two classes of information,
those directed at the device (priority/id) and
the remainder of the information directed to the
I hope this makes sense.
> I'd argue that if an element has attributes in addition to text content,
> then the attributes together with the content define the element, and the
> content must therefore be yet one more property of the element. The
> property simply has not been named.
This, I believe, is the InfoSet / Property Set perspective.
>From what I remember, the property un-named is called "content"
It does sound very resonable.
> You might consider that a shortcoming of XML. By allowing attributes it
> allows elements to have unnamed properties.
> I'm having troubl interpreting this as an advantage that attributes
> give. Were there never attributes, every property would have a label.
> (Unless there is mixed content, which prompts my next thread...)
> I think the solution for SML/XML conversion is give this property an
> explicit name.
Hmm. Sorry. I didn't quite get it.
As a streach, lets use a form example. The elements are
model the layout components. Text content, means that the
element shows that text to the user directly. Sub-elmeents,
mean that the component is a container and has children.
Attributes are not shown to the user, they are only
used to direct how the widget is displayed.
While the user interacts with the widgets, they
change the text content; however, the user does
not interact with the attributes. Instead, the
attributes define how the user interacts with
the text content -- it is meta-data.
Hmm. Oh well.
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/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev