Re: [xml-dev] Lessons learned from the XML experiment

From
Pete Cordell <>
To
Uche Ogbuji <>
Date
2013-11-14T16:48:12
ID
<54B3B12995AA4DED8599C3D44D6ABD4A@codalogic>
Thread
Re: [xml-dev] Lessons learned from the XML experiment
----- Original Message ----- 
From: "Uche Ogbuji" <>
To: "Pete Cordell" <>
Cc: "Michael Kay" <>; "Timothy W. Cook" <>; 
"Hans-Juergen Rennau" <>; <>
Sent: Thursday, November 14, 2013 4:12 PM
Subject: Re: [xml-dev] Lessons learned from the XML experiment


> On Thu, Nov 14, 2013 at 9:11 AM, Pete Cordell 
> <>wrote:
>
>> Original Message From: "Michael Kay" <>
>>
>>  No, I can't in this specific use case.  However, AFAIK there isn't a
>>>> published, standards track grammar for your example.
>>>>
>>>
>>  So Java is broken because there's no international standard for package
>>> names like org.w3.dom?
>>>
>>
>>  How come I didn't notice?
>>>
>>
>> Surely Java is not broken because it has tools to support that
>> 'convention'. XML is broken as far as this convention is concerned 
>> because
>> there are no (widely available) tools that implement it.
>
>
> What do you mean by "implement" here, because as I understand the term
> *every* XML tool implements it just fine.

XML tools work quite well using XML namespaces when you have nested 
vocabularies (potentially not under your control) which have the same local 
name, e.g.:

<p:person xmlns:p='http://example.com/person'>
    <e:employer xmlns:e="http://example.com/employer">
        <e:name>Megaco</e:name>
    </e:employer>
    <p:name>Fred Blogs</p:name>
</p:person>

Here, each instance of name is easily identified as unique.  You have to 
work harder with existing tools if the XML is something like the following:

<com.example.person>
    <com.example.employer>
        <name>Megaco</name>
    </com.example.employer>
    <name>Fred Blogs</name>
</com.example.person>

Pete Cordell
Codalogic Ltd
C++ tools for C++ programmers, http://codalogic.com
Read & write XML in C++, http://www.xml2cpp.com