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();