Each assert or report element (and, in fact, rules, patterns, etc) can have a role attribute. The intention of this attribute is to allow the assertion etc to be categorized, and the prime categorization we might use is severity. So rather than validation being just either too-simple binary YES/NO, or…
...The Fastest Growing Programming Language of 2018 and Good Things Needed for Schematron to Grow
This time of year journalists amuse themselves by making lists of the most popular programming languages for the year. A lot of people are interested, for career reason. “The” So what was *the* fastest growing programming for 2018? Kotlin, according to GitHub’s The State of the Octoverse report. We’re seeing…
...New XSLT2 implementation of ISO Schematron: SchXslt
There is a promising looking new implementation of Schematron for XSLT2 up at GitHub, the Open Source SchXslt project. Kudos to David Maus for developing this, and making it available. It is intended as a drop-in replacement for the most common skeleton implementation (also on GitHub at Schematron), so it…
...Schematron reimagined for JSON/JSONPath
On GitHub you can find jsontron which is Schematron moved out of the XML/XSLT/XPath ecosystem and applied to the JSON/JavaScript/JSONPath ecosystem. What is particularly pleasing to me is that this seems to be a really full implementation of ISO Schematron, including phases (not abstract rules and abstract patterns, no biggie.) It…
...Will the Circle be Unbroken? Now the Wheel of Life crushes JSON too…
Technologies come and go, and technologies that don’t change die! That is was the lesson of SGML, where XML took over because the standards process actively worked to stifle change. And it was the lesson of XML, where JSON took over the ephemeral web traffic because the W3C process couldn’t…
...Assertions in Java
In Schematron, an assertion is a positive natural language statement about some aspect of a pattern that is expected to be found in an XML document. It is implemented (to whatever extent possible) with the assert test. However, in programming languages, assertions have a wider range of meaning. (To the…
...Top 3 Hints for avoiding and diagnosing Character Encoding Problems – cUrl example
In computers, the area of character encodings is almost a complete mess. Different systems and different regions use different default character sets. Different fonts only provide glyphs for a different subset of possible characters. Unicode comes in a few different encodings. Systems don’t tell you where errors are. Common libraries…
...What kinds of content models (as regex) do users of conventional schema languages use?
I really enjoyed the paper from IDEAS 2018 Practical Study of Deterministic Regular Expressions from Large-scale XML and Schema Data by Li, Chu, Mou, Dong, Chen. My interest comes from my attempts years ago to make an XSD-to-Schematron translator, sponsered by JSTOR. It worked as far as it went, and…
...The Most Common Programming Error with Schematron
Schematron is a small, simple language, by design. The complexity is not in the elements, but sloughed off to the XPaths. But if there is one mistake that I sometimes see developers make, it is this: people think that all the rules in a pattern will be tried. In fact,…
...Sorting out Log4J 2.0’s strict schemas
Log4J version 2.0 has two dialects of its XML configuration language: concise and strict. Concise mode is fairly well document and freeform. It uses the reflection API and plugins, so that if there is a plugin available, you can just call its name directly. So there is no schema: the…
...What’s in Java 10 (and 9) for XML Developers?
Java JDK 10 arrived this month (March 2018). It has much less radical changes compared to Java 9. The general trend: In: JSON/AJAX, Docker, effeciency, security JavaDoc, unmutable collections, more support for charsets in API Out: XML-WS (SOAP), CORBA, Java WebStart, RMI (When I say “out”, some are just removed…
...The most interesting Class of Computer Languages
In the previous blog (XML as a canary in the mine: can Intel IPSC help stagnant C get its mojo back?), I mentioned three classes of languages that are thriving, plus one that I suggest is not. But that leaves out what I think is the most interesting class of…
...XML as a canary in the mine: can Intel ISPC help stagnant C get its mojo back?
JSON is the best thing that every happened to XML. It whack-a-moles most new bright ideas people have that shoehorn XML into applications XML is not a good fit for. Hooray. (Which is not to say JSON is an unmitigated success!) XML is getting used for what it is good…
...Using XPath to make Assertions is now a common technique
The idea of using XPath in a schema language about structured data probably first came up with Dave Raggett’s Assertion Grammars. This was a recasting DTDs that allowed (I don’t know if this part was ever implemented) the context element to specified using an XPath: called Conditions. I think of…
...European Patent Crisis needs to be resolved: 0(n²): the junk-patent catch-up race
The Register has a disappointing news story Patent Quality has fallen, confirms Euro examiners. It reports that nearly 1,000 patent examiners have written to the European Patent Office’s (EPO) Administrative Council (their board) to say that to follow the management requirements would actually result in them breaching their duty and…
...