3 ms·
I don't mind the syntax and suppose I agree that consensus syntax is the right syntax. The problem is beneath that: XML's semantics are tremendously large whil
by tel 11y ago
I don't mind the syntax and suppose I agree that consensus syntax is the right syntax.
The problem is beneath that: XML's semantics are tremendously large while also being a complete mess. The upshot is that the difficulty of being a compliant adopter---of matching such a large, nebulous, incompletely defined set of inconsistencies---is tremendous and instead there are leagues of partial, massively inconsistent consumers and producers who hammer out successful communication via a list of patches.
To some degree this situation was inevitable, but XML exacerbates it and cements the pattern.
- kjhughes 11y agoSemantics has two senses that could apply here. In one sense, XML itself is semantically neutral. The association between elements/attributes names and real world objects is merely suggestive. In another sense (that of semantic analysis found in compiler design), validating XML parsers could be said to be enforcing semantics expressed in schemas. I suppose it is in this sense that your objection applies. In the case of XML Schemas or DTDs, I would have to agree. You might find RELAX NG to be less of a semantic mess given its basis in finite tree automata.
- tel 11y agoA majority of my concerns were resting on XML Schemas and the like—or even OWL (!)—but even recognizing what you mean about XML being semantically neutral it's still... semantically dangerous. The issue at hand where attributes and elements can serve very similar purpose is a great example. In a technical sense XML does not suggest anything about the relative meaning of these two bits, but with near universal acclaim they're used as "metadata" and "child data" whatever the speaker might believe those to mean. In spiritually embracing TIMTOWTDI, XML has created a playing field where semantics are by default ambiguous and have to fight their way out of that disadvantage. In some sense, XML-without-semantics has too much structure and this creates a minefield for laying meaning atop it.