Hacker News new | past | comments | ask | show | jobs | submit login

> The world's foremost XML-typing genius

A thought exercice: XML entities can be self referencing, have you ever though of how you validate a document that has recursive entity definitions ?

That's one quirk that comes first to mind, but the XML format definition is probably at leat a few hundred pages and I'm hopeful there's enough in there to fuel anyone's worst nightmares.

It's kinda interesting in itself that XML is seen as a plain and boring data format. I don't wish on anyone to be the receiving end of an XML typing genius' documents.




The size of specification is easy to check. The print button say XML 1.0 spec is 37 pages long. By comparison YAML is 65 pages.

XML is not too simple, but it is not too complex either.


The xml spec needs to be complemented with xsd, relax-ng or whatever schema tool is popular these days, yaml includes that.

Still in the same ballpark I expect.


The XML specification does contain a schema: the DTD. This is why it is 37 pages; without the DTD part it would be at most a half of that.

Other schemas are not merely popular, they are more powerful. In DTD the type of the element depends only on its own name. In XSD the type depends potentially on the context: the type of 'xxx' in 'aaa/xxx' and 'bbb/xxx' may be different. And in Relax NG we can define different types, for example, for the first 'xxx' and for the subsequent 'xxx's. These extensions make the validation somewhat more elaborate, but still linear, as it we remain within the complexity of a regular expression. These are formal validators; then there is Schematron which seems to be more like a business-rule kind of a validator that also has its uses.


Which kind of schemas are part of yaml?

Interestingly although Yaml's spec is longer than XML's spec, it managed to get all sorts of corner cases awefully wrong. https://noyaml.com


I mean YAML has tags (!!MyType) and built-in types like date etc which XML does not.

It also solved the "no" issue and many corener caes in YAML 1.2 which has been out for 15 years or so, but libraries have not upgraded.


I am surprised at how short it is.

I think I was seeing all the XSLT and XQuery and all the kitchen sink directly bound to XML, but those are just meta tools that don't bear directly on the language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: