Just checked the output again, and my second example below was incorrect.
Actual output is as below:

<mns:anElement xmlns:mns="urn:mynamespace" explicitAttr=""
msn:topLevelAttr=""/>

All is well...

David

----- Original Message -----
From: "David Peterson" <[EMAIL PROTECTED]>
To: "James Strachan" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, October 23, 2002 11:28 PM
Subject: Re: [Jaxen] Default namespaces: alternatives?


> Agree here also. I discovered something interesting the other day though.
> I've been working with .NET XML stuff at work lately, and I created a
> program that takes an XML Schema document and generates a valid, minimal
XML
> document based on the schema. It uses Microsoft's Schema DOM and their XML
> DOM, and this is what I'm basing it on, not the spec, so take it with a
> grain of salt. However, I had a schema which had an element with both
> elements declared explicitly for a particular element, as well as an
> attribute that was declared at the top-level and referenced in the
element.
> Eg:
>
> <xsd:schema xmlns:xsd="http://..."; targetNamespace="urn:mynamespace">
> <xsd:element name="anElement">
>   <xsd:complexType>
>     <xsd:attribute name="explicitAttr" type="xsd:string" use="required"/>
>     <xsd:attribute ref="topLevelAttr"/>
>   </xsd:complexType>
> </xsd:element>
> <xsd:attribute name="topLevelAttr" use="required" type="xsd:string"/>
> </xsd:schema>
>
> Now, the MS Schema DOM considered 'explicitAttr' and 'topLevelAttr' to be
> namespaced ifferently. 'explicitAttr' had no namespace, while topLevelAttr
> was considered to be in the targetNamespace (urn:mynamespace). This is
what
> I basically expected. What surprised me was what happened when I created
an
> XML document using the MS XML DOM and assigned each node it's appropriate
> namespace. If I saved the DOM with my target namespace as the default
> namespace (xmlns="urn:mynamspace"), the following document was generated:
>
> <anElement xmlns="urn:mynamespace" xmlns:dhc1="urn:mynamspace"
> explicitAttr="" dhc1:topLevelAttr="""/>
>
> 'dhc1' was an auto-generated namespace prefix created by the DOM.
>
> This gells with what James and I have said below - attributes must be
> prefixed to be namespaced. What surprised me is what was generated when I
> saved the document with my namespace prefixed:
>
> <mns:anElement xmlns:mns="urn:mynamespace" explicitAttr=""
topLevelAttr=""/>
>
> So, it seems that MS considers that if you have an element declared in the
> default namespace which has an attribute in the same namespace, the
element
> must still be declared with a prefix, otherwise it will not be namespaced
> correctly. However, if the containing element is in a prefixed namespace,
> the namespaced attribute does not require a prefix of its own. Wierd. I
> don't know how you are supposed to determine what namespace explicitAttr
and
> topLevelAttr are in in the second example.
>
> I'm not sure if this is simply an error on the part of the MS DOM (or
> possibly my own program, although I'm pretty sure it's ok), or if this is
to
> spec. Anybody know?
>
> David
>
> ----- Original Message -----
> From: "James Strachan" <[EMAIL PROTECTED]>
> To: "David Peterson" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Cc: <[EMAIL PROTECTED]>
> Sent: Wednesday, October 23, 2002 7:46 PM
> Subject: Re: [Jaxen] Default namespaces: alternatives?
>
>
> > Agreed. And I think that these 2 documents are identical...
> >
> > <xhtml:html xmlns:xhtml="http://www.w3.org/...";>
> > <xhtml:body style="mystyle">
> > </xhtml:body>
> > </xhtml:html>
> >
> > <html xmlns="http://www.w3.org/...";>
> > <body style="mystyle">
> > </body>
> > </html>
> >
> > i.e. that in both case the style attribute is in no namespace and is
> > attached to the body element which is in the XHTML namespace.
> >
> > It still does suprise me how complex, something as apparently simple as
> XML
> > namespaces can be.
> >
> > James
> > -------
> > http://radio.weblogs.com/0112098/
> > ----- Original Message -----
> > From: "David Peterson" <[EMAIL PROTECTED]>
> > To: "James Strachan" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> > Cc: <[EMAIL PROTECTED]>
> > Sent: Wednesday, October 23, 2002 9:56 AM
> > Subject: Re: [Jaxen] Default namespaces: alternatives?
> >
> >
> > > Exactly. Which means that any attributes in an xhtml document that are
> not
> > > explicitly prefixed with "xhtml" (or whatever) are not namespaced. Eg:
> > >
> > > Example 1:
> > > <xhtml:html xmlns:xhtml="http://www.w3.org/...";>
> > > <xhtml:body style="mystyle">
> > > </xhtml:body>
> > > </xhtml:html>
> > >
> > > Example 2:
> > > <xhtml:html xmlns:xhtml="http://www.w3.org/...";>
> > > <xhtml:body xhtml:style="mystyle">
> > > </xhtml:body>
> > > </xhtml:html>
> > >
> > > In Example 1, the 'style' attribute is non-namespaced. In Example 2,
it
> is
> > > namespace to the XHTML namespace. However, I don't believe that
Example
> 2
> > is
> > > valid XHTML, since the spec does not explicitly declare style
attribute
> in
> > > the namespace - only a 'style' attribute attached to the body element
> (and
> > > other elements, of course). Two different things, to my understanding.
> > >
> > > David
> > >
> > > ----- Original Message -----
> > > From: "James Strachan" <[EMAIL PROTECTED]>
> > > To: "David Peterson" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> > > Cc: <[EMAIL PROTECTED]>
> > > Sent: Wednesday, October 23, 2002 6:48 PM
> > > Subject: Re: [Jaxen] Default namespaces: alternatives?
> > >
> > >
> > > > From: "David Peterson" <[EMAIL PROTECTED]>
> > > > > Also, attributes shouldn't be prefixed, unless they are of a
> different
> > > > > namespace than the element they are attached to.
> > > >
> > > > I thought that attributes without prefixes are always in no
namespace
> > > > (irrespective of whether there is a default namespace defined via
> > > xmlns="").
> > > > Though I remember some confusion on this matter in the early XML
> schema
> > > > specs.
> > > >
> > > > James
> > > > -------
> > > > http://radio.weblogs.com/0112098/
> > > >
> > > > __________________________________________________
> > > > Do You Yahoo!?
> > > > Everything you'll ever need on one web page
> > > > from News and Sport to Email and Music Charts
> > > > http://uk.my.yahoo.com
> > >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Everything you'll ever need on one web page
> > from News and Sport to Email and Music Charts
> > http://uk.my.yahoo.com
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: Influence the future
> of Java(TM) technology. Join the Java Community
> Process(SM) (JCP(SM)) program now.
> http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0002en
>
> _______________________________________________
> Jaxen-interest mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jaxen-interest



-------------------------------------------------------
This sf.net email is sponsored by: Influence the future 
of Java(TM) technology. Join the Java Community 
Process(SM) (JCP(SM)) program now. 
http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0002en

_______________________________________________
Jaxen-interest mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jaxen-interest

Reply via email to