Applying extra Schematron validation to DITA
Posted: Tue Nov 29, 2016 6:38 pm
I need to set up an extra layer of Schematron "house style" type validation on a DITA authoring and content management system. Authors are using Ixiasoft's DITA-CMS and TextML products, with Oxygen Author 17.1 (plus Ixiasoft's extensions) as an Eclipse plugin, but we (i.e. admins/devs) need to be able to see the same results as the authors in the standalone Editor (not necessarily the same version..!) without extensions. We're struggling to arrive at an ideal setup, on a number of levels.
On the infrastructure side, we started with a side-channel approach, distributing a single .sch file to users, and requiring them to manually edit the DITA validation scenarios in their own environment, but this is cumbersome and error-prone, unsurprisingly; we next tried hosting the .sch file in the TextML docbase (which doesn't sit right with me, personally speaking - it seems like it'll lead us to weird snarl-ups with potential future modularity, among other things), but this still requires manual intervention from users, and feels likely to cause obstacles for development outside the Ixiasoft system.
As far as actual usage goes, we have also found distinct differences in results - although I expect a lot will be down to local configuration inconsistencies, we've observed, among other puzzles:
- one user's Eclipse "Results" pane displaying only the results with role 'error' or 'warn', but not 'info', while another displays the opposite;
- unexpected "[Jing] SAXParseException - root element of schema must have a namespace" error
Our ideal world would involve minimal manual configuration and predictable in-editor behaviour for users, and simple deployment procedures for us. We realise there'll be Ixiasoft considerations in play, but what would be the gold-standard means of achieving this from a pure Oxygen perspective? We're particularly keen to figure out our best option for hosting the ruleset, as this is pretty much a prerequisite for anything moving forward.
On the infrastructure side, we started with a side-channel approach, distributing a single .sch file to users, and requiring them to manually edit the DITA validation scenarios in their own environment, but this is cumbersome and error-prone, unsurprisingly; we next tried hosting the .sch file in the TextML docbase (which doesn't sit right with me, personally speaking - it seems like it'll lead us to weird snarl-ups with potential future modularity, among other things), but this still requires manual intervention from users, and feels likely to cause obstacles for development outside the Ixiasoft system.
As far as actual usage goes, we have also found distinct differences in results - although I expect a lot will be down to local configuration inconsistencies, we've observed, among other puzzles:
- one user's Eclipse "Results" pane displaying only the results with role 'error' or 'warn', but not 'info', while another displays the opposite;
- unexpected "[Jing] SAXParseException - root element of schema must have a namespace" error
Our ideal world would involve minimal manual configuration and predictable in-editor behaviour for users, and simple deployment procedures for us. We realise there'll be Ixiasoft considerations in play, but what would be the gold-standard means of achieving this from a pure Oxygen perspective? We're particularly keen to figure out our best option for hosting the ruleset, as this is pretty much a prerequisite for anything moving forward.