Tools for XML, XSLT, XPATH and XSL-FO

Tools for XSL

1. What can't XST do? A parser parser
2. Graphical XSLT tools
3. XML editor summary
4. XML Editor, Unicode support
5. XSL IDE
6. Visual XSLT Editor
7. XSL Editors
8. XSLIDE - XSLT Editor
9. ANN: XAE 1.0 beta available, An XSLT environment for emacs.
10. New emacs minor mode avail
11. XSLT dev Environment
12. visual xslt-Tool for a xml to xml transformation
13. Yet another Word to XML processor
14. Open source html to xsl-fo
15. XSLT Profiler
16. XSelerator Editor
17. XSL-FO to RTF converter
18. Java XPath parser / processor
19. XPATH engine
20. Tiff importer for fop
21. XSLToolbox
22. XSLT Editor Debugger - AG101.
23. Converting XML to RTF
24. XSLT Profiler
25. HTML interface to XSLT tools
26. XMLmind FO Converter
27. Produce outline stylesheet in Omnimark
28. A Visualization Tool for XPath
29. XSLT debugger
30. Word 2000 html to XSL-FO
31. Universal Turing Machine in XSLT
32. xpath explorer
33. XSLT Editor Debugger - AG101.
34. XSLT debugger (Sablotron 0.96)
35. XSL debugging tools
36. xpath tool for Linux?
37. XSL IDE
38. WYSIWYG Designer incorporating xsl-fo
39. Command line XML/XSL searching/editing freeware toolkit
40. Creating and styling an XML instance.
41. ANN: xmlroff XSL-FO formatter in C.
42. Mac tool for xslt and xsl-fo
43. Using ANT with XSLT
44. Stylesheet development Library
45. Processing non-well-formed input.
46. An XSLT editor
47. CSV to XML, and vice versa
48. ANN: XSLToolbox
49. XSL-FO Validation tools
50. Calculate rendered text length
51. STX High speed, low memory alternative.
52. .Net XSLT filter
53. the EXSLT.NET library
54. XSL-FO Debugger
55. XSLTdoc - Javadoc-like tool for XSLT 1.0/2.0
56. WordprocessingML to XSL FO
57. XSLfast - Graphical XSL-FO Tool
58. JUnit extension for testing XSLT stylesheets.
59. XPATH tool for Mac
60. Process a whole directory full of xml files
61. Tools - GUI for Saxon,
62. Unit Testing Framework - XSLT
63. Announce
64. xml difference
65. Word Hyphenation

1.

What can't XST do? A parser parser



I am pleased to announce that YAPP XSLT is available to the public.

Yet Another Parser Parser, or YAPP for short, is not only a parser parser but also a lexical scanner and parser generator, implemented entirely in XSLT.

Feed it a grammar in XML or BNF form and YAPP will generate both a simple scanner and recursive descent parser. The resulting stylesheets, as well as the generators themselves, are plain XSLT 1.0 with no extensions other than the nodeset() function.

The download comes with BNF (hence 'parser parser') and partial XPath grammars that are both fully functional - just don't expect yacc performance!

more information is available here: o-xml.org or download from here: o-xml

As far as I know, YAPP is the first parser generator, or compiler compiler, written entirely in XSLT. Please correct me if I am wrong.

The project is free and open under the Gnu GPL.

2.

Graphical XSLT tools

Peter Gerstbach

I tried these products:

1) Altova: MapForce (altova.com) A visual Data mapping tool for XML/DB/FlatFile/EDI which generates XSLT, XQuery and others

2) Altova StyleVision (altova.com) Visual editor which produces XSLT stylesheets for FO, HTML and others. What I like best, is that this tool allows creating global templates which results in well structured code. But for those who don't know XSLT its hard to understand.

3) jCatalog Software AG: XSLfast (xslfast.com) An editor which generates a XSLT for XSL-FO. But this tool creates monolitic code with only one big root-template.

4) Ecrion Software: XF Designer (ecrion.com) This is a FO-Designer only, there seems to be no way to create XSLT.

5) Progress Software: Stylus Studio XSLT Designer and XSLT Mapper (stylusstudio.com) The XSLT Designer creates XSLT stylesheet for XML to XHTML transformations. The XSLT Mapper is about data mapping. But the XSLT Designer is only intended for XSLT programmers, at least you have to know xsl:for-each, xsl:value-of and so on...

DaveP. Another recent post came up with xslmaker, a graphical tool, aimed primarily at building websites from XML source.

3.

XML editor summary

Peter Ring

Markus "SGML for NT: A brief tutorial how to set up a free SGML editing and publishing system for Windows NT" A very complete guide that by itself constitutes an example of what you try to accomplish. Somewhat biased towards SGML, jade and TeX.

If you lean towards XML and XSLT, supplement the above with: XSLT-process "XSLT-process is a minor mode for GNU Emacs/XEmacs which transforms it into a powerful editor with XSLT processing and debugging capabilities. XSLT-process is not an Emacs major mode for editing XML or XSLT files, for this you should use Lennart Staflin's PSGML, James Clark's sgml-mode.el major mode (distributed with GNU Emacs), or Tony Graham's xslide XSLT mode. "

If you'd rather have everything in a package with all the decisions made on your behalf: Sebastian Rahtz, "Inspired by Kevin Russell's now rather old Ebenezer suite, we have bundled emacs, psgml, and a bunch of other useful stuff together as a single archive for installation on any Windows 32 bit system (30 Mb), or any Unix system (29.5 Mb); This setup was last updated on 20th Sept 2001." Includes TEI and DocBook support. Also for Unix.

"XML Authoring Environment for Emacs" For XML. A single install, emacs and xml in one juicy bundle. Very strong.

If it's not apparent already, I'm somewhat biased towards emacs. Even if you may be able get Arbortext Epic, Softquad XMetaL, or Corel WordPerfect, you'll sometimes need more hands-on control.

There's an introduction to emacs + psgml at http://www.snee.com/bob/sgmlfree/emcspsgm.pdf Be sure to see the PSGML Tricks page:

Btw, emacs 21 has just been released (though not quit yet on WindowsNT). While better support for fonts and images have been available for some time in XEmacs, the release of emacs 21 will probably spur the development of better visual feedback.

If you absolutely can't stand emacs, here's some alternatives:

epcEdit Tcl/Tk-based SGML and XML editor Does CALS tables 60-days evaluation

XXE Java-based XML editor, in beta, but useful Does CALS tables to some extent

Morphon Java-based XML editor Does not do tables (when I last checked) 30-days evaluation

XED Python/Tk based XML editor Does not do tables

4.

XML Editor, Unicode support

Michael Beddow


> Wendell Piez <wapiez@MULBERRYTECH.COM> writes:
> > strong, transparent Unicode support is something that's generally
> > fairly platform-dependent. To get it, an application developer has
> > either to lock the application into one platform or another, or go
> > with a VM like Java and take the performance hit.
> >
> > Or am I wrong?
>
> Qt comes to mind. It claims to have "full support for Unicode 16-bit
> international character set." I can't say anything about how good it
> really is, though, I don't know too much about Unicode handling.

The trouble is that "full" is as unreliable a word as "support" in such contexts, and the phrase "Unicode 16-bit international character set" doesn't exactly raise high hopes.


>
> Of course, Qt isn't really lightweight either, and there are other
> issues. For example, one would need a commercial licence (~2000 USD
> per developer, IIRC) for the Mac platform, and it won't work with Mac
> OS 9 or older.

As far as I can see, full Unicode support on Mac OS9 or older is a lost cause (though I'd welcome hard evidence to the contrary). Looks like "cross-platform" here could only include those sectors of the Mac community whose hardware plus installed software base and budgets make OS upgrading feasible.


> I don't know about other cross-platform toolkits. Google tells me that
> Tcl uses Unicode-strings internally, so maybe Tk could be a
> possibility, too.

Tk is where epcEdit and XED get their cross-platform capabilities (with epcEdit having more capabilities than XED because of the dedicated SGML/XML handling libraries for tcl that the developers bundle -- which have a well-documented API incidentally).

>
> However, I didn't intend to unconditionally bash java, I just think
> that it is too easy to write slow UIs using the Swing toolkit. I heard
> encouraging things about the toolkit IBM wrote for their Eclipse IDE.
> And, of course, when it comes to available XML-related libraries, Java
> is hard to beat.

A further problem with Java for cross-platform provision is that the MS vs Sun war means it's not going to get any easier for the average TEI user on Win32, who needs a java-based app to run "out of the box", to be able to get java working on their system.

To come back to Wendell's original question, it's important to realise that on Linux at least (and on "real" unices that make use of recent glib versions) the system folk have now more or less delivered their part of the bargain, and it's a matter of intermediate-level library and application programmers catching up and making use of the Unicode support that's there at low level. And this is happening right now, though in different rates in different areas. Here as elsewhere, progress is not speeded by the fact that some experts in non-Latin script handling are not enamoured of Unicode and are reluctant to lend their arm to these efforts. The best informed source of info on all this is probably Markus Kuhn's FAQ at cl.cam.ac.uk

Kylix would appear to be the most promising cross-platform development system in the light of all this, provided Borland rethinks its uncharacteristic pricing policy for that product. Then it's just possible that the mono people may successfully call Microsoft's bluff over their plans for .NET, which would open up huge possibilities of open-source cross-platform development, with Unicode support being of the essence as it already is with java.


>
> Hm, maybe this all gets a little off-topic

Maybe, in the sense that some readers of this list will wonder what we're blathering on about. But if the TEI is committed to XML it's ipso facto committed to Unicode. And the platforms and apps we need to use don't yet have Unicode support at the level of transparency and robustness we need, nor will they get it unless we all become better-informed specifiers, reviewers, project managers and customers.

5.

XSL IDE

Mark Wilson

Windows based XSL IDE and Debugger

For more info: Xselerator

Choose your own XSLT engine, debug with MSXML 3. Allows nice stepping through stylesheets to watch what's happening. Syntax directed editor in stylesheet window, notepad input for XML.

Notes from this release.

Increased performance in the debugger Multiple Stylesheet support Xselerator now allows multiple XSL stylesheets to be opened simultaneously. The input XSL window now incorporates a files tab display at the bottom of the window to allow switching between the opened XSL stylesheets.

Unicode file support Xselerator now auto-senses correct Unicode encoding on  loading of files, preserves the encoding during editing, allows saving as various UTF encodings and preserves encoding when switching to view mode (eliminating view mode error report of switch from current encoding not supported). The final phase of the Unicode support (to be released in a point version upgrade very shortly after beta close) will also support display of full charsets (limited only by font selected) whilst in editor mode. Note that charset characters will be displayed properly in edit mode in this version when highlighting is turned off.

XSL Transformation Timings. When using the default parser (MSXML 3.0) Xselerator shows the parse and transformation timings in the status bar of the output window.

Examples/Techniques/Libraries added

XSLT Breakpoints. Setting breakpoints in the XSLT code on non-breakable positions now shows the breakpoint as a bookmark - indicating that the breakpoint is not at a point which can be broken at.  (Tip: Make sure that you place your cursor on an XSL element for the Debugger breakpoint so that the Debugger can find your breakpoint.)

More information from topxml. I tried it, I like it. DaveP.

6.

Visual XSLT Editor

Jim Dorey

Sept 2000. Whitehill xsl Composer Released!

No more hand coding XSL! Whitehill Technologies is pleased to announce the general availability of Whitehill <xsl>Composer, the industry's first real-time, WYSIWYG, Drag and Drop stylesheet generator. Thank you all for the enormous interest shown in our Beta Program and I would like to now invite you to visit whitehill.com to download a fully functional trial version today. Whitehill xsl Composer can be installed and fully functional in one day, and with its project-based methodology, it is easy to track all your XSL projects that are underway in an organized and efficient manner.

7.

XSL Editors

Sia Rahimi

I have been using an evaluation copy Excelon Stylus 2.0 for a week now and I am very impressed with it. It is a bit pricy US$200.

It provides a three window editor for XML, XSL, and html output. It allows you to import html and design XSL from it. Also allows you to define HTML structures from XML in Wysiwyg way, the xsl of which you can save. However, the wysiwyg is not as good as something like Dreamweaver, but through the import process you can get around that.

The XSL editor is excellent. It even has auto-complete, suggesting possible attributes, and keeping track of non-ended tags.

Unfortunately the trial download requires Windows NT or Windows 2000 to run. That is something you find out only after you waste time downloading to a Windows 9x machine. Not good customer relations by excelon IMHO. It also seems to me to be very shortsighted from a marketing point of view. Surely there are many potential users excluded from using Stylus by this operating system choice on the part of excelon.

Available from Excelon

8.

XSLIDE - XSLT Editor

Tony Graham

The xslide package provides an Emacs major mode for editing XSL stylesheets is available at: Mulberrytech

Subsequent beta releases of xslide might not be announced, but the latest version will always be available at the above URL. The release of a stable xslide will be announced.

Feedback on the usability of the new features is requested.

Features of xslide include:

XSL customization groups for setting some variables
Initial stylesheet inserted into empty XSL buffers;
"Template" menu for jumping to template rules in the buffer;
`xsl-process' function that runs an XSL processor and collects the output;
Predefined `xsl-process' command line templates and error regexps for XT and Saxon;
Font lock highlighting so that the important information stands out;
`xsl-complete' function for inserting element and attribute names;
`xsl-insert-tag' function for inserting matching start- and end-tags;
Improved automatic completion of end-tags;
Improved automatic indenting of elements; and
Comprehensive abbreviations table to further ease typing.

xslide is a work in progress. Code contributions and suggestions for improvements are always welcome. Use the

`xsl-submit-bug-report'

function to report bugs.

Ed: Personal recommendation. If you are at home with emacs, this is the tool for writing xsl(t).

9.

ANN: XAE 1.0 beta available, An XSLT environment for emacs.

Paul Kinnucan

At XAE you will find XAE

The XML Authoring Environment for Emacs is a free software package that allows you to use Emacs and your system's HTML browser to create, transform, and display XML documents. The XAE includes:

* structured document editing mode (psgml) for Emacs
* technical book and article DTD (Docbook)
* Docbook stylesheets
* XSLT processor (Saxon)
* XAE and Docbook user's guides

10.

New emacs minor mode avail

Ovidiu Predescu

XSLT-process is a minor mode for GNU Emacs/XEmacs which transforms it into a powerful editor with XSLT processing and debugging capabilities. With this mode you can:

- run an XSLT processor on the Emacs buffer you edit, and view the results either in another Emacs buffer or in a browser.

- run an XSLT processor in debug mode and view what happens during the XSLT transformation. You can set breakpoints, run step by step into your stylesheet, view global and local XSLT variables and many more.

Currently the Saxon and Xalan Java XSLT processors are supported, and the mode comes out of the box configured to use them.

The package has been tested on XEmacs 21.1.14 and GNU Emacs 20.7.1, under both Linux and Windows 2000.

The package is free software and is distributed under GPL. The home page of XSLT-process is located at: sourceforge

11.

XSLT dev Environment

Mark Wilson

Xselerator V2.0.44 Setup (zip file,) (4.6Mb) - or - Xselerator V2.0.44 MSI Setup (MSI Install) (1.7Mb)(Especially for those who have XP) (November 2001)

Increased performance in the debugger From Version 2.0.40 there has been a 92% increase in the debugger performance.

Multiple Stylesheet support Xselerator now allows multiple XSL stylesheets to be opened simultaneously. The input XSL window now incorporates a files tab display at the bottom of the window to allow switching between the opened XSL stylesheets.

Unicode file support Xselerator now auto-senses correct Unicode encoding on loading of files, preserves the encoding during editing, allows saving as various UTF encodings and preserves encoding when switching to view mode (eliminating view mode error report of switch from current encoding not supported). The final phase of the Unicode support (to be released in a point version upgrade very shortly after beta close) will also support display of full charsets (limited only by font selected) whilst in editor mode. Note that charset characters will be displayed properly in edit mode in this version when highlighting is turned off.

XSL Transformation Timings When using the default parser (MSXML 3.0) Xselerator shows the parse and transformation timings in the status bar of the output window.

Examples/Techniques/Libraries added The Examples/Techniques/Libraries has been added to the installation.

Alternate Transformation output In Environment options a new option is added to the Transformation tab to allow all warning/error output from alternate transformation engines to be captured and displayed (even if the transformation was apparently successful).

Completed Help file So many people have asked for it and it has now arrived.

XSLT Breakpoints Setting breakpoints in the XSLT code on non-breakable positions now shows the breakpoint as a bookmark - indicating that the breakpoint is not at a point which can be broken at. (Tip: Make sure that you place your cursor on an XSL element for the Debugger breakpoint so that the Debugger can find your breakpoint.)

Further details

12.

visual xslt-Tool for a xml to xml transformation

Jeni Tennison

   > I am looking for a visual xslt-Tool for a xml -> xml transformation.
   > I have both, the source and the target structur. XMLSpy supports
   > editing xslt, but it supports not selcting the nodes.
   >
   > Is there a good tool for this purpose?

It sounds like you're after a mapper that allows you to draw links between the two XML structures. There are a few around:

     

XMapper (http://www.nalasoftware.com/DOCS/Xmapper/overview.cfm)
XSLerator (http://www.alphaworks.ibm.com/tech/xslerator)
Stylus Studio (http://www.stylusstudio.com)

If you just need help picking out nodes from the source XML, you could try an XPath visualiser:

     
XPath 1.0: Interactive Expression Builder
      (http://staff.develop.com/aarons/bits/xpath-builder/)
XPath Visualiser (http://www.vbxml.com/xpathvisualizer/)
 

13.

Yet another Word to XML processor

Eoin Campbell

I would like to announce the release of YAWC Pro 1.0, a low-cost Word to XML and HMTL conversion tool from XML Workshop Ltd. Details and evaluation copies are available from yawcpro.com

In addition to XML, YAWC enables one-click web publishing from Word, by converting from Word to XML to HTML, and using FTP to upload the resulting page. YAWC generates HTML which is valid against the HTML 4.01 Strict DTD, complies with WAI Level 1 Accessibility Guidelines, and supports Dublin Core metadata.

Related resources:

http://www.must.de/Javactpe.htm
http://www.wvware.com/
http://www.wvware.com/wvInfo.html
http://sourceforge.net/projects/poi
http://poi.sourceforge.net/
http://api.openoffice.org/
http://www.gnu.org/gnulist/production/filter.html
http://xml.openoffice.org/
http://www.openoffice.org/
"sot" module http://util.openoffice.org/
http://sw.openoffice.org/
AbiWord http://sourceforge.net/projects/abiword
http://www.koffice.org/kword/
http://freshmeat.net/projects/libole2/
Corel Office for Java (do they still offer it?) http://www.corel.com/

14.

Open source html to xsl-fo

Fabio

WH2FO (Word Html 2 Formatting Objects) is now open source. You can find it at this address: If someone is interested in develop and/or test, please see the contacts.

15.

XSLT Profiler

Magdalena Piller

eCube is very pleased to announce "catchXSL!" - the first XSLT-profiler! catchXSL! is a free tool based on Java. It profiles XSLT-transformations and the generated profiling results gives the developer useful hints for optimization of the xsl-stylesheet.

Getting curious? You'll find catchXSL! and lots of information on the xslprofiler website

16.

XSelerator Editor

Dimitre Novatchev.


> A question. At this moment I'm looking for a good XSLT-editor. I've a
> trial version of XSelerator. I'm wondering are there other people with 
> experiences with this product. What were the advantages and what the 
> disadvantages?

> Any comment will be most welcome.

I am a happy owner of the Xselerator and have been using it for a long time. It is not just a XSLT editor (e.g. it has a powerful XSLT Debugger, an XPath query builder, various wizards and Snippets Manager, works with many XSLT processors, has a project approach to xslt development, ... etc.), but a complete interactive development environment (IDE) for XSLT programming.

I have used other products as well and I find Xselerator's user interface, ease of use and functionality superior.

You can find one of my first feedback about the Xselerator in the archives of this group:

One rarely mentioned feature of Xselerator is that it offers a multitude (more than 100) of examples, snippets, techniques... and a growing number of template libraries.

Their support is excellent, they usually answer user's questions in the xsltalk group within hours.

To summarize: Xselerator has saved me many hours. It eliminates the routine typing and formatting tasks and leaves to the programmer the one thing that he must do -- the thinking.

It is very natural to recommend Xselerator as the tool and programming environment for any xslt programmer -- a beginner or an expert.

17.

XSL-FO to RTF converter

Jean-Yves Belmonte

XMLmind is pleased to announce the release of XMLmind FO Converter.

XMLmind FO Converter (XFC for short) is an XSL-FO to RTF converter. It takes an XSL-FO source file as input and converts it to RTF. XFC preserves the structure of the original document (e.g. a list-block element is converted to an actual RTF list) and most of the presentation information (font attributes, indentation, etc).

XFC is a pure Java application/library. It will be available in two forms:

* Personal Edition

This edition is intended mainly for individuals. It comes in binary form (Java archive) and only provides a command-line interface. It is available at no charge from <http://www.xmlmind.com/foconverter/download.shtml>.

* Professional Edition

This edition is intended for corporate use. It will come with full source code and API documentation. Purchase of the Professional Edition is required for integration of XFC in a server environment (e.g. in a Java Servlet or similar server-side application).

For more information and download of the Personal Edition, please see the XFC Home Page at xmlmind.com.

18.

Java XPath parser / processor

Martin ??

I've just published the TagBox XPath engine, a fully 1.0 compliant java XPath parser and processor. Features include late variable and namespace binding, allowing for safe caching of complete parsed expressions.

There's an early access download available on the TagBox at page: at SourceForge (still lacking in documentation and instructions, let me know if you want to try it but don't know how)

Big thanks to everyone who's helped with compliance test suites, advice and sharing their expertise -

19.

XPATH engine

/martin

I've just (May 2002) published the TagBox XPath engine, a fully 1.0 compliant java XPath parser and processor. Features include late variable and namespace binding, allowing for safe caching of complete parsed expressions.

There's an early access download available on the TagBox sourceforge page: here (still lacking in documentation and instructions, let me know if you want to try it but don't know how)

Big thanks to everyone who's helped with compliance test suites, advice and sharing their expertise -

20.

Tiff importer for fop

Oleg Tkachenko

For the people interested in faxing using xsl-fo and FOP I'm happy to announce TIFFRenderer for FOP. The homepage is at tkachenko.com and here is some info:

TIFFRenderer for FOP, version 0.9

TIFFRenderer is a small Java library extending Apache's FOP by providing possibility to output multi-page TIFF (Tagged Image File Format) images. [TIFF is one of the most popular and flexible of the current public domain raster file formats, which was primarily designed for raster data interchange and is standard format in faxing applications.] TIFFRenderer is not a real renderer on its own, it just extends org.apache.fop.render.awt.AWTRenderer class and encodes generated by that renderer AWT images to TIFF format. To actual encoding TIFFRenderer uses slightly modified free of charge open source TIFF codec [1] by Sun Microsystems, Inc. (Actually, a very similar TIFF codec is included in Batik distribution, but unfortunately it has very limited support for TIFF compression methods). TIFFRenderer has no dependencies on JAI, JIMI or other image processing libraries.

For demonstration of using TIFFRenderer in a web application see TIFFRenderer Demo [2].

Download and Installation

* Compiled version: tifferenderer-0.9.jar (140 Kb) [3].
* Sources: tifferenderer-0.9-src.jar (180 Kb) [4].

Just put tiffrenderer-0.9.jar into the CLASSPATH. Testing: run TIFFRendererTest class with two arguments - xsl-fo file and tiff file to be generated (having fop related jars and tiffrenderer-0.9.jar in the CLASSPATH):

java com.multiconn.fop.TIFFRendererTest table.fo table.tif

Documentation See TIFFRenderer Javadoc [5].

See also TIFFRendererDemo servlet source [6] as example of using TIFFRenderer in a servlet.

Licence issues

TIFFRenderer is subject to the Mozilla Public License Version 1.0 and is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Original TIFF codec source code licence by Sun Microsystems, Inc.: JAI_1.1.1_sample_io_sourcecodelic.10_23_01.txt [7].

To be done

* Diminish library size by eliminating duplicate classes, which are already in Batik jar.

Feedback Any comments and suggestions would be greatly appreciated, feel free to contact me: <olegt@multiconn.com>.

Links:

[1] [1]
[2] [2]
[3][3]
[4] [4]
[5] [5]
[6] [6]
[7] [7]

21.

XSLToolbox

Joshua Lubell

I am happy to announce an updated release of the XSLToolbox, an open source toolkit available at nist. The XSLToolbox's goal is to help developers avoid the drudgery of writing the complicated XSLT transforms often needed to integrate XML applications.

The XSLToolbox contains two tools, both written in XSLT:

1. APEX - an application for transforming XML documents as specified by architectural forms

2. ATTS - a stylesheet generator for adding default attribute values to XML documents

The release includes numerous APEX usage examples, documentation, and a (recently added) application implementing an easy-to-edit XML vocabulary for creating slide presentations.

The XSLToolbox requires an XSLT processor and the Apache Ant build tool (if you want to run all the included example in one fell swoop). The slide presentation application requires Python, the ReportLab Toolkit, and the Gnome XML libraries (with their Python bindings).

For more information, see nist.gov.

22.

XSLT Editor Debugger - AG101.

Al Byers

I have recently (Sept 02) released an open source, visual XSL editor/debugger (sourceforge.net). It is written in Java and built on the Pollo XML editor (sourceforge.net). By building on Pollo, virtually any document that has a DTD, XSD or other schema file defined for it can be edited and validated (any well-formed XML doc can, of course, be edited).

AG101 makes a great XSL learning tool, as it shows the allowable elements at any given point. Because it is open source, it can be easily customized for specific XML/XSL tasks.

AG101 has the ability to define a pipe wherein multiple XSL stages can be linked together.

I have also added regular expression capability and a file "while-read" element to allow the processing of flat files into XML format.

It is at the alpha stage. I have been using it to do productive work for at least two months now. I am looking for some basic feedback (like does it run on your machine). Of course, anyone who wants to help on the development will be welcomed, too.

23.

Converting XML to RTF

List announce

www.schema.del offers an XML to RTF converter. This converter can generate Microsoft Word documents in RTF format even from large XML documents. This means that you can publish specific documents from your XML pool of information and document management systems. The RTF FormattingKit automatically collects all of the document's formatting and layout information required for the printable RTF version. The RTF FormattingKit is especially useful for system integrators and software publishers who specialize in XML-based content management solutions.

24.

XSLT Profiler

Magdalena Piller

There's a new version of "catchXSL!" out now! catchXSL! is the valuable profiler for xsl transformations. It's essential when developing xsl stylesheets or speeding up existing xsl tasks. It is "the" tool that helps you finding out the time consuming parts of your stylesheet.

The new version 1.2 now comes with an easy managable user interface, which lets you inspect the bottle necks just by mouse clicks.

And: catchXSL! is still free.

You'll find catchXSL! and lots of information on xslprofiler.org.

25.

HTML interface to XSLT tools

Chris Bayes

I have developed some javascript that displays a normal HTML page, from which you can select the source XML, Stylesheet and output. Then choose a processor, and have it transform the source into the output. See http://www.bayes.co.uk/xml/index.xml?utils/translate.xml

There are setup needs, and certain expectations. This should work on any Win32 setup.

26.

XMLmind FO Converter

Olivier Ishacian

XMLmind is pleased to announce the release of the XMLmind FO Converter (XFC) v1.0b1.

This new version adds support of the automatic table layout, headers and footers, and includes several enhancements and bug fixes. See below for a complete list of new features.

XFC now comes with a graphical tool (XSL Utility) designed to ease its evaluation. This tool can be used to convert XML documents to RTF and other formats.

The Personal Edition of XFC v1.0b1 can be downloaded from xmlmind.com

27.

Produce outline stylesheet in Omnimark

Bryan Schnabel/Rick Geimer

Bryan has it at http://www.geocities.com/xml_landscapes/ Brian has asked me to host the program on my OmniMark resource site (omlette).

The command line is omnimark -s xml2xsl.xom lessons.xml -of temp.xsl This produces a stylesheet, temp.xsl which has templates for every element found in lessons.xml

(Aug 2000) Based on suggestions I have a new version for evaluation (Home page). It still allows a user to process a well-formed XML instance to create a strawman XSL (creating templates for each element in the instance). It now has an option that enables "bare-bones" templates (-a light). Rick Geimer suggested a companion program that reads a DTD and creates a similar XSL strawman. I posted it, dtd2xsl, for evaluation as well (dtd2sxl).

28.

A Visualization Tool for XPath

Khun Yee

I have written an XPath visualization tool. The tool allows you to choose an XML file as the initial XML document. The XML document is then shown as a tree (JTree in Swing). After that, you can specify XPath expressions and step through the execution of the expressions. The nodes selected in each step (can be a big step, a small step, or a baby step, or no stepping at all) are highlighted on the tree. A context tree is also presented so that the context of an XPath expression (like the context of a location path inside a predicate of another location path) can be shown. The execution stack of the context is also displayed when a context is chosen.

The user can also select a node of the JTree as the initial context node of an XPath expression. This is how relative location paths are handled.

The tool is meant as a learning tool for XPath. It implements nearly all the features of XPath, including the additional functions in XSLT. I am adding the additional functions from XPointer very soon. The only missing feature right now is the key() function. The document() function has been implemented and all documents included by the function are shown as JTrees as well (in different tabs of a tabbedpane).

The tool uses the SAX and SAX2 interfaces from Xerces-1.0. If there is a better choice than that I would like to know. I changed from using DOM to SAX and SAX2 after realizing that I would need my own internal representation for the trees in any event. Java 1.2.2 is my JVM and Xerces is the only other package you need to install to run the program.

The program is in alpha quality. Error checking and recovery are not good at all. But it is fun to see how XPath works step by step. I will get it to beta quality and produce a user guide and a JavaDoc by January 14.

I don't have a web site to put the program on so for now if you are interested, send me an email and I will send you the program. Please send it to <mailto:khunyee@hushmail.com> as it is the address that I can access from home and work. Robin Cover has hosted this file.

29.

XSLT debugger

Christopher Parkerson

eXcelon Corporation's Stylus Studio is our new integrated development environment for XML applications built around the award-winning Stylus Visual XSLT Editor. Stylus Studio was designed to be the most scalable, flexible, and useful suite of XML tools on the market for creating the most demanding XML-based applications.

Features Include:

The XSLT debugger

XSLT editor with XML-to-XML mapping capability

Scalable XML Editor

DTD and W3C XML Schema editor

Stylus Studio is available now via the eXcelon Corporation website at . There you will find more detailed information on Stylus Studio

30.

Word 2000 html to XSL-FO

Fabio Giannetti

I have developed an experimental java application that separate a Word 2000 html output into content and style The transformation process will generate and xml file for the content and an xsl-t file for the style. When the style is applied to the content you get an FO file. At this stage you can also use FOP to generate a PDF file. The application is free and I will appreciate, comments, suggestions on future developments and obviusly bugs.

If you want to try it visit the web site :

I hope that this kind of applications can grow the use of XSL-FO providing an easy way to create content that is ready to transform into FO.

31.

Universal Turing Machine in XSLT

Robert C. Lyons

Just for fun, I created a Turing Machine Markup Language (TMML). It's an XML language for describing Turing machines. I also created a TMML interpreter in XSLT. This XSLT stylesheet, which is a Universal Turing Machine, executes the Turing machine that is described in the TMML source document.

For more details, please see the website.

32.

xpath explorer

Alex Chaffee

I moved XPath Explorer to SourceForge and made a project release. Please come visit to bump up my activity rating. :-) sourceforge.net

And just to make it worth your while... This release also adds namespace support, slightly faster rendering of large documents, and a flashy UI overhaul (with icons and everything).

If you don't know already, XPath Explorer (XPE) is a GUI application that lets you interactively experiment with XPath. Basically, you type in a URL (to an XML or HTML document) and an XPath expression, and it displays the elements or attributes from that document which match that expression. It also displays the value (string, number, or boolean) of the expression, and (in a stunning coup de grace) displays the entire XML tree of the original document, but with the matching nodes highlighted in bold. This makes it easy to play with and debug your XPath expresions.

33.

XSLT Editor Debugger - AG101.

Al Byers

I have recently (Sept 02) released an open source, visual XSL editor/debugger (Sourceforge.net). It is written in Java and built on the Pollo XML editor (http://pollo.sourceforge.net). By building on Pollo, virtually any document that has a DTD, XSD or other schema file defined for it can be edited and validated (any well-formed XML doc can, of course, be edited).

AG101 makes a great XSL learning tool, as it shows the allowable elements at any given point. Because it is open source, it can be easily customized for specific XML/XSL tasks.

AG101 has the ability to define a pipe wherein multiple XSL stages can be linked together.

I have also added regular expression capability and a file "while-read" element to allow the processing of flat files into XML format.

It is at the alpha stage. I have been using it to do productive work for at least two months now. I am looking for some basic feedback (like does it run on your machine). Of course, anyone who wants to help on the development will be welcomed, too.

34.

XSLT debugger (Sablotron 0.96)

Petr Cimprich

It could be interesting for the members of this list that the version 0.96 of Sablotron XML processor contains a light-weight, command line XSLT debugger. Its functions include all one can expect from a debugger: tracing by nodes, templates and breakpoints, examining the context, evaluating XPath queries, etc. A mode for Emacs is also available.

To be invoked with "sabcmd --debugger" command. Type 'help' for more info after the invocation.

This software is an open source (MPL-licensed) and is available from gingerall.org

35.

XSL debugging tools

Various

I put an open source XSL editing/debugging tool, AG101, up on sourceforge (sourceforge.net). It is built on the Pollo XML editor (sourceforge.net). It has a visual debugger. Pollo uses Sun's MSV so it is quite adept at handling most schemas. - Al Byers

ActiveState has two XSLT debugging tools.

Visual XSLT (which I work on) plugs into Microsoft's Visual Studio .Net.

More info at activestate.com

Komodo is a standalone IDE that runs on Windows and Linux, and also supports debugging for Perl, Python, PHP, and Tcl.

More info at activestate.com

Since prices seem to be appreciated by some subscribers here, I'm including them, but they are subject to change.

For both products, we offer a commercial/professional use license for $US 295, and an educational license for $29.95. Both products also support a 21-day free trial. - Eric Promislow

I have also used eXcelon's Stylus Studio (exln.com). It is pretty good and, like Xselerator, is geared specifically toward writing and debugging XSLT, along with XML, DTD, Schema, etc. I haven't used Xselerator, so I can't compare the two. -- Steve Kienle

I use Xselerator by Marrowsoft. It has extensive debugging features that I have found to be invaluable. The only other XSL editor I'm aware of is XML Spy, but I don't know what the debugging features are like. Xselerator is at marrowsoft.com. Andy Cupp

I like Stylus Studio, in part because it integrates with Saxon for debugging, although the Saxon debugging can be prohibitively slow on large documents (at least on my underpowered laptop). W. Eliot Kimber,

36.

xpath tool for Linux?

Daniel Veillard


>   what's the closest approximation to xpath visualizer
> for linux, so i can goof around?

Well, you probably have libxml2 installed, so you can play with

xmllint --shell xml_document

This parses the document and open a shell in the good old tradition of unix but operating on the document instead of the filesystem. It's not graphical but I find it useful from time to time when I have to design XPath expressions:

paphio:~ -> xmllint --shell XML/test/valid/REC-xml-19980210.xml
/ > cd //p
//p is a 313 Node Set
/ > cd (//p)[12]
p > ls
t--      472 XML was developed by an XML Working Grou...
p > pwd
/spec/body/div1[1]/div2[1]/p[1]
p > cd ..
div2 > ls
t--        1
---        1 head
t--        1
---        1 p
t--        1
---        3 p
t--        1
---        3 p
t--        1
---        5 p
t--        2
div2 > cd ..
div1 > grep Maler
/spec/back/inform-div1[5]/orglist/member[11]/name : t--       20 Eve Maler,
ArborText
div1 > cat head
-------
<head>Origin and Goals</head>
div2 > help
        base         display XML base of the node
        setbase URI  change the XML base of the node
        bye          leave shell
        cat [node]   display node or current node
        cd [path]    change directory to path or to root
        dir [path]   dumps informations about the node (namespace,
attributes, content)
        du [path]    show the structure of the subtree under path or the
current node
        exit         leave shell
        help         display this help
        free         display memory usage
        load [name]  load a new document with name
        ls [path]    list contents of path or the current directory
        xpath expr   evaluate the XPath expression in that context and print
the result
        pwd          display current working directory
        quit         leave shell
        save [name]  save this document to name or the original name
        validate     check the document for errors
        write [name] write the current node to the filename
        grep string  search for a string in the subtree
div1 > exit
paphio:~ ->

It doesn't aim at replacing a graphical XPath evaluator, but it's fun and kindof useful sometimes :-)

37.

XSL IDE

Rob Rohan

Treebeard version 0.8 released

Treebeard is a open source, cross platform, free XSLT IDE written in Java; it's editor allows the loading and editing of an XML document and an XSLT document at the same time. It can apply the XSLT to the XML and display the output for further editing / saving in XML, HTML or PDF. Treebeard also has a plug-able XML and XSLT parser architecture, and comes bundled with Xalan2.5 and Saxon7.5. Treebeard can be downloaded at sourceforge

New stuff:

* Basic code completion
* Look & Feel
* (very minimal) Emacs key bindings.
* Upgraded xalan, fop, etc
* Ability to (mostly) save desktop layout
* updated the plain / html view pane
* Fixed the systemid error so xsl includes work :)
* Misc bugs

38.

WYSIWYG Designer incorporating xsl-fo

Klaas Bals

Announcement: Scriptura is available.

The free 14 day trial version now allows you to output XSLT and XSL-FO documents.

Scriptura is a document generation tool using XSLT and XSL-FO technologies. The Scriptura Designer is a What-You-See-Is-What-You-Get Designer for XSLT+XSL-FO stylesheets. Scriptura Designer allows you to drag-n-drop design your layout to dynamic XML or relational database data. The Scriptura Engine outputs PDF, XHTML, XSLT, XSL-FO and PCL5.

A free trial version can be downloaded from the website: scriptura.com

39.

Command line XML/XSL searching/editing freeware toolkit

Mikhail Grushinskiy

XMLStarlet Command Line XML Toolkit 0.6.0 released.

Sourceforge DOWNLOAD PAGE Sourceforge. XMLStarlet is a set of command line utilities (tools) to transform, query, validate, and edit XML documents and files using simple set of shell commands in similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join, etc commands.

This set of command line utilities can be used by those who deal with many XML documents on UNIX shell command prompt as well as for automated XML processing with shell scripts.

The toolkit's feature set includes options to:

Check or validate XML files (simple well-formedness check, DTD, XSD, RelaxNG)

Calculate values of XPath expressions on XML files (such as running sums, etc)

Search XML files for matches to given XPath expressions

Apply XSLT stylesheets to XML documents (including EXSLT support, and passing parameters to stylesheets)

Query XML documents (ex. query for value of some elements of attributes, sorting, etc)

Modify or edit XML documents (ex. delete some elements)

Format or "beautify" XML documents (as changing indentation, etc)

Fetch XML documents using http:// or ftp:// URLs

Browse tree structure of XML documents (in similar way to 'ls' command for directories)

Include one XML document into another using XInclude

XML c14n canonicalization

Escape/unescape special XML characters in input text

Display directories in XML format

Convert XML into PYX format (based on ESIS - ISO 8879) and vice versa

XMLStarlet command line utility is written in C and uses libxml2 and libxslt from http://xmlsoft.org/. Implementation of extensive choice of options for XMLStarlet utility was only possible because of rich feature set of libxml2 and libxslt (many thanks to the developers of those libraries for great work).

XMLStarlet is linked statically to both libxml2 and libxslt, so generally all you need to process XML documents is one executable file. To run XmlStarlet utility you can simple type 'xml' on command line and see list of options available.

XMLStarlet is open source freeware under MIT license which allows free use and distribution for both commercial and non-commercial projects.

New binaries for Solaris8-sparc/RedHat-7.3/Mandrake-9.1/Windows have been released. (i586 rpm are for Mandrake-9.1 and i386 are for RedHat 7.3)

We welcome any user's feedback on this project which would greatly help us to improve its quality.

40.

Creating and styling an XML instance.

Lionel Villard

A paper at www2002.org An Incremental XSLT Transformation Processor for XML Document Manipulation

In this paper, we present an incremental transformation framework called incXSLT. This framework has been experimented for the XSLT language defined at the World Wide Web Consortium. For the currently available tools, designing the XML content and the transformation sheets is an inefficient, a tedious and an error prone experience. Incremental transformation processors such as incXSLT represent a better alternative to help in the design of both the content and the transformation sheets. We believe that such frameworks are a first step toward fully interactive transformation-based authoring environments.

41.

ANN: xmlroff XSL-FO formatter in C.

Tony Graham

xmlroff 0.2.4 is now available at sourceforge.

xmlroff is an open-source XSL Formatter written in C. Version 0.2.4 incorporates bug fixes resulting from testing xmlroff with the samples from the XML 2003 "XSL FO Chef's Tools Exhibition" run by Mulberry Technologies.

xmlroff is discussed on the xmlroff-list@lists.sourceforge.net mailing list. See http://lists.sourceforge.net/lists/listinfo/xmlroff-list

42.

Mac tool for xslt and xsl-fo

Marc Liyanage

I wrote a free developer's tool for learning/using XSLT and XSL-FO which runs on Mac OS X. It uses the FOP engine and Apple's native Quartz PDF rendering to provide instant feedback. It is used extensively in-house by our software engineers, and by many people all over the net.

You can view a few screenshots at entropy.ch .

It also has these niceties: - 4 different XSLT processors to check deviations between implementations (has happened before...) - in-application rendering of HTML output using Apple's WebKit HTML engine. - in-application rendering of XSL-FO output using FOP - smart tag completion - useful example data in the form of the application's readme file.

Hope it's useful for XSLT developers out there using Mac OS X.

43.

Using ANT with XSLT

Robert Koberg


> Is there an easy way to invoke Saxon as the XSLT support within ANT?

The task, Multi-XSLT Ant Task: mtxslt at Sourceforge can be used to setup different processors.

44.

Stylesheet development Library

Syntext team

We have developed an XSL library (as a part of Syntext Serna), that actually may be used standalone. XslBricks library serves three main purposes:

Allows to create simple XSL stylesheets for arbitrary XML documents very easy and rapidly (from 5 to 30 minutes).

XSL stylesheet that uses XslBricks produces not only XSL-FO, but also HTML.

XslBricks contains popular, reusable XSL modules, e.g. XHTML.

So, XslBricks may be used as kick-start for developing a new XSL stylesheet from scratch (especially for newbies). For example this short XSL stylesheet:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <xsl:include href="path_to_xsl_bricks/fo/fo.xsl"/>
</xsl:stylesheet>

Is *enough* to get XSL-FO (or HTML) view of an arbitrary XML document with the default templates.

If you want to show an element with special decorations, say, section title to look like "h1" HTML, you create a template call as short as this:

<xsl:template match="section/title">
  <xsl:call-template name="h1"/>
</xsl:template>

Single XslBricks stylesheet included with XSL-FO backend or with HTML backend will produce correspondingly XSL-FO or HTML.

We would like to get your feedback: what other templates may be useful in XslBricks, what parameters should we add to this or that XslBricks template, etc.

Currently XslBricks library is available as a part of Syntext Serna (free fully functional trial is available at: syntext.com ).

If community finds XslBricks useful we are going to make it a standalone (and of course free) package. XslBricks documentation is available at: http://www.syntext.com/products/serna/doc/xslbricks/index.htm

Feel free to send comments and feature requests to serna-users@syntext.com mailing list.

45.

Processing non-well-formed input.

John Cowan

I have just released TagSoup 0.9.2 and TSaxon 0.9.2.

It is a SAX-compliant parser written in Java that, instead of parsing well-formed or valid XML, parses HTML as it is found in the wild: nasty and brutish, though quite often far from short.

TSaxon 0.9.2 is a merger of TagSoup 0.9.2 with Saxon 6.5.3. The drop-in saxon.jar and the modified Saxon source can be downloaded from the TagSoup home page at ccil.org . Nothing is changed in TSaxon except the -H switch, which forces Saxon to use TagSoup as its parser, so

	
java -jar saxon.jar -H html-doc style-doc

will work even though html-doc is not well formed.

46.

An XSLT editor

A.Brillant

We are glad to announce the release of EditiX v1.2 More details at editix.com

EditiX is a cross-platform powerful and easy to use XML editor designed to help web authors and application programmers take advantage of the latest XML and XML-related technologies such as XSLT / FO and XSD Schema. EditiX provides users with an extensive range of XML functionality within a refined IDE that guides you with intelligent entry helpers. EditiX has realtime XPath location and syntax error detection. Helpers are also provided with context syntax popup supporting DTD, Schema and RelaxNG. EditiX supports multiple templates and project management. User can apply XSLT or FO Transformation and show the result with a dedicated view. All the process can be managed by shortcuts. EditiX includes default templates with XML, DTD, XHTML, XSLT, XSD, XML RelaxNG, SVG, MathML and XML FO.

47.

CSV to XML, and vice versa

Danny Ayers

the XML2CSV in Java I did is now at: dannyayers.com There's also a CSV2XML.

48.

ANN: XSLToolbox

Josh Lubell

I am happy to announce the XSLToolbox, an open source toolkit available at NIST. The XSLToolbox's goal is to help developers avoid the drudgery of writing the complicated XSLT transforms often needed to integrate XML applications.

The XSLToolbox currently contains two tools, both written in XSLT:

1. APEX - an application for transforming XML documents as specified by architectural forms

2. ATTS - a stylesheet generator for adding default attribute values to XML documents

Comments are welcome.

49.

XSL-FO Validation tools

Nikolai Grigoriev

RenderX is glad to announce a collection of public resources related to validation of XSL-FO documents, available from this URL: http://xep.xattic.com/xep/resources/validators/validators.html. The collection includes the following tools:

DTD for XSL-FO
A historical DTD for XSL-FO, created by RenderX in 1999-2001. Used for input validation in early versions of XEP (1.x - 2.x). Can be useful as a schema for visual XML editors.
Validating XSLT Stylesheet for XSL-FO An XSLT stylesheet to assess XSL-FO structure validity. Used for input validation in XEP 3.x.
* Relax NG schema for XSL-FO. A recent development by RenderX, this schema can be used for both input validation and schema-aided document creation. The schema was presented at XML Europe 2004 conference; the respective proceedings paper and presentation slides by Alex Peshkov and David Tolpin are also available from our site.

Comments and feedback are most welcome.

50.

Calculate rendered text length

Eliot Kimber

I have implemented a simple Saxon extension function, renderedTextLength(), that lets you calculate the composed length of short text strings in XSLT. This is intended primarily to enable crude text fitting in FO-generating XSLTs. The accuracy is inherently limited because there's no way for my code to account for the effects of kerning, text sequeezing, justification, and so on, but it's good enough to allow, for example, setting the width of list labels to the length of the longest term in a definition list.

The files are provided under the GNU LGPL license. The materials are available at: innodata-isogen.com

(This may require you to register on the Web site, for which I appologize in advance.)

51.

STX High speed, low memory alternative.

Petr Cimprich

A new working draft of STX, a streaming cousin of XSLT, has been published on Sourceforge.net.

Streaming Transformations for XML (STX) is a one-pass transformation language for XML documents. STX is intended as a high-speed, low memory consumption alternative to XSLT.

The new form of the language is much closer to the XPath2/XSLT2 family, avoiding all unnecessary differences from these languages (but still avoiding XML Schema typing, on the other hand).

52.

.Net XSLT filter

Woric Faithfull

I have released a DotNet based Xslt filter for ASP.NET as open source and would appreciate you adding it to your list of Xsl applications.

[Sorry in advance for the hard sell, it's a cut and paste from another document. And in case you don't know, a filter is an ASP.NET module that can modify data as it is being sent to the browser.]

It is called XsltFilter and the home page is tigris.org. All documentation, unit tests and source code are available from the home page.

XsltFilter allows web pages to be authored as Xml with a server side Xsl transformation generating the final output that is sent to the browser. This output is normally Html, but any type of content can be sent using any character encoding and any MIME type.

One of the aims of XsltFilter is to be as straight forward and standards compliance as possible. For instance, setting the MIME type and character encoding mentioned above is done using the standard xsl:output tag and the location of the stylesheet is defined via a processing instruction in the Xml page which is identical to the processing instruction used for client side Xsl.

The Xml is generated using standard ASP.NET techniques - the pages are actually normal ASPX pages with a different file extension - and you can switch between Xml based pages and traditional ASPX pages as much as you require. The Xml based pages have full and unfettered access to all the power of ASP.NET including session variables, web services and class libraries.

You can also use any CLR compliant language to produce the Xml. XsltFilter does not know or care if you use C#, J#, VB.NET, Delphi or even COBOL.Net. The only requirement is that the page fills the response buffer with well-formed Xml.

XsltFilter is already used by a few Internet sites, plus several Intranet sites.

PS: Thanks for the great Xsl resources.They've helped immensely over the years. (This is my third attempt at this type of thing, and thankfully it was really easy this time.)

PPS: If you know anyone can test it with Mono I would be very interested in their help. If you have any suggestions or feedback, then that would also be appreciated.

53.

the EXSLT.NET library

Oleg Tkachenko

On behalf of the EXSLT.NET team I'm pleased to announce the next release of the EXSLT.NET library.

EXSLT.NET library is community-developed free open-source implementation of the EXSLT extensions to XSLT for the .NET platform. EXSLT.NET fully implements the following EXSLT modules: Dates and Times, Common, Math, Random, Regular Expressions, Sets and Strings. In addition EXSLT.NET library provides proprietary set of useful extension functions.

Download EXSLT.NET 1.1 at the EXSLT.NET Workspace home - gotdotnet

EXSLT.NET online documentation - http://www.xmland.net/exslt

Features: 65 supported EXSLT extension functions 13 proprietary extension functions Support for XSLT multiple output via exsl:document extension element Can be used not only in XSLT, but also in XPath-only environment Thoroughly optimized for speed implementation of set functions

Any comments and bug reports are welcome.

EXSLT.NET is subject to GOTDOTNET WORKSPACES COMMERCIAL DERIVATIVES LICENSE

54.

XSL-FO Debugger

Altsoft

Altsoft announce our new freeware product XSL-FO Debugger

Sometimes it is not so easy to answer many tricky questions that arise when you create a document with complex structure and thousands of objects. Why are these nested blocks not present on where they should be? What happened to that line? Where on earth is the header? Is it my error or I should send a letter to the producer of my formatter? XSL-FO Debugger helps you to avoid spending precious time on re-calculating object parameters, re-reading specification and revising your code. It introduces the visual representation of all basic document areas, baseline tables and breaks generated by the formatter so that you can find irritating shortcomings as fast as possible.

See the product page for additional details: alt-soft.com Download it here: alt-soft.com

XSL-FO Debugger is distributed under a free license.

Your comments, ideas and feedback are very important to us. We appreciate and honor all suggestions. Our goal is to make this product useful for you and your ideas. Feature requests are the best way to build the most suitable solution for XSL-FO designers. Please, write us your ideas to support@alt-soft.com

For any additional information please visit our web site http://alt-soft.com/ or e-mail to info@alt-soft.com

55.

XSLTdoc - Javadoc-like tool for XSLT 1.0/2.0

Iwan Birrer

There is a new version of XSLTdoc (Javadoc-like tool for XSLT 1.0/2.0). New features include the following:

- Extensibility: It is now possible to add new inline xd tags (See inline directory) and new properties (e.g. xd:version etc. see properties directory)
- Customizable: There is now an HTML template that you can change/replace to customize the main layout
- XHTML comliant (as well as complete rewrite of css stylesheet)

XSLTdoc is hosted on sourceforge: xsltdoc.sf.net

Some examples: pnp-software and ibiblio

56.

WordprocessingML to XSL FO

Kevin Brown



These style sheets were prepared by RenderX's development team and Microsoft for general use. They are designed to convert Microsoft's WordprocessingML to XSL FO. The team put together a generic version of the sheets that produce XSL FO suitable for any renderer as well as an add-on style sheet to support RenderX specific extensions like mapping Microsoft Word "continuous section break" to RenderX's "flow-section" extension. The style sheets are available for download from the Microsoft Download Center at ms.com and the details for using them are in the article co-authored by RenderX and Microsoft in MSDN (msdn).

RenderX encourages any developer's interested in providing suggestions or enhancements to subscribe to our xep-support list and submit your comments. We'll collect any and all suggestions and provide them back to all interested users. RenderX has also posted some informational pages at our site on RenderX.com.

57.

XSLfast - Graphical XSL-FO Tool

Gerd Napieraj

XSLfast is the world's first graphical editor for XSL:FO documents, a tool for XSL-FO authoring, to design XSL documents and to render the information e.g. via FOP. Other purposes are form processing and cross media publishing. XSLfast is used by customers in different industries worldwide, e.g. banking and insurances, automotive, health care, public sector, manufacturing, transportation and pharmaceutical.

The latest release 2.0 is a major upgrade that contains a simplified user interface, improved performance and lot's of new features.

For more information and details about XSLfast, please visit our homepage xslfast.com

58.

JUnit extension for testing XSLT stylesheets.

Jacek Radajewski

UTF-X is a JUnit extension for testing XSLT stylesheets. We've developed it at USQ for unit testing our stylesheets about three years ago, and two years ago released it under GPL. Although still in Alpha versions UTF-X works well and has been used in reasonable size projects (over 1500 templates/tests). UTF-X tests or Test Definition Files (TDFs) are XML documents which can be validated and rendered. Being able to render your tests works well for the test-first-design approach as you can write all your tests, validate them against your and/or xhtml DTD and render them for visual inspection. If everything is OK you can write your templates untill all tests pass. UTF-X requires Java 5.0. You can download UTF-X from sourceforge

Mailing lists, CVS and bug tracking are available at java.net

59.

XPATH tool for Mac

This url appeared on the list. Described as:

AquaPath is a free Cocoa-based developer tool for Mac OS X Tiger that allows you to evaluate XPath 2.0 expressions against any XML document and view the result sequence in a dynamic, intuitive tree representation.

60.

Process a whole directory full of xml files

Various


> Does anyone know of a good application that you could setup a hot  
> folder or some other automated method with which I could apply  
> transformations to files. I'm looking for something where I could  tell 
> the app to use my XSLT and then apply it to a bunch of files.

this really isnt anything to do with XSLT...but its a common pattern...soo.

a) use Ant in some continuous integration method (CruiseControl, Anthillpro) to control XSLT process

b) use cron job

c) if you use source control (like svn) use a post-commit hook to apply xslt on commit

d) if on unix/linux check out watch, dirwatch or if u need something a bit meatier try sgi_fam to watch a directory for changes to execute some action

e) you could (yes, my fav flavour of the year) use a smarter file system in the form of an XML database (exist.sourceforge.net) which is accessible via webdav/soap/REST...using this you could drop your files in eXist and then give HTTP URL to your app (with a _xslt= encoded param to instruct which XSLT file to use to transform on HTTP GET request)

Jim Fuller

Gary E. Daniels adds Also, see XML Wrench, a free program at xmlwrench.com. I believe it has features for batch transforms.

61.

Tools - GUI for Saxon,

Andrew Welch


> At the moment, we are doing all our XSLT transformations by invoking Saxon
> from the command line in a batch process.
> Well, this seems a bit non-performant, since we are always transforming  about
> 1000 XML files.
> I think that calling Saxon from a Java class would bring us a great
> performance boost.
> Is there any example on how to transform all XML files (not only one) in a
> specific directory with Saxon in Java?
> Thanks a lot for your help!

This is exactly what Kernow was designed for - a replacement for running Saxon from the command line. You can download it from: sourceforge Its open source and the code is included so you can see how to run a directory transform.

That's version 1.4 - the next version (1.5) is pretty much ready to go and I've made a number of improvements, 2 of which will help you out:

- It now has its own API, so to run a directory transform from Java you can just do:

Kernow kernow = new Kernow();
kernow.runDirectoryTransform(inputDir, xslt, outputDir);

This will run a directory transform with a compiled stylesheet, and using all of the caching resolvers turned on (with all of them checking local cache first). All of this is configurable.

- The 2nd thing is that a directory transform is runnable from the command line / Ant using the entry point net.sf.kernow.DirectoryTransform. This allows Kernow to slot nicely into your batch process. I've also added a "batch" tab to it, so should you want to run your buildfile (or any target within it) you can do so from the GUI.

62.

Unit Testing Framework - XSLT

Jacek Radajewski

Announce: UTF-X 0.0.8 Please visit sourceforge for further details and download.

UTF-X is an extension to the JUnit, a Java unit testing framework and it provides functionality for unit testing XSLT stylesheets. UTF-X strongly supports the test-first-design principle with test rendition and test validation features allowing you to visually design your test before you start working on the on styleshet. UTF-X was originally built to test XSLT stylesheet used in an XML publishing system so it has good support for DTD validation, XHTML and XSL:FO stylesheets.

63.

Announce

-

juxy.tigris.org Juxy allows to call or apply individual XSLT templates from Java and does not use any specific features of XSLT processor for that purposes. It relies entirely on TRaX API and should work with any TRaX compliant XSLT processor." Version 0.8 adds W3C schema validation and an XPathAssert class. Juxy is published under the Apache 2.0 license. Java 1.4 or later is required.

64.

xml difference

Peter ??

The current stable release is XMLUnit 1.2, June 2008.

XMLUnit for Java provides two JUnit extension classes, XMLAssert and XMLTestCase, and a set of supporting classes (e.g. Diff, DetailedDiff,Transform,SimpleXpathEngine,Validator,NodeTest) that allow assertions to be made about:

* The differences between two pieces of XML
* The outcome of transforming a piece of XML using XSLT
* The evaluation of an XPath expression on a piece of XML
* The validity of a piece of XML
* Individual nodes in a piece of XML that are exposed by DOM * Traversal

XMLUnit for Java can also treat HTML content (even badly-formed HTML) as valid XML to allow these assertions to be made about the content of web pages too. [Ed: Not a recommendation IMHO, but possibly useful]

See Sourceforge

65.

Word Hyphenation

Bruno Mascret



the first version of an xsl hyphenator (not xsl-fo, all in xsl 2.O) implementing Liang's algorithm (the one used in tex). (1)

It requires 2 files: the main code file (hyphenation.xsl) which contains the hyphenate's function, and the pattern file (hyphen.xsl) containing the sequence of patterns.

Files can be found here: hyphenation.xsl And hyphens.xsl (French rules) (2)

I also added a sample test file here: testHtph.xml(3)

I used saxon 9 as xslt processor.

hyphenation.xsl has a boolean parameter (debug) which allows to switch to debug mode detailing the hyphenation process.

Sample outputs:

$~> java -jar saxon9.jar -s:testHyph.xml -xsl:hyphenation.xsl
 bon-jour
 le
 mon-de
$~> java -jar saxon9.jar -s:testHyph.xml -xsl:hyphenation.xsl  debug=true
{word: bonjour} -------
 * 564: {pattern used: 1bo} {result:1b0o0n0j0o0u0r0}
 * 657: {pattern used: 1j} {result:b0o0n01j0o0u0r0}
after LIANG: b0o0n1j0o0u0r0 : bon-jour
{word: le} -------
 * 674: {pattern used: 1le} {result:1l0e0}
after LIANG: l0e0 : le
{word: monde} -------
 * 595: {pattern used: 1de} {result:m0o0n01d0e0}
 * 693: {pattern used: 1mo} {result:1m0o0n0d0e0}
after LIANG: m0o0n1d0e0 : mon-de
    bon-jour
    le
    mon-de

hope that can help, otherwise if you have any suggestion or comment to improve it, please let me know. The comments are in French, but if you wish, they can be translated into English.

Bruno Mascret

NAT's project: a free universal Braille translator natbraille

Footnotes:

(1) My goal was to use it in a more complicated way ( Braille transcription or for source code)

(2) The pattern file is auto-generated from a compatible hyphenation dictionary (tex, openoffice) thanks to a java code. If you find it useful, you can use the following files toolkit (model) and view , or ask for a standalone software if needed. Non-French dictionaries can also be used.

(3) the hyphenate function can of course be used in a different xml structure