Skip to main content

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

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

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.

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

All information submitted is secure.

  • Close [x]

Get the WebSphere Application Server 7.0 XML Feature Pack Tech Preview

Improve developer efficiency and reduce maintenance costs with three new features

Erin Harris (eharris@ca.ibm.com), 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.

Summary:  The IBM WebSphere Application Server 7.0 Feature Pack for XML 1.0.0.9 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.

Date:  12 Apr 2011
Level:  Intermediate PDF:  A4 and Letter (23KB | 5 pages)Get Adobe® Reader®
Also available in:   Chinese  Japanese  Portuguese

Activity:  15385 views
Comments:  

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.


Resources

Learn

Get products and technologies

Discuss

About the author

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.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


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. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

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.

(Must be between 3 – 31 characters.)

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

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=XML, Java technology, WebSphere
ArticleID=644497
ArticleTitle=Get the WebSphere Application Server 7.0 XML Feature Pack Tech Preview
publish-date=04122011
author1-email=eharris@ca.ibm.com
author1-email-cc=nancy_hannigan@us.ibm.com

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers