Error Handling in XPath Functions - brief architecture description

The Xalan/XPath standard library error messages for "en_US" are
found in file:
    (src)/xalanc/NLS/en_US/XalanMsg_en_US.xlf

The messages in xliff format use 0-3 parameter substitutions.

The xlif file is processed by the MsgCreator program to create header files.
   nls/include/LocalMsgData.hpp   and
   nls/include/localMsgIndex.hpp

Which are also used to build the message library shared objects
for Windows
   bin/XalanMessages_1_11.dll   and
   bin/XalanMessages_1_11D.dll
for Unix/Linux
   bin/libxalanMsg.so.111.0
   bin/libxalanMsg.so.111 -> libxalanMsg.so.111.0
   bin/libxalanMsg.so -> libxalanMsg.so.111.0

Standard message reporting uses the following method to create
XalanDOMString messages from a message index and 0-3 parameters.

 const XalanDOMString& XalanMessageLoader::getMessage(
    XalanDOMString& theResult,
    XalanMessages::{the string identifier},  // See the xliff file
   "Parameter {0}",
   "Parameter {1}",
   "Parameter {2}");

We can add new messages to the library for Date, DateTime, Duration,
and other specific string formatted validations.

Index:  "InvalidDateTime_3Param"
Text:  "Function '{0}' parameter '{1}' has bad DateTime format '{2}'"

Index:  "InvalidDate_3Param"
Text:  "Function '{0}' parameter '{1}' has bad Date format '{2}'"

Index:  "InvalidTime_3Param"
Text:  "Function '{0}' parameter '{1}' has bad Time format '{2}'"

Index:  "InvalidDuration_3Param"
Text:  "Function '{0}' parameter '{1} has bad Duration format '{2}'"

where '{0}' = name of the XPath function
where '{1}' = number of the XPath function parameter
where '{2}' = string value of the error

There are several methods, depending upon severity of error, that can
be used to register messages to the XPath interpreter and Stylesheet
Transformer processes.

Sincerely,
Steven J. Hathaway
Xalan Documentation Project


---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscr...@xml.apache.org
For additional commands, e-mail: xalan-dev-h...@xml.apache.org

Reply via email to