[oXygen-user] Opening dialog boxes from xslt - It works!

Wed May 20 04:07:09 CDT 2015


I lately implemented custom saxon instructions that allow to create a 
message boxes or option dialogs from within an XSLT script.

Since it turned out to be pretty easy to implement and very useful within 
my framework, I just wanted to share this idea - and the joy over oxygen, 
that even this is possible.

One use-cases would be a transformation that potentially overwrites an 
existing file and asks the user before doing so (if the file already 
exists). The code looks like this:
        <xsl:if test="java:fileExists($myFile)">
                <xsl:variable name="userDecision" as="xs:integer">
                        <gui:option-dialog title="Warning" options=
"('Continue', 'Abort')" default="1">
                                <xsl:text/>The file '<xsl:value-of select=
"$myFile"/>' already exists and will be overwritten.<xsl:text/>
                <xsl:if test="$userDecision = 1">
                        <xsl:message terminate="yes">Abort on user request

To implement such extension instructions you will have to implement your 
own java library and put it into oxygens lib folder.
To do so follow the saxon documentation at 
and - much more important - look at the sample of Saxon-SQL, which is 
included in the open source edition of saxon: 
Make sure to use the same version as included into oxygen!

To open the actual dialog you can use something like

                (optionList.size() == 2) ?  JOptionPane.YES_NO_OPTION : 
                optionList.toArray(new String[optionList.size()]),

(If someone should be interested - I will also gladly share my java code.)

There is also an entry in the forum for this:


GDV Dienstleistungs-GmbH & Co. KG
Glockengießerwall 1
D-20095 Hamburg

Sitz und Registergericht: Hamburg
HRA 93 894
USt.-IdNr : DE 205183123

GDV Beteiligungsgesellschaft mbH
Sitz und Registergericht: Hamburg
HRB 71 153

Dr. Jens Bartenwerfer
Michael Bathke
Heiko Beermann
Volker Sonnenburg

Diese E-Mail und alle Anhänge enthalten vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe der E-Mail ist nicht gestattet.

This e-mail and any attached files may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distributionof the material in this e-mail is strictly forbidden.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20150520/b9cd9cc7/attachment.html>

More information about the oXygen-user mailing list