You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@apache.org on 2001/01/26 02:27:00 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/transformer ClonerToResultTree.java MsgMgr.java NodeSortKey.java
sboag 01/01/25 17:27:00
Modified: java/src/org/apache/xalan/lib Redirect.java
java/src/org/apache/xalan/processor StylesheetHandler.java
java/src/org/apache/xalan/templates ElemApplyImport.java
ElemApplyTemplates.java ElemAttribute.java
ElemCallTemplate.java ElemChoose.java
ElemElement.java ElemMessage.java ElemNumber.java
ElemTemplate.java XUnresolvedVariable.java
java/src/org/apache/xalan/transformer
ClonerToResultTree.java MsgMgr.java
NodeSortKey.java
Log:
* Message manager modified so that the SourceLocator must always be passed in,
which will make a major difference in getting line number information.
* xsl:element's handling of namespace attribute and prefix in
name attirbute changed so that it no longer manufactures prefixes...
it always tries it's best to match the prefix entered.
* Nasty bug fixed with namespace contexts in the stylesheet processor.
The bug could cause <a xmlns:a="x"><b> to produce <a xmlns:a="x"><b xmlns:a="x">.
* xsl:message now sends the message to the consol, and also
throws an exception with the message "Stylesheet directed termination".
Revision Changes Path
1.11 +1 -1 xml-xalan/java/src/org/apache/xalan/lib/Redirect.java
Index: Redirect.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/Redirect.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Redirect.java 2000/12/06 05:53:38 1.10
+++ Redirect.java 2001/01/26 01:26:57 1.11
@@ -299,7 +299,7 @@
}
if(null == fileName)
{
- context.getTransformer().getMsgMgr().error(elem,
+ context.getTransformer().getMsgMgr().error(elem, elem,
context.getContextNode(),
XSLTErrorResources.ER_REDIRECT_COULDNT_GET_FILENAME);
//"Redirect extension: Could not get filename - file or select attribute must return vald string.");
1.32 +16 -2 xml-xalan/java/src/org/apache/xalan/processor/StylesheetHandler.java
Index: StylesheetHandler.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/StylesheetHandler.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- StylesheetHandler.java 2001/01/11 19:33:18 1.31
+++ StylesheetHandler.java 2001/01/26 01:26:58 1.32
@@ -516,6 +516,8 @@
throw new org.xml.sax.SAXException(te);
}
}
+
+ private java.util.Vector m_prefixMappings = new java.util.Vector();
/**
* Receive notification of the start of a Namespace mapping.
@@ -537,7 +539,9 @@
{
// m_nsSupport.pushContext();
- this.getNamespaceSupport().declarePrefix(prefix, uri);
+ // this.getNamespaceSupport().declarePrefix(prefix, uri);
+ m_prefixMappings.add(prefix);
+ m_prefixMappings.add(uri);
}
/**
@@ -590,6 +594,17 @@
String uri, String localName, String rawName, Attributes attributes)
throws org.xml.sax.SAXException
{
+ NamespaceSupport nssupport = this.getNamespaceSupport();
+ nssupport.pushContext();
+
+ int n = m_prefixMappings.size();
+ for (int i = 0; i < n; i++)
+ {
+ String prefix = (String)m_prefixMappings.elementAt(i++);
+ String nsURI = (String)m_prefixMappings.elementAt(i);
+ nssupport.declarePrefix(prefix, nsURI);
+ }
+ m_prefixMappings.clear();
m_elementID++;
@@ -605,7 +620,6 @@
this.pushProcessor(elemProcessor);
elemProcessor.startElement(this, uri, localName, rawName, attributes);
- this.getNamespaceSupport().pushContext();
}
/**
1.8 +2 -2 xml-xalan/java/src/org/apache/xalan/templates/ElemApplyImport.java
Index: ElemApplyImport.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemApplyImport.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ElemApplyImport.java 2000/12/05 22:29:22 1.7
+++ ElemApplyImport.java 2001/01/26 01:26:58 1.8
@@ -113,7 +113,7 @@
if (transformer.currentTemplateRuleIsNull())
{
- transformer.getMsgMgr().error(
+ transformer.getMsgMgr().error(this,
XSLTErrorResources.ER_NO_APPLY_IMPORT_IN_FOR_EACH); //"xsl:apply-imports not allowed in a xsl:for-each");
}
@@ -129,7 +129,7 @@
}
else // if(null == sourceNode)
{
- transformer.getMsgMgr().error(
+ transformer.getMsgMgr().error(this,
XSLTErrorResources.ER_NULL_SOURCENODE_APPLYIMPORTS); //"sourceNode is null in xsl:apply-imports!");
}
}
1.13 +1 -1 xml-xalan/java/src/org/apache/xalan/templates/ElemApplyTemplates.java
Index: ElemApplyTemplates.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemApplyTemplates.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ElemApplyTemplates.java 2001/01/02 03:36:45 1.12
+++ ElemApplyTemplates.java 2001/01/26 01:26:58 1.13
@@ -194,7 +194,7 @@
}
else // if(null == sourceNode)
{
- transformer.getMsgMgr().error(
+ transformer.getMsgMgr().error(this,
XSLTErrorResources.ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES); //"sourceNode is null in handleApplyTemplatesInstruction!");
}
}
1.13 +3 -3 xml-xalan/java/src/org/apache/xalan/templates/ElemAttribute.java
Index: ElemAttribute.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemAttribute.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ElemAttribute.java 2001/01/02 03:36:45 1.12
+++ ElemAttribute.java 2001/01/26 01:26:58 1.13
@@ -190,7 +190,7 @@
// element pending, it is an error.
if (!rhandler.isElementPending())
{
- transformer.getMsgMgr().warn(
+ transformer.getMsgMgr().warn(this,
XSLTErrorResources.WG_ILLEGAL_ATTRIBUTE_NAME,
new Object[]{ origAttrName });
@@ -264,7 +264,7 @@
if ((null == attrNameSpace) && (nsprefix.length() > 0))
{
- transformer.getMsgMgr().warn(
+ transformer.getMsgMgr().warn(this,
XSLTErrorResources.WG_COULD_NOT_RESOLVE_PREFIX,
new Object[]{ nsprefix });
@@ -278,7 +278,7 @@
// Could not resolve prefix
- transformer.getMsgMgr().warn(
+ transformer.getMsgMgr().warn(this,
XSLTErrorResources.WG_COULD_NOT_RESOLVE_PREFIX,
new Object[]{ nsprefix });
1.14 +1 -1 xml-xalan/java/src/org/apache/xalan/templates/ElemCallTemplate.java
Index: ElemCallTemplate.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCallTemplate.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ElemCallTemplate.java 2001/01/02 03:36:45 1.13
+++ ElemCallTemplate.java 2001/01/26 01:26:58 1.14
@@ -201,7 +201,7 @@
}
else
{
- transformer.getMsgMgr().error(XSLTErrorResources.ER_TEMPLATE_NOT_FOUND,
+ transformer.getMsgMgr().error(this, XSLTErrorResources.ER_TEMPLATE_NOT_FOUND,
new Object[]{ m_templateName }); //"Could not find template named: '"+templateName+"'");
}
}
1.8 +1 -1 xml-xalan/java/src/org/apache/xalan/templates/ElemChoose.java
Index: ElemChoose.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemChoose.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ElemChoose.java 2000/12/05 22:29:24 1.7
+++ ElemChoose.java 2001/01/26 01:26:58 1.8
@@ -166,7 +166,7 @@
}
if (!found)
- transformer.getMsgMgr().error(
+ transformer.getMsgMgr().error(this,
XSLTErrorResources.ER_CHOOSE_REQUIRES_WHEN);
}
1.14 +36 -33 xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java
Index: ElemElement.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ElemElement.java 2001/01/25 18:05:44 1.13
+++ ElemElement.java 2001/01/26 01:26:58 1.14
@@ -210,23 +210,24 @@
// make sure that if a prefix is specified on the attribute name, it is valid
int indexOfNSSep = elemName.indexOf(':');
- String ns = "";
+ String prefix = null;
+ String elemNameSpace = "";
if (indexOfNSSep >= 0)
{
- String nsprefix = elemName.substring(0, indexOfNSSep);
+ prefix = elemName.substring(0, indexOfNSSep);
// Catch the exception this may cause. We don't want to stop processing.
try
{
- ns = getNamespaceForPrefix(nsprefix);
+ elemNameSpace = getNamespaceForPrefix(prefix);
// Check if valid QName. Assuming that if the prefix is defined,
// it is valid.
if (indexOfNSSep + 1 == elemName.length()
||!isValidNCName(elemName.substring(indexOfNSSep + 1)))
{
- transformer.getMsgMgr().warn(
+ transformer.getMsgMgr().warn(this,
XSLTErrorResources.WG_ILLEGAL_ATTRIBUTE_NAME,
new Object[]{ elemName });
@@ -235,53 +236,55 @@
}
catch (Exception ex)
{
-
- // Could not resolve prefix
- ns = null;
-
- transformer.getMsgMgr().warn(
+ transformer.getMsgMgr().warn(this,
XSLTErrorResources.WG_COULD_NOT_RESOLVE_PREFIX,
- new Object[]{ nsprefix });
+ new Object[]{ prefix });
}
}
// Check if valid QName
else if (elemName.length() == 0 ||!isValidNCName(elemName))
{
- transformer.getMsgMgr().warn(
+ transformer.getMsgMgr().warn(this,
XSLTErrorResources.WG_ILLEGAL_ATTRIBUTE_NAME,
new Object[]{ elemName });
elemName = null;
}
-
- // Only do this if name is valid
- String elemNameSpace = "";
- String prefix = null;
- if (null != elemName && null != ns)
+ if (null != elemName)
{
if (null != m_namespace_avt)
{
elemNameSpace = m_namespace_avt.evaluate(xctxt, sourceNode, this);
- if (null != elemNameSpace && elemNameSpace.length() > 0)
+ if (null == elemNameSpace)
+ elemNameSpace = "";
+
+ if(null != prefix)
{
-
- // Get the prefix for that attribute in the result namespace.
- prefix = rhandler.getPrefix(elemNameSpace);
-
- // If we didn't find the prefix mapping, make up a prefix
- // and have it declared in the result tree.
- if (null == prefix)
- {
- prefix = rhandler.getNewUniqueNSPrefix();
- }
-
- // add the prefix to the attribute name.
- if(prefix.length() > 0)
- elemName = (prefix + ":" + QName.getLocalPart(elemName));
+ String nsPrefix = rhandler.getPrefix(elemNameSpace);
+
+ if (null == nsPrefix)
+ nsPrefix = "";
+
+// if(!nsPrefix.equals(prefix))
+// {
+// prefix="";
+// elemName = QName.getLocalPart(elemName);
+// }
}
+ if(null == prefix)
+ prefix = "";
+
+ if(prefix.length() > 0)
+ elemName = (prefix + ":" + QName.getLocalPart(elemName));
+ }
+ else if(null != prefix && null == elemNameSpace)
+ {
+ transformer.getMsgMgr().warn(this,
+ XSLTErrorResources.WG_COULD_NOT_RESOLVE_PREFIX,
+ new Object[]{ prefix });
}
// Add namespace declarations.
@@ -303,9 +306,9 @@
transformer.executeChildTemplates(this, sourceNode, mode);
// Now end the element if name was valid
- if (null != elemName && null != ns)
+ if (null != elemName)
{
- rhandler.endElement("", "", elemName);
+ rhandler.endElement(elemNameSpace, QName.getLocalPart(elemName), elemName);
unexecuteNSDecls(transformer);
}
}
1.9 +4 -1 xml-xalan/java/src/org/apache/xalan/templates/ElemMessage.java
Index: ElemMessage.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemMessage.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ElemMessage.java 2001/01/02 03:36:46 1.8
+++ ElemMessage.java 2001/01/26 01:26:58 1.9
@@ -161,6 +161,9 @@
String data = transformer.transformToString(this, sourceNode, mode);
- transformer.getMsgMgr().message(data, m_terminate);
+ transformer.getMsgMgr().message(this, data, m_terminate);
+
+ if(m_terminate)
+ transformer.getErrorListener().fatalError(new TransformerException("Stylesheet directed termination", this));
}
}
1.17 +1 -1 xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java
Index: ElemNumber.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- ElemNumber.java 2001/01/07 06:24:40 1.16
+++ ElemNumber.java 2001/01/26 01:26:58 1.17
@@ -992,7 +992,7 @@
//Locale.getDefault().getDisplayCountry());
if (null == locale)
{
- transformer.getMsgMgr().warn(null, contextNode,
+ transformer.getMsgMgr().warn(this, null, contextNode,
XSLTErrorResources.WG_LOCALE_NOT_FOUND,
new Object[]{ langValue }); //"Warning: Could not find locale for xml:lang="+langValue);
1.11 +1 -1 xml-xalan/java/src/org/apache/xalan/templates/ElemTemplate.java
Index: ElemTemplate.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTemplate.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ElemTemplate.java 2001/01/02 03:36:46 1.10
+++ ElemTemplate.java 2001/01/26 01:26:58 1.11
@@ -381,7 +381,7 @@
}
else // if(null == sourceNode)
{
- transformer.getMsgMgr().error(
+ transformer.getMsgMgr().error(this,
this, sourceNode,
XSLTErrorResources.ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES);
1.5 +1 -1 xml-xalan/java/src/org/apache/xalan/templates/XUnresolvedVariable.java
Index: XUnresolvedVariable.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/XUnresolvedVariable.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XUnresolvedVariable.java 2001/01/02 03:36:47 1.4
+++ XUnresolvedVariable.java 2001/01/26 01:26:59 1.5
@@ -149,7 +149,7 @@
if (!m_doneEval)
{
this.m_transformer.getMsgMgr().error
- (XSLTErrorResources.ER_REFERENCING_ITSELF,
+ (xctxt.getSAXLocator(), XSLTErrorResources.ER_REFERENCING_ITSELF,
new Object[]{((ElemVariable)this.object()).getName().getLocalName()});
}
VariableStack vars = xctxt.getVarStack();
1.8 +1 -1 xml-xalan/java/src/org/apache/xalan/transformer/ClonerToResultTree.java
Index: ClonerToResultTree.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/ClonerToResultTree.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ClonerToResultTree.java 2000/12/31 10:00:27 1.7
+++ ClonerToResultTree.java 2001/01/26 01:26:59 1.8
@@ -257,7 +257,7 @@
}
break;
default :
- m_transformer.getMsgMgr().error(XSLTErrorResources.ER_CANT_CREATE_ITEM,
+ m_transformer.getMsgMgr().error(null, XSLTErrorResources.ER_CANT_CREATE_ITEM,
new Object[]{ node.getNodeName() }); //"Can not create item in result tree: "+node.getNodeName());
}
}
1.9 +29 -31 xml-xalan/java/src/org/apache/xalan/transformer/MsgMgr.java
Index: MsgMgr.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/MsgMgr.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- MsgMgr.java 2001/01/02 03:36:51 1.8
+++ MsgMgr.java 2001/01/26 01:26:59 1.9
@@ -66,6 +66,7 @@
import javax.xml.transform.TransformerException;
import javax.xml.transform.ErrorListener;
import javax.xml.transform.dom.DOMLocator;
+import javax.xml.transform.SourceLocator;
/**
* This class will manage error messages, warning messages, and other types of
@@ -101,22 +102,19 @@
*
* @throws TransformerException
*/
- public void message(String msg, boolean terminate) throws TransformerException
+ public void message(SourceLocator srcLctr, String msg, boolean terminate) throws TransformerException
{
ErrorListener errHandler = m_transformer.getErrorListener();
if (null != errHandler)
{
- if (terminate)
- errHandler.fatalError(new TransformerException(msg));
- else
- errHandler.warning(new TransformerException(msg));
+ errHandler.warning(new TransformerException(msg));
}
else
{
if (terminate)
- throw new TransformerException(msg);
+ throw new TransformerException(msg, srcLctr);
else
System.out.println(msg);
}
@@ -132,9 +130,9 @@
*
* @throws TransformerException
*/
- public void warn(int msg) throws TransformerException
+ public void warn(SourceLocator srcLctr, int msg) throws TransformerException
{
- warn(null, null, msg, null);
+ warn(srcLctr, null, null, msg, null);
}
/**
@@ -148,9 +146,9 @@
*
* @throws TransformerException
*/
- public void warn(int msg, Object[] args) throws TransformerException
+ public void warn(SourceLocator srcLctr, int msg, Object[] args) throws TransformerException
{
- warn(null, null, msg, args);
+ warn(srcLctr, null, null, msg, args);
}
/**
@@ -166,10 +164,10 @@
*
* @throws TransformerException
*/
- public void warn(Node styleNode, Node sourceNode, int msg)
+ public void warn(SourceLocator srcLctr, Node styleNode, Node sourceNode, int msg)
throws TransformerException
{
- warn(styleNode, sourceNode, msg, null);
+ warn(srcLctr, styleNode, sourceNode, msg, null);
}
/**
@@ -185,7 +183,7 @@
*
* @throws TransformerException
*/
- public void warn(Node styleNode, Node sourceNode, int msg, Object args[])
+ public void warn(SourceLocator srcLctr, Node styleNode, Node sourceNode, int msg, Object args[])
throws TransformerException
{
@@ -193,7 +191,7 @@
ErrorListener errHandler = m_transformer.getErrorListener();
if (null != errHandler)
- errHandler.warning(new TransformerException(formattedMsg));
+ errHandler.warning(new TransformerException(formattedMsg, srcLctr));
else
System.out.println(formattedMsg);
}
@@ -209,7 +207,7 @@
*
* @throws TransformerException
*/
- public void error(String msg) throws TransformerException
+ public void error(SourceLocator srcLctr, String msg) throws TransformerException
{
// Locator locator = m_stylesheetLocatorStack.isEmpty()
@@ -219,9 +217,9 @@
ErrorListener errHandler = m_transformer.getErrorListener();
if (null != errHandler)
- errHandler.fatalError(new TransformerException(msg));
+ errHandler.fatalError(new TransformerException(msg, srcLctr));
else
- throw new TransformerException(msg);
+ throw new TransformerException(msg, srcLctr);
}
/**
@@ -235,9 +233,9 @@
*
* @throws TransformerException
*/
- public void error(int msg) throws TransformerException
+ public void error(SourceLocator srcLctr, int msg) throws TransformerException
{
- error(null, null, msg, null);
+ error(srcLctr, null, null, msg, null);
}
/**
@@ -252,9 +250,9 @@
*
* @throws TransformerException
*/
- public void error(int msg, Object[] args) throws TransformerException
+ public void error(SourceLocator srcLctr, int msg, Object[] args) throws TransformerException
{
- error(null, null, msg, args);
+ error(srcLctr, null, null, msg, args);
}
/**
@@ -269,9 +267,9 @@
*
* @throws TransformerException
*/
- public void error(int msg, Exception e) throws TransformerException
+ public void error(SourceLocator srcLctr, int msg, Exception e) throws TransformerException
{
- error(msg, null, e);
+ error(srcLctr, msg, null, e);
}
/**
@@ -287,7 +285,7 @@
*
* @throws TransformerException
*/
- public void error(int msg, Object args[], Exception e) throws TransformerException
+ public void error(SourceLocator srcLctr, int msg, Object args[], Exception e) throws TransformerException
{
//msg = (null == msg) ? XSLTErrorResources.ER_PROCESSOR_ERROR : msg;
@@ -300,9 +298,9 @@
ErrorListener errHandler = m_transformer.getErrorListener();
if (null != errHandler)
- errHandler.fatalError(new TransformerException(formattedMsg));
+ errHandler.fatalError(new TransformerException(formattedMsg, srcLctr));
else
- throw new TransformerException(formattedMsg);
+ throw new TransformerException(formattedMsg, srcLctr);
}
/**
@@ -318,10 +316,10 @@
*
* @throws TransformerException
*/
- public void error(Node styleNode, Node sourceNode, int msg)
+ public void error(SourceLocator srcLctr, Node styleNode, Node sourceNode, int msg)
throws TransformerException
{
- error(styleNode, sourceNode, msg, null);
+ error(srcLctr, styleNode, sourceNode, msg, null);
}
/**
@@ -338,7 +336,7 @@
*
* @throws TransformerException
*/
- public void error(Node styleNode, Node sourceNode, int msg, Object args[])
+ public void error(SourceLocator srcLctr, Node styleNode, Node sourceNode, int msg, Object args[])
throws TransformerException
{
@@ -351,8 +349,8 @@
ErrorListener errHandler = m_transformer.getErrorListener();
if (null != errHandler)
- errHandler.fatalError(new TransformerException(formattedMsg));
+ errHandler.fatalError(new TransformerException(formattedMsg, srcLctr));
else
- throw new TransformerException(formattedMsg);
+ throw new TransformerException(formattedMsg, srcLctr);
}
}
1.7 +1 -1 xml-xalan/java/src/org/apache/xalan/transformer/NodeSortKey.java
Index: NodeSortKey.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/NodeSortKey.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- NodeSortKey.java 2000/12/12 21:32:56 1.6
+++ NodeSortKey.java 2001/01/26 01:26:59 1.7
@@ -142,7 +142,7 @@
if (null == m_col)
{
- m_processor.getMsgMgr().warn(XSLTErrorResources.WG_CANNOT_FIND_COLLATOR,
+ m_processor.getMsgMgr().warn(null, XSLTErrorResources.WG_CANNOT_FIND_COLLATOR,
new Object[]{ langValue }); //"Could not find Collator for <sort xml:lang="+langValue);
m_col = Collator.getInstance();