wiki:BluePrintXSLTEditor

XSLT File Editer

Purpose

As XSL transformations are used in many parts of Eden and is becoming more important. We need a tool to create XSL files. It should be easy to use because implementers are no developers. The tool should give the user the ability to generate a XSL file out of a XSD. The XSL file would eventually, produce an output that is, in human readable form, specified by the user. Most common output file types are: E-Mail, HTML, pure text, XML. This tool would be available as an object or plug-in that developers can embed in to any module to extent the ability for implementers to create the implementation specific XSL file.

Product Scope

The biggest challenge is finding a Web2.0 tool that can be easily integrated with Eden. There are a plethora of off-line tools.

Objectives

  • Easy to use
  • Eden module
  • Possibility to use an XSD which contains the possible elements of the input XML

Benefits

  • Preview feature
  • Realtime UI updates / Use of the Error panel

Example use-case

A possible use-case is the CAP broker currently beeing developed. It uses XML transformations to format the output. Integrators could generate a XSL to offer different output modes like SMS or Twitter.

Features

Use Case

Use Case Diagram

Description & Functions

  • Step 1) User had to upload an XSD -> XML Elements should be shown in the "Available XML Elements" panel
  • Step 1b) The user can upload an XML if he/she wants to use the preview Feature (Step 3)
  • Step 2) User enters the text. The XML elements are on the right side, a click on one of them adds it to the text.
  • Step 2b) 2 tabs: 1) Normal text 2) Includes XSL tags
  • Step 2c) "XSL Output types" dropdown contains different modes for the output
  • Step 2d) Errors are shown in the "Errors" panel
  • Step 3) User can download the XSL or refresh the "Preview" field based on the XML uploaded at Step 1b)

Mock GUI

Smaller version of the xsl.png file

This GUI (without functionality) is available on GitHub

Recommended Approach

XSL creation out of XSD & Text

This is the hardest part. It is quite hard to find any working, open-source solution for this. I think it would be the best to code this ourselves. I would suggest Javascript only here. Remember that the Errors-Panel needs to be real-time.

Preview Panel

  • There are some possibilities to do XSL transformations using Javascript. It's quite good implementation for XSL transformations, unfortunately this is Firefox only, so maybe no option for us.
  • A better (but untested solution) would be this jQuery plugin.
  • Apparently the best solution is developed by Google. It is platform independent and bugs are closed relatively fast after they are discovered

All Javascript only.

Similar Tools

W3Schools XSLT Editor has similar functions but a quite limited GUI.

Last modified 13 years ago Last modified on 12/27/11 14:22:38

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.