Browse Prior Art Database

Method for Extending xsl:message for Internationalization and Globalization

IP.com Disclosure Number: IPCOM000202072D
Publication Date: 2010-Dec-03
Document File: 3 page(s) / 27K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to addresses the challenge of internationalization of xsl:message messages. The core idea of the approach is to represent the message identifier and substitution strings for an internationalized message using a Result Tree Fragment (RTF) that uses a specific Extensible Markup Language (XML) vocabulary to indicate the message identifier and the substitution strings.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

Page 01 of 3

Method for Extending xsl:message for Internationalization and Globalization

The Extensible Stylesheet Transformations (XSLT) programming language supplies a simple, somewhat open-ended method for logging messages, "xsl:message". The semantics of xsl:message are intentionally open-ended, allowing the XSLT processor to react to an invocation of xsl:message in an implementation-dependant fashion. Depending on the environment, this may include appending a message to a log (perhaps in a server environment), or raising a pop-up dialog (in a client environment). The syntax does not, however, provide any useful support for localization of the messages rendered during an xsl:message invocation.

In the XSLT specification itself, it is suggested that the syntax of xsl:message supports localization; the syntax allows the use of arbitrary expressions inside the xsl:message, which may be used to locate a message in a catalog, to be copied into the xsl:message invocation. The same may be said, however, of most logging primitives (e.g., printf in
C). Nonetheless, in other languages message catalog frameworks are highly important in facilitating message internationalization and localization.

Others have suggested cataloging methods based on stylesheet pre-processing [1]. While this improves both the programmer's experience, by providing a helpful framework within which to create and use messages and runtime performance, it does not provide any way to substitute runtime-dependent strings into the message. For example, there is no way to substitute %s in a message "Unknown user %s". Further, because the preprocessor performs a direct text-substitution for the desired message, no metadata about the message is passed to the Extensible Stylesheet Language (XSL) processor, and thus may not be attached to the log action or dialog. In many modern systems, system messages may be associated with any amount of metadata, including extended message descriptions, potential problem resolution suggestions, etc., which are used to assist users in reacting to the message event.

Use of extension attributes to identify catalog messages is another well-known solution to internationalization of xsl:message messages. While this does allow the XSL processor to retrieve the message entry itself, and thus any attached metadata, it still does not provide any useful way of substituting runtime values into the message. Further, when used with an XSL processor that does not support the extension attributes, the xsl:message provides no other information about the message, so the method is not portable.

Several other designs are used by various experts, but none of them maintain most or all of the advantages of the disclosed invention.

The disclosed solution addresses the challenge of internationalization of xsl:message messages. With this novel approach, the message identifier and substitution strings for an internationalized message are indicated using a Result Tree Fragment...