4 ms·
> But I still don't have any idea what all that xmlns stuff is about Basically, they that by "extensible" they both wanted to support custom document markup la
by dwaite 5y ago
> But I still don't have any idea what all that xmlns stuff is about
Basically, they that by "extensible" they both wanted to support custom document markup languages/structures, but also the ability to extend those documents without needing to coordinate naming, etc.
But they messed it up by defining namespaces as an add-on to the core XML spec, rather than part of the spec itself. They also made 1-2 important errors in the definition of that add-on.
This led to XML tools being modal, having to support an interpretation of a document treating "xmlns" as a regular attribute and one where it was a namespace that influenced the interpretation of all the attributes/elements.
This push of complexity onto the people building schemas and using tools grew as there were two camps - one which wanted XML to be about generic tools that work on all XML data (similar to JSON today) and one where you used XML to define a specific document format for consumption by format-specific tools.
Various specifications were led by the generic tooling camp or document centric camp. As a result, XML eventually wound up being a poor fit for both.
- codeulike 5y agoInteresting, thanks
- deleted 5y ago[deleted]
- le-mark 5y ago> But they messed it up by defining namespaces as an add-on to the core XML spec, rather than part of the spec itself. An example of where this is an issue is using version as a name space ie tags with the form “<v2:customer>” and apply xslt on “<customer>”. Since they’re strings, they don’t match. The standard xslt solution is to strip the namespace from offending elements. Or change all your xslt. I learned this in an app with a few 100k lines of xslt.