[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"?)
- From: "G. Ken Holman" <gkholman@CraneSoftwrights.com>
- To: "'xml-dev@lists.xml.org'" <xml-dev@lists.xml.org>
- Date: Sat, 06 Dec 2008 14:21:20 -0500
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]