Didn't we finish having this conversation last week? We talked about all
this stuff being brought up now last week.
Andrew, for why marc+xml is appropriate, see RFC 3023.
I am completely confident that application/marc+xml would be the right
type to register for (eg) MARC XML , and that until it is registered
application/x-marc+xml is appropriate. (I think it would actually be
useful if LC published some guidance suggesting using
application/x-marc+xml and application/x-mods+xml etc, until they are
registered officially, which really ought to be done soon).
There is no formal tie between application/marc and (hypothetically
registered) application/marc+xml, they are completely seperate
registrations--registering an application/marc+xml actually has nothing
to do with the application/marc registration. See RFC 3023.
We _could_ call a MARC-xml registration "application/lcmarc+xml" or
something, it would just be confusing. Of course there are more than
one hypothetical way to serialize MARC as XML -- that's why you do an
IANA registration, to specify which one you mean. (And if you needed to
register a second one, you could use application/marc-other+xml or
something). Of course, in reality, there's only one XML serialization
of MARC anyone uses.
"+xml" has nothing to do with "allowing namespace extensions", except in
the sense that all theoretically does XML does. +xml is a hint that the
content type registered is a particular XML application. If that
application's schema or spec does not allow inclusion of arbitrary
namespaced XML, that's got nothing to do with an +xml content type.
Again, see RFC 3023.
application/xml or text/xml would also be legal, although not nearly as
useful. text/xml should only be used if you want user agents who don't
'know' xml to degrade to displaying the source (xml tags at all)
essentially as text/plain. Which is a question that doesn't really come
up much realistically, but all contemporary RFCs on XML and internet
content types advise against using text/xml except in vary specific
circumstances--although it IS legal. application/xml is also of course
legal, but not nearly as useful as a specific registered type like
application/marc+xml. Any modern user agent knows to degrade
"application/*+xml" to being treated like "application/xml", if the user
agent doesn't know the specific type.
Jonathan
Houghton,Andrew wrote:
From: Code for Libraries [mailto:[email protected]] On Behalf Of
Alexander Johannesen
Sent: Thursday, February 12, 2009 4:00 PM
To: [email protected]
Subject: Re: [CODE4LIB] MIME Type for MARC, Mods, etc.?
On Thu, Feb 12, 2009 at 21:43, Rebecca S Guenther <[email protected]> wrote:
Patrick is right that an XML schema such as MODS or MARCXML would be
text/xml.
I would strongly advise against text/xml, as it is an oxymoron (text
is not XML XML is not text even if it is delivered through a text
protocol), and more and more are switching away from the generic text
protocol (which makes little sense in structured data).
According to RFC 3023, section 3 XML Media Types:
If an XML document -- that is, the unprocessed, source XML document
-- is readable by casual users, text/xml is preferable to
application/xml. MIME user agents (and web user agents) that do not
have explicit support for text/xml will treat it as text/plain, for
example, by displaying the XML MIME entity as plain text.
Application/xml is preferable when the XML MIME entity is unreadable
by casual users.
So it is justified to return a Content-Type header with text/xml. It
depends upon whether you think MARC-XML, MODS, MADS, etc. are readable
by casual users and the user agents you expect to be accessing the
documents.
Hence, a more correct MIME type for XMLMARC would be
application/marc+xml, although until registered should be
application/x-marc+xml.
I'm not sure the +xml is correct on two fronts. First RFC 2220 defines
the media type for MARC binary, not MARC-XML, and it was my understanding
that the +xml meant that the schema allowed extension by using XML
namespaces which MARC binary does not. Further, in the case of MARC-XML,
its schema also does not allow arbitrary XML elements. MODS and MADS I
believe do, but that is a different story.
Andy.