EXSLT - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

EXSLT

Description:

XSLT 1.0 processors were implementing extension functionality ... Other problems: XSLT was limited, basic usage was being hampered by RTF. History ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 22
Provided by: JF579
Category:
Tags: exslt | hampered

less

Transcript and Presenter's Notes

Title: EXSLT


1
EXSLT
  • Facilitating the Standards Process

2
Overview
  • Jim Fuller (jim.fuller_at_webcomposite.com)
  • Problem Year 2000, portability, functionality in
    XSLT
  • Solution EXSLT
  • Where we got it right/wrong
  • Benefit
  • Open Source Specification
  • Future for EXSLT

3
Problem in XSLT, around the Year 2000
  • XSLT 1.0 processors were implementing extension
    functionality
  • XSLT becoming dependent on underlying processor
  • Reduced compatibility
  • Other problems XSLT was limited, basic usage was
    being hampered by RTF

4
History
  • April 2000 Stephen Meunch
  • Don Park XTECH2000 and David Megginson (of SAX
    fame)
  • W3C reacted with XSLT1.1 e.g. xslscript
  • Early 2001, Uche Ogbuji generated a petition
  • Dr. Jeni Tennison formulated a set of draft specs

5
Solution Extensions for XSLT
  • March 2001, Dr. Tennison and small subset of
    community went about defining EXSLT
  • EXSLT defines functions grouped into modules
  • Where possible we created implementations either
    in pure XSLT 1.0 or using javascript
  • Created documentation to assist users and
    implementators
  • It was hoped that XSLT processor implementators
    would create native implementations

6
EXSLT Modules
  • Common Dramatically simplified stylesheets
    through providing a node-set(), object-type(),
    and document() (as per XSLT 1.1) function
    definitions
  • Date and Time A full range of date and time
    handling functions.
  • Dynamic Enables dynamic evaluation of XPATH
  • Sets Encapsulated functions which make it easy
    to perform set type operations on XML.
  • Functions Enabled the creation of functions
  • Math Enables basic math operations within
    XSLT
  • Random Added facilities to generate random
    numbers
  • Regular Expressions Enabled regular
    expression handling
  • Strings Contains string handling functions
    such as tokenize() and find() / replace().

7
EXSLT Implementations
  • Saxon
  • 4suite
  • Libxslt
  • Xalan
  • EXSLT.NET (now in Mvp.Xml)
  • sablotron

8
Where we got it wrong
  • No one uses Function module
  • Didnt follow Software development practices
  • Module and function level imports fundamentally
    broken

9
Function Module
  • Underestimated the power of templates
  • Lots of energy went into the discussion
  • Originally intended to provide an EXSLT Function
    implementation of every extension

10
Lack of Rigor
  • Placing EXSLT with sourceforge would have been
    smart from the beginning
  • Heavyweight XML markup allowed us to get away
    with standard software development practice
  • Having no continuous integration or source
    control in place, very bad and paying the price
    today

11
Import XSLT
  • Importing was brokenwas no easy way for users
    to use module level imports
  • Due to the fact of importing all implementations
    e.g. if msxslscript element was encountered by
    XSLT processor that didnt understand the
    element.

12
Other Nagging Issues
  • Interdependencies
  • Function Submission process
  • Missed opportunities
  • Licensing
  • Namespaces

13
Getting things right
  • Catering to users, implementators and eventually
    specification
  • Having individuals like Jeni Tennison and Michael
    Kay involved
  • Extensive documentation
  • Inclusion of use cases

14
Lessons Learned managing a large XML distribution
  • Large XML distributions benefit from the re-use
    of existing markup/vocabularies like RDF and
    Dublin Core
  • Just because its markup doesnt mean give up
    software development practices!
  • RDF made revision easy everywhere
  • Didnt need typing / XML Schemathough next time
    around

15
Some Ruminations
  • EXSLT was created by the entire XML community
  • As with success on software projects, having
    individuals who are highly experienced and
    skilled has a major impact (Jeni Tennison, Uche
    O., Michael Kay)
  • Synchronicity with XSLT UK 2001

16
EXSLT informed XSLT 2.0
  • Working with RTF
  • XSLT is not a programming language
  • Abstracted complex XSLT (grouping)
  • Multiple Documents
  • String Handling
  • Evaluating XPATH?

17
EXSLT informed XSLT 2.0
  • Working with Result Tree Fragments
  • XSLT is not a programming language
  • Abstracted complex XSLT
  • Outputting Multiple Documents
  • String Handling
  • Evaluating XPATH ???

18
Benefits to XSLT 2.0
  • Allowed XSLT 2.0 to take a bit longer
  • Provided W3C Working Group with real world
    evidence (e.g. XSLT 2.0 functions are not 1st
    class)
  • XSLT 2.0 and the suite of linked specifications
    puts EXSLT as we know it out of business

19
EXSLT Future
  • EXSLT as a specification has done its job and
    should die a natural death
  • XSLT 1.0 usage will peak, which is why I have
    submitted a complete build based on Ant which
    generates site document, platform specific module
    imports, and reports on XSLT processor
    compatibility up to the rest of the EXSLT gang
    to review
  • Possible XSLT 2.0 function library?
  • Does EXSLT have application beyond XSLT ?

20
Facilitation
  • EXSLT came from the whole XSLT community
  • EXSLT was a bridge between groups like the W3C
    and the community
  • EXSLT goals were constrained and focused on what
    was important rather then completeness
  • Why are there not more of these style efforts
    bridging the problem gap e.g. etc..

21
Open Source Specification
  • Micah Dubinko recent open letter to WHATWG
    illustrates the point
  • Are there tools that can help us (developers)?
  • working on schema enabled wiki with annotation

22
Conclusion
  • Suggestionsuse cases, informal spec review,
    early implementation
  • Linking in XML, XML Schema, Xform, WS, Binary
    XML, What to do with XML Namespaces.
  • Thank you
Write a Comment
User Comments (0)
About PowerShow.com