Get the WebSphere Application Server 7.0 XML Feature Pack Tech Preview

Improve developer efficiency and reduce maintenance costs with three new features

The IBM WebSphere Application Server 7.0 Feature Pack for XML Technology Preview offers some major new features, including support for XQuery modules, embedded extension functions, and source location information for runtime errors. These features help developers manage and work with queries and stylesheets, thus improving developer efficiency and reducing maintenance costs.


Erin Harris (, XPath/XQuery/XSLT processor technical lead, IBM

Erin Harris has been working on the XPath/XQuery/XSLT processor for almost six years now as a developer and a technical lead. Prior to that she did debugger development and C compiler development.

12 April 2011

Also available in Chinese Japanese

As the number of XQuery programs a developer or team of developers works with grows, and as individual queries begin to grow more complicated, you naturally want to break the queries down into more modular components. The XQuery modules feature allows you to group commonly used functions and variables in reusable library modules. You can import any number of library modules into the main XQuery module that contains the XQuery body. Library modules can also import other library modules. This ability allows great flexibility for sharing and reusing XQuery code. Also, the addition of a new XModuleResolver interface to the API allows you to customize the module resolution process. You can register an implementation of this interface with the XStaticContext to override the default module resolution behaviour. This ability makes it even easier for you to share code as a user-provided implementation of XModuleResolver can locate library modules wherever you store them for convenient, optimal sharing and reuse.

Frequently used acronyms

  • API: Application program interface
  • W3C: World Wide Web Consortium
  • XML: Extensible Markup Language
  • XSLT: Extensible Stylesheet Language Transformations

The embedded extension functions feature allows you to bind a namespace prefix to a Java class containing one or more extension functions directly within a stylesheet or query. You then can call the functions using standard function call syntax, by combining this prefix with the name of the method to be invoked. The XSLT/XQuery processor uses the information in the function call, including the function name and the number of arguments, to select the method. This approach reduces the amount of explicit Java programming needed to declare and bind extension functions. It also further enhances reusability, as queries or stylesheets that use reusable modules do not need to know about the extension functions that those modules might invoke, other than ensuring that any classes needed by the modules are on the classpath at runtime.

Finally, runtime error messages now include the name of the source file, the line number, and the column number where the error occurred. This feature is especially useful for large modular stylesheets and queries, where locating the source of an error such as "the value 'a' is not valid for the type xs:integer" can be very time consuming. Also, where code is shared (such as in the use of modules), you can direct the problem to the right developer or team much more efficiently, or even the right company or organization in the case of third-party code. Not just for developers, this new feature also makes it much easier to diagnose problems in production environments.

Overall, these three new features work together to enhance the development experience, improve developer efficiency, and reduce maintenance costs.



Get products and technologies



developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into XML on developerWorks

Zone=XML, Java technology, WebSphere
ArticleTitle=Get the WebSphere Application Server 7.0 XML Feature Pack Tech Preview