OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Re: URIs, concrete (was Re: [xml-dev] Un-ask the question)

[ Lists Home | Date Index | Thread Index ]
  • To: xml-dev@lists.xml.org
  • Subject: Re: [xml-dev] Re: URIs, concrete (was Re: [xml-dev] Un-ask the question)
  • From: "Simon St.Laurent" <simonstl@simonstl.com>
  • Date: Thu, 1 Aug 2002 12:36:19 -0400
  • In-reply-to: <B96ED919.D841%hutch@recursive.ca>

> >> To put it bluntly, I'm saying that NO ONE EVER SHOULD CREATE MARKUP
> >> WHICH FOLLOWS THIS PATTERN:
> >> 
> >> <rdf:Description rdf:about="http://www.w3.org";
> >> about="http://www.w3.org/not/really/I'm/just/kidding/">
> 
> What do you think of the situation where x:m attribute in <x:a
> x:m='1'/> and <x:b x:m='1'/> mean something completely different?
> This seems to be where you are going to wind up.

I think that's a different problem than what I'm describing, and I'm not
quite sure what you mean here.  Are you saying that the meaning x:m
should be the same in both cases because it looks like a global
attribute?  Or are you saying that forcibly namespace-qualifying
attributes (something I'm not proposing) is wrong?

 
> Does anyone notice anything wrong here? Why am *I* having to work out
> an interpretation of namespace qualified attributes that works?

Yep.  That's the largest single problem with all this.

> What if you looked at attributes in this way:
> 
> 1) all attributes describe the element in which they appear
>
> 2) the meaning of descriptions provided by attributes that are not
> namespace qualified is dependent upon the element
>
> 3) the meaning of descriptions provided by namespace qualified
> attributes is independent of the element (I'd argue that this means
> that a namespace qualified name should be interpreted in the same way
> where ever it appears.)
> 
> Is there something wrong with this? I think the disagreements will
> start with 3). Does it conflict with the spec? What happens in RDF?
> XSL?

If you reserve explicit namespace-qualification in the document to
global attributes, I think we're just fine.  RDF namespace-qualifies
everything, so I think there's a problem with (3) there.  XSLT also
treats namespace-qualified attributes slightly differently.

> Importantly, <a m='0'/> and <x:a m='0'/> are the same.

In the case where the default namespace declaration and the xmlns:x
declaration reference the same URI, sure.  Otherwise, I'm not so sure.

> Without further information, not only is <x:a m='0'/> and <x:a
> y:m='0'/> different, but <x:a m='0'/> and <x:a x:m='0'/> are
> different (lets say that there are no default values supplied by some
> sort of schema, that x and y signify different namespaces, etc.).
> Then also in <y:a x:m='1'/> and <z:b x:m='1'/> the interpretation of
> x:m in independent of the element (and I think should be
> consistent/the same/related) though it still applies to that element.
> 
> This means that <x:a m='0' x:m='0' y:m='0'/> is possible and has a
> reasonably straightforward interpretation -- or at least it has an
> interpretation that doesn't trigger a gag reflex in me. It even works
> for <rdf:Description rdf:about="http://www.w3.org";
> about="http://www.w3.org/not/really/I'm/just/kidding/">

I think this is where I get off your train completely.  That DOES
trigger a gag reflex in me, almost as strong a reflex as W3C XML
Schema's monkeying around with unqualified "local" elements.  It's
POSSIBLE to create an interpretation that tolerates that circumstance,
but I don't believe it's at all reasonable.

> This interpretation allows that with specific additional knowledge
> (or agency, whatever) it might be that <x:a m='0'/> and <x:a
> x:m='0'/> are interpreted as being the same, but you can't tell by
> looking at just the XML.

If you can't tell just by looking at the XML at this level, I'd say we
have some very ugly application-specific dependencies that will cause
grief over the long run if that XML ever has to visit a different
application.

> I agree that we should be avoiding un-necessary confusion with names,
> even given this interpretation. And this is something that you'd
> think the designer would have had control over. But things do evolve.
> And they evolve while choosing attribute names from a natural
> language with homonyms. Anyways, given this interpretation, this is a
> 'should not' not a 'must not'. Choosing the right name for the
> attribute might illustrate how this could happen, but I can't think
> of a good example, perhaps <x:data valid='false' x:valid='true'/>?

I think in this case it's time for evolution to proceed by cutting off
one possible path for the preservation of the rest of the paths.
 
> I guess, this view has it that the 'm' part of the attribute should
> not be seen to have meaning on its own. Just because 'm' is shared
> between them, there isn't any common meaning necessary between
> 'x:m="1"' and 'y:m="1"' (where x and y denote different namespaces).
> Local names and unqualified names are not comparable (in any
> combination)? Though it may well be misleading to a human reader and
> so a bad practice.

It's misleading to humans and ambiguous to computers.  I don't find
either of those to be good things.

> So, once again, what do you think of the situation where x:m
> attribute in <x:a x:m='1'/> and <x:b x:m='1'/> has completely
> different meaning? If <x:a m='1'/> and <x:a x:m='1'/> are the same,
> then this is what you get. Or are you thinking that the 'm' attribute
> in <x:a m='1'/> and <x:b m='1'/> should be related?

I still don't see what you're asking in this question.

-- 
Simon St.Laurent
Ring around the content, a pocket full of brackets
Errors, errors, all fall down!
http://simonstl.com




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS