Localizing SQF Messages
Oxygen XML Developer Eclipse plugin provides support for presenting Schematron Quick Fix messages in
multiple languages. The language used for the SQF messages is the language specified in the
'Message Language option in the Schematron
preferences page. If you want to provide an alternative message for a specific
language, you can reference IDs or key values for the specific alternate text phrase. In Oxygen XML Developer Eclipse plugin, the alternate text phrase is defined in a
<sch:diagnostic>
element and it can be used in conjunction with
<sch:assert>
or <sch:report>
elements.
Example:
The following example presents a quick fix with a different message depending on whether the user's language is English or German.
<sch:rule context="dog">
<sch:assert test="bone" diagnostics="d_en d_de" sqf:fix="addBone" >
A dog should have a bone.</sch:assert>
<sqf:fix id="addBone">
<sqf:description>
<sqf:title ref="fix_en fix_de" xml:lang="en">Add a bone</sqf:title>
<sqf:p ref="fix_desc_en fix_desc_de" xml:lang="en">Add bone element as child</sqf:p>
</sqf:description>
<sqf:add node-type="element" target="bone"/>
</sqf:fix>
</sch:rule>
....
<sch:diagnostics xml:lang="en">
<sch:diagnostic id="d_en"> A dog should have a bone. </sch:diagnostic>
<sch:diagnostic id="fix_en"> Add a bone </sch:diagnostic>
<sch:diagnostic id="fix_desc_en">Add a bone element as child</sch:diagnostic>
</sch:diagnostics>
<sch:diagnostics xml:lang="de">
<sch:diagnostic id="d_de"> Ein Hund sollte ein Bein haben. </sch:diagnostic>
<sch:diagnostic id="fix_de"> Fugen Sie einen Knochen hinzu </sch:diagnostic>
<sch:diagnostic id="fix_desc_de"> Fugen Sie ein Knochenelement als
untergeordnetes Element hinzu </sch:diagnostic>
</sch:diagnostics>