[oXygen-user] Multilingual Schematron messages?

Octavian Nadolu
Wed Jan 13 02:11:54 CST 2016


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.



More information about the oXygen-user mailing list