[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Why is Encoding Metadata (e.g. encoding="UTF-8) putInside the XML Document?
- From: "Rick Jelliffe" <rjelliffe@allette.com.au>
- To: "Jonathan Robie" <jonathan.robie@redhat.com>
- Date: Thu, 20 Sep 2007 11:54:00 +1000 (EST)
Jonathan Robie said:
> Michael Kay wrote:
>>> Why? Shouldn't metadata be external to a document?
>>>
>>
>> Sadly, most of us are using file systems based on 1960s thinking that
>> don't
>> allow metadata to be held anywhere other than in the content of the file
>> (or
>> potentially in its name).
>
> I love the fact that the Gnome help system recognizes my DocBook files,
> and lets me view them as help files, with tables of contents, links, and
> very nice formatting ... it makes it a little nicer to write DocBook
> documents when working on Fedora ....
There has always been a split between systems based on "magic numbers" (in
the UNIX sense) which the XML encoding header is an elaborate example of,
systems based on richer file structures (e.g. old Mac) and systems using
registries. But it is the file read and write APIs that are the weak links
in the chain: information about encoding is lost when writing out a file,
and the only way to maintain it is to write it somewhere. And the only
place to write it that is cross-platform and cross-application and
transparent is inside the file itself.
Actually, it continues the trend of web resources being self-identifying
rather than requiring external metadata; this was the same trend that
allowed XML to omit data attriutes from entity declarations. (Which then
had to be re-invented in element syntax again, being useful, e.g. XLinks
and OPC.)
For XML we looked at two different mechansisms: Gavin Nicol suggested that
we should just use the existing MIME header syntax at the start of the
file. This had two drawbacks: first, when you use EBCDIC it means a file
in two different encodings, and second the file was not longer an
acceptable SGML entity. So the PI syntax was adopted instead, even though
it meant a disconnect from MIME header syntax.
Cheers
Rick Jelliffe
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]