OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Application development using XSLT (Was: Feasibility of "do all application coding in the XML languages"?)

At 2008-12-01 10:38 -0500, Costello, Roger L. wrote:
>I am exploring the idea of "do all application coding in the XML languages."
>Here is a response from a colleague:
>"... in general XSLT is cool but limited. If your transform requires 
>any "higher math" or advanced functionality or external code 
>libraries (such as geometry coordinate system libraries), you almost 
>always have to go back to a higher level language (such as Java) at 
>some point."

As I said before, I disagree strongly with that response when I 
consider the tremendous power in XSLT 2.0.  But not mentioned in this 
thread, and related to my position, is the use of XSLT as an 
application development environment in and of itself.

I'm developing a number of end-user applications as adjuncts to my 
training material where the user interface is provided by OpenOffice 
3 and the entire logic of the "application" is in the XSLT import and 
export filters.

Using the semantics of OpenOffice formula, data entry validity, 
conditional styles, etc. the user is directed to populate the 
spreadsheet with all the information required.  I've heard of 
corporate policies preventing the execution of macros, so it is all 
done without macros, where user interface signals during the 
save/reload process can remap the user interface to meet specific requirements.

Two of these applications are XML editors for columnar information, 
thus the "import XSLT" is used to present the input XML information 
into OpenOffice spreadsheets, and the "export XSLT" is used to 
interpret the user-entered and user-modified content to produce the output XML.

The third application is more abstract:  it is a UBL schema subset 
specification application presenting the entire UBL library on a set 
of 35 tabs in a spreadsheet.  The user indicates on these tabs which 
models and which model items they want in and out of the resulting 
UBL configuration.  One page configures the exportation process as to 
what deliverables they want, be it an HTML human report, pruned XSD 
schemas, synthesized filtering XSLT stylesheets and Python programs, 
and a myriad of text reports useful during development.  Using a 
single File/Export the end result is a complete developer's 
environment for analyzing and deploying a customization of UBL in 
support of the developer's application and use of their subset of 
UBL.  The primary output file specified in the Export dialogue box is 
a text report of all of the activity going on behind the scenes, 
including error reports of problems detected in the data that 
couldn't be validated by the OpenOffice functionality.  The adjunct 
outputs are all created using XSLT, reading and writing XML documents 
to create the needed developer artefacts.

I've abstracted the ODF spreadsheet structures into an application 
programming interface using XSLT user-defined functions.  I then 
develop the program logic on top of that API, interpreting user 
directives and content values in the spreadsheet data using key 
tables (for speed) and some abstractions allowing me to independently 
design the user interface (moving things around and changing their 
appearance) with little impact on the "program" (the XSLT stylesheets).

Since it is entirely based on XSLT (the robust Saxon 9 implementation 
in OpenOffice 3) it is platform independent working everywhere where 
OpenOffice supports XML filters.

Non-technical users are incredibly receptive to this kind of 
interface, and this approach has opened up a lot of potential.

And to me if "feels" like application programming, not stylesheet 
writing, where the programming language is XSLT 2.0 and presents all 
of the XML/XSD/XSLT concepts as first-class programming objects.

I'll be demoing these applications at the XML'2008 conference next 
week in the XML Guild booth.

. . . . . . . . . . . . Ken

Upcoming XSLT/XSL-FO, UBL and code list hands-on training classes:
:  Sydney, AU 2009-01/02; Brussels, BE 2009-03; Prague, CZ 2009-03
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video sample lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg
Video course overview:  http://www.youtube.com/watch?v=VTiodiij6gE
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/x/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS