[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Enlightenment via avoiding the T-word
- From: Nicolas LEHUEN <nicolas.lehuen@ubicco.com>
- To: "'xml-dev@lists.xml.org'" <xml-dev@lists.xml.org>
- Date: Thu, 30 Aug 2001 09:11:32 +0200
> From: "Christian Nentwich" <c.nentwich@cs.ucl.ac.uk>
> > > <xsl:template match="x:name">
>> > <xsl:if select="parent::x:person">
>> > <!-- oops I need this extra test because name is reused--
>> > those darned people at x:: namespace keep on adding
>> > new local elements and our code is written to just use
>> > the markup. Why cannot they just use vanilla XML.... -->
>>
>> Isn't this cheating slightly ? If you work based on a
>context, you would
>> quite likely call a template
>> instead of matching one. I am with Nicolas here in that I think it's
>> quite unlikely that you want to process name without being in the
>> process of processing (sorry :) a particular parent node.
>
>
>Either way doesn't change the point. If you have a script written
>(using names not vapor-PSVI)
>under the assumption that there are no local types (or, at least,
>a known set of local types, the others being global, and the
>local type not being a compatible restriction of the global type), then
>introducing local types forces you to do some more programming
>to fix it. It is not robust.
What you are basically saying is that if you present to your script some
data which does not follows the assumption made when writing the script, it
won't work. Right. I don't see what is the point about local elements, or
even XML. This is the same for any kind of program and any kind of data.
For sure, if you assume that all XML document contain only
context-insensitive element names, all the scripts you write will break when
encountering a schema that does not make the same assumption. Maybe this is
the reason why you want to banish context-sensitive names.
>The reuse of the element may cause some failure, but it is just
>as likely to introduce spurious data.
>
>Contrast this with adding a new global--per-namespace name.
>Your script will already have handled this: either strip or
>fail, probably.
Well, if you are worried about some unknown content being presented to your
script, you should probably validate it against the schema your script is
written for beforehand.
I agree that if you apply a context-insensitive script to context-sensitive
data, the result will be catastrophic, as some element could be semantically
interpreted as others.
However, If you write your scripts in a context sensitive way (which is not
really more complicated), you can handle incorrect documents easily.
>Cheers
>Rick Jelliffe
Regards,
Nicolas