SchXslt maintenance release v1.7.2 removes same-pattern-restriction on abstract rules. Abstract rules are now effectively global by default. This is not “by the specs” but seems to be current practice.

The specification of the Schematron Validation Report Language (ISO/IEC 19757-3:2020, Annex D) is a mess. The little prose in D.1 is at odds with the RelaxNG in D.2, so is the Schematron schema in D.3.

Pssst… Streaming Schematron rocks. Writing streamable rules and constraints is something to get used to, but validating 7GB of METS records without my laptop breaking sweat is very nice.

Release of SchXslt Schematron v1.7.1: This maintenance release fixes a major bug that causes the validation rules to be applied multiple times.

Release of SchXslt Schematron v1.7: Bug fixes, support for top-level sch:rules element & xsl:use-package.

Proposed a paper for this year’s . Still two days left for an extended abstract!

Another enhancement proposal: Allow more XSL elements (xsl:include, xsl:import, xsl:import-schema, xsl:use-package, xsl:accumulator).

Today I Learned: xsl:namespace-alias only effects literal result elements. It does not effect nodes created with xsl:element, xsl:attribute, or xsl:namespace.

Today I Learned: Emacs has concept of a side window & provides a myriad of functions to customize the way windows are created & placed (of course it has!). Now will spend afternoon fiddling with my Emacs config.

Proposing another Schematron enhancement: A container element for abstract Schematron rules

Working with the is like working with the proverbial bad web application. Tons of business logic in the template generating the view.

Inspired by a question at I cooked up Ecstatic, a Java command line application that checks an expression or an stylesheet for static errors. Integration with ’s Flymake in the making.

I’m happy to serve as reviewer for the ACH conference again. @ach2021

Today I Learned: When using the simple map operator ! I use . to refer to the current sequence element in the mapping function. E.g. tokenize(…) ! substring-after(., ‘HANS’) maps the sequence of tokenize() and removes the prefix HANS from every item.

Working with metadata in DSpace really sucks. A flat record & naming conventions to represent structure is kinda okay. But the contraptions around this model are… Wow. My impression: At some point in time architects left the project and commissioned work just piled on and on.

Show older

Der Einstieg in das Mastodon-Netzwerk für Bibliotheksmenschen