
Hello Tony, This multilingual support for Schematron will be available in the next oXygen version. Yes, in the current oXygen version you will get all the diagnostics messages when an assert/report fails. The implementation has been changed and you will get only the messages for the specified language. But I think we can discuss more about this at the XML Prague conference. You don't need to keep all the messages in the same Schematron file. You can keep the messages for each language in different files and just include them from the main Schematron file. Or you can separate the messages by categories (important message, errors, warning), it depends how you want them. We have also master file validation for Schematron. When you will edit a module containing the messages you will get the errors from the main file if by mistake you change a diagnostic id. Also we have content completion for the diagnostic ids defiled in other modules. So you can easily refer them. Best Regards, Octavian On 12.01.2016 18:12, Tony Graham wrote:
On 12/01/2016 12:24, Octavian Nadolu wrote:
The localization options are defined in the Schematron specification. You can use the diagnostic element to specify the message in multiple languages. http://www.schematron.com/iso/P8.html#GEN17
There is also an example of a multilingual schema in the Annex G of the Schematron specification: http://www.schematron.com/iso/P27.html#GEN39
I'm afraid that supports me rather than you. I added that <diagnostics> to the Schematron and referred to it from an existing <assert>. The result was the same as the last time that I tried it. The error message was the text from the <assert> plus the text from both <diagnostic>:
name="author-title" cannot be used when axf:document-info with name="xmp" is present. Diagnostics: [d1] A dog should have a bone. [d2] Das Hund muss ein Bein haben.
And that's with 'xml:lang="en"' on the <fo:root>.
Putting all of the languages in the one file isn't the best idea anyway since (a) it becomes hard to identify when a change to the file is a change to the text in the base language, and (b) the one file gets changed myriad times as translations catch up with changes in the base text (which makes '(a)' harder).
Regards,
Tony Graham.