Re: [xml-dev] What are the practical, negative consequences of thinking that attributes are metadata?

From
Simon St.Laurent <>
To
Date
2017-02-16T15:05:56Z
ID
<>
Thread
Re: [xml-dev] What are the practical, negative consequences of thinking that attributes are metadata?
Thomas and Rick summed it up pretty well, except that I no longer think 
XML is a great choice for storing records either.

The story I tell these days is that XML started out as a brilliant 
effort to simplify SGML, a tool that was built for working with 
documents.  In that context the element/attribute/content/attribute 
value distinctions at least usually make sense, and the verbosity of 
markup is a reasonable tradeoff in a flow of text meant for (at least 
occasional) human eyes.

Unfortunately, XML's appearance on the scene reminded developers of the 
insanely terrible data exchange systems they'd previously built, and 
seemed to offer a different path from past disasters.  For smallish 
quantities of data, the verbosity tradeoff wasn't bad, and having a 
format more non-programming humans could comprehend was helpful.

  XML was a mediocre solution for data that was slightly better than the 
awful that came previously. Unfortunately that "slightly better" meant 
that developers all wanted to pile in with the awful to make it 
familiar.  XLink vanished from the agenda, replaced by ever more 
intricate schema, transformation, and query languages.  Programmers 
frequently found that the information modeling approaches of the markup 
document community didn't apply to their work, and often set off to 
create even worse formats that happened to talk with code they already 
had. (Yes, Apple. I'm talking about your plists.)

After a while, many developers realized that this XML thing really 
wasn't for them.  I was delighted when JSON appeared, not because it was 
a perfect solution but because it hit a different point of mediocrity 
that leaned more toward what programmers really wanted, and could 
conceivably let XML do the things which XML's markup approach fits.

(I am somewhat amused that functional programming approaches that 
boggled people's minds in XSLT 1.0 are suddenly kind of hot, and in the 
JavaScript world that largely happened through the evangelism of JSON's 
creator, but the approaches work well even when the data formats change.)

Unfortunately, I think that freedom came too late.  Developers' image of 
XML as a verbose overly complicated mediocrity had overwhelmed the 
initial news of XML as simplification.  Browser vendors turned against 
XML partly because of the growing complexity, but largely because it 
turned out that users didn't love the well-formedness expectations the 
browser vendors had asked for in the first place.  HTML5 demolished it, 
and Web Components may finally provide the extensibility XML proponents 
discussed two decades ago, if they ever get traction.  ("It's too much 
like XML" is a common way of dismissing them....)

XML still works beautifully, if you apply it to the experience from 
which it emerged: documents.  It works far better if you can forget the 
weight loaded onto it by a decade and a half of developers trying to 
make it fit a space it was never going to handle gracefully.  XML can 
work for some lightweight data storage and messaging, but somehow that 
rarely stays "light".

So yes, there are practical negative consequences of thinking that 
attributes are metadata, but they tend to be more the result of the 
practical negative consequences of thinking that markup is a great place 
to store structured data.

Thanks,
Simon

On 2/16/2017 8:59 AM, Thomas Passin wrote:
> I still see using XML for little transient Domain Specific Language 
> (DSL) type jobs.  That's largely because you can transform the data 
> with xslt.  Now that json is coming to xslt (with version 3.0), maybe 
> I'll feel like starting to use json instead... we'll have to wait and 
> see.
>
> On 2/16/2017 8:32 AM, Rick Jelliffe wrote:
>>   Here is kinda how I see it. How do others see it?
>> *
>> *
>> *               |          Fields       |    Literature*
>> --------------------------------------------------------------
>> *Ephemeral*      | i.e. messages: JSON   |     HTML
>> --------------------------------------------------------------
>> *Stored *        | i.e. records: XML+XSD |     XML
>>
>> Rick
>>
>
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: 
> subscribe: 
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php