[MEI-L] XML Namespaces in MEI

Andrew Hankinson andrew.hankinson at mail.mcgill.ca
Fri Sep 5 21:10:08 CEST 2014


*I* know that, and *you* know that, but tell that to the libxml2 folks. ;)

In any case: for those of you who are interested, the latest git version of libmei will now handle this correctly.

-Andrew

On Sep 5, 2014, at 3:02 PM, Roland, Perry D. (pdr4h) <pdr4h at eservices.virginia.edu<mailto:pdr4h at eservices.virginia.edu>> wrote:


The plot thickens --

<someElement xml:base=”blah”>

is *not* the same as

<someElement base=”blah”>

The behavior you describe is definitely *incorrect* because it removes the base attribute from the XML namespace.  In the 2nd element above, the base attribute is in the no-name/null namespace because the “xml:” prefix is missing.

--
p.


From: mei-l [mailto:mei-l-bounces+pdr4h=virginia.edu at lists.uni-paderborn.de] On Behalf Of Andrew Hankinson
Sent: Thursday, September 04, 2014 3:31 PM
To: Music Encoding Initiative
Subject: Re: [MEI-L] XML Namespaces in MEI

The “magic” in my case seems to be that libxml2 is silently stripping out xml: prefixes, but keeping all others intact.

So if I set an attribute on an object to be “base” with a namespace and prefix of “xml” it will render the tag as:

<someElement base=“blah”>

But if I set the same attribute with a namespace and prefix of “pfx” it will render it as:

<someElement pfx:base=“blah”>

So I just wanted to confirm that there wasn’t something about prefixes that I wasn’t getting.

-Andrew
On Sep 4, 2014, at 3:22 PM, Kőmíves Zoltán <zolaemil at gmail.com<mailto:zolaemil at gmail.com>> wrote:


Here's the magic: http://www.w3.org/XML/1998/namespace a.k.a "by definition" :)

2014-09-04 19:38 GMT+01:00 Roland, Perry D. (pdr4h) <pdr4h at eservices.virginia.edu<mailto:pdr4h at eservices.virginia.edu>>:
What he said. :-)

Namespace-aware software should "automagically" support the XML namespace.  Have a look at http://www.informit.com/articles/article.aspx?p=31837&seqNum=9.

--
p.


> -----Original Message-----
> From: mei-l [mailto:mei-l-bounces at lists.uni-paderborn.de<mailto:mei-l-bounces at lists.uni-paderborn.de>] On Behalf Of
> Johannes Kepper
> Sent: Thursday, September 04, 2014 2:34 PM
> To: Music Encoding Initiative
> Subject: Re: [MEI-L] XML Namespaces in MEI
>
> If I got that right, all xml parsers need to understand the xml namespace
> without any further instruction. All parsers I've come across (well, the ones
> that did care about namespaces...) followed that rule. xml:base should work
> as you described, yes. Just like xml:lang...
>
> jo
>
> Am 04.09.2014 um 20:29 schrieb Andrew Hankinson
> <andrew.hankinson at mail.mcgill.ca<mailto:andrew.hankinson at mail.mcgill.ca>>:
>
> > Ok, so by extension
> >
> > <someElement xml:base="something">
> >
> > is OK too?
> >
> > On Sep 4, 2014, at 2:26 PM, Roland, Perry D. (pdr4h)
> <pdr4h at eservices.virginia.edu<mailto:pdr4h at eservices.virginia.edu>> wrote:
> >
> >> It's enough to say
> >>
> >> <mei xmlns="http://www.music-encoding.org/ns/mei">
> >>   <someElement xml:id="abc123" />
> >> </mei>
> >>
> >> (oXygen seems to understand that @id is in the XML namespace.)
> >>
> >> but
> >>
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <mei xmlns:xml="http://www.w3.org/XML/1998/namespace"
> >>   xmlns="http://www.music-encoding.org/ns/mei">
> >>   <someElement xml:id="abc123" />
> >> </mei>
> >>
> >> is ok too.
> >>
> >> You just can't declare the XML namespace as anything other than
> "http://www.w3.org/XML/1998/namespace".
> >>
> >> --
> >> p.
> >>
> >>
> >> > -----Original Message-----
> >> > From: mei-l [mailto:mei-l-bounces at lists.uni-paderborn.de<mailto:mei-l-bounces at lists.uni-paderborn.de>] On Behalf
> Of
> >> > Andrew Hankinson
> >> > Sent: Thursday, September 04, 2014 2:11 PM
> >> > To: Music Encoding Initiative
> >> > Subject: [MEI-L] XML Namespaces in MEI
> >> >
> >> > Hi all,
> >> >
> >> > Does anyone know how the xml: namespace prefix works? Do you have
> to
> >> > declare it explicitly, or is it always implicitly declared?
> >> >
> >> > So, do you have to do this:
> >> >
> >> > <mei xmlns:xml="http://www.w3.org/XML/1998/namespace"
> >> > xmlns="http://www.music-encoding.org/ns/mei">
> >> >     <someElement xml:id="abc123" />
> >> > </mei>
> >> >
> >> > Or is it enough to do this:
> >> >
> >> > <mei xmlns="http://www.music-encoding.org/ns/mei">
> >> >     <someElement xml:id="abc123" />
> >> > </mei>
> >> >
> >> > -Andrew
> >> > _______________________________________________
> >> > mei-l mailing list
> >> > mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
> >> > https://lists.uni-paderborn.de/mailman/listinfo/mei-l
> >> _______________________________________________
> >> mei-l mailing list
> >> mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
> >> https://lists.uni-paderborn.de/mailman/listinfo/mei-l
> >
> > _______________________________________________
> > mei-l mailing list
> > mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
> > https://lists.uni-paderborn.de/mailman/listinfo/mei-l
>
>
> _______________________________________________
> mei-l mailing list
> mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
> https://lists.uni-paderborn.de/mailman/listinfo/mei-l

_______________________________________________
mei-l mailing list
mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
https://lists.uni-paderborn.de/mailman/listinfo/mei-l

_______________________________________________
mei-l mailing list
mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
https://lists.uni-paderborn.de/mailman/listinfo/mei-l

_______________________________________________
mei-l mailing list
mei-l at lists.uni-paderborn.de<mailto:mei-l at lists.uni-paderborn.de>
https://lists.uni-paderborn.de/mailman/listinfo/mei-l

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.uni-paderborn.de/pipermail/mei-l/attachments/20140905/db7cceb6/attachment.html>


More information about the mei-l mailing list