[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Should the XPath working group add support for an import capability?


Subject: [xsl] Should the XPath working group add support for an import capability?
From: "Costello, Roger L." <costello@xxxxxxxxx>
Date: Mon, 14 Jan 2013 14:11:57 +0000

Hi Folks,

The new functionality in XPath 3.0 is very exciting.

With its new functionality one can create powerful XPath data structures,
functions (unfortunately not libraries, see below) and programs -- all written
in pure XPath.

Since XPath is highly portable the programs can be dropped into any language
that hosts XPath - XSLT, XQuery, Java, Perl, Python, etc.. That is fantastic.
Write once and reuse many times.

    Imagine a function library developer
    able to write just one set of functions,
    not two. The developer would save a
    massive amount of time and could use
    these savings in writing more functions
    in the library -- a bonus to everyone.

There is one problem, however.

The XPath programs must be monolithic (not modular). One cannot write program
A and then reuse it (import it) into program B.

    The current W3C XPath 3.0 specification
    does not include support for an "import"
    clause.

That non-modularity of XPath limits its usefulness.

I would like to see the XPath working group add modularity to the XPath
language.

Here are the advantages to doing so:

1. Develop once, reuse often. That results in time and cost savings.

2. Computer Scientist John Hughes, in his famous paper "Why Functional
Programming Matters" argues that "modularity is the key to successful
programming." Greater modularity in XPath would yield more successful
programs.

Here are the disadvantages to doing so:

1. It makes the language bigger. Vendors are less inclined to support XPath if
it is too big.

2. It is not in the XPath working group's requirements.  A new use-case /
requirement would have to be inserted into the XPath requirements /
use-cases.

What do you think, should the XPath working group add support for modularity
(i.e., add support for an import capability)?

If yes, now is the time to speak up. Also, if yes, should the XPath working
group add it to 3.0 or 3.1?

/Roger


Current Thread
Keywords