dbertoni    2003/09/18 17:12:50

  Modified:    c/src/xalanc/XSLT ElemEmpty.cpp ElemTemplateElement.cpp
                        ElemTemplateElement.hpp ElemTextLiteral.cpp
  Log:
  Fixed construction confusion and added URI for better error reporting.
  
  Revision  Changes    Path
  1.2       +5 -3      xml-xalan/c/src/xalanc/XSLT/ElemEmpty.cpp
  
  Index: ElemEmpty.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemEmpty.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ElemEmpty.cpp     29 Jun 2003 03:58:07 -0000      1.1
  +++ ElemEmpty.cpp     19 Sep 2003 00:12:50 -0000      1.2
  @@ -77,9 +77,10 @@
                        const XalanDOMString*                   elementName) :
        ElemTemplateElement(constructionContext,
                                                stylesheetTree,
  +                                             
StylesheetConstructionContext::ELEMNAME_UNDEFINED,
  +                                             XalanDOMString(),
                                                lineNumber,
  -                                             columnNumber,
  -                                             
StylesheetConstructionContext::ELEMNAME_UNDEFINED),
  +                                             columnNumber),
        m_elementName(elementName)
   {
   }
  @@ -87,10 +88,11 @@
   
   
   ElemEmpty::ElemEmpty(
  -                     StylesheetConstructionContext&  /* constructionContext 
*/,
  +                     StylesheetConstructionContext&  constructionContext,
                        Stylesheet&                                             
stylesheetTree,
                        const XalanDOMString*                   elementName) :
        ElemTemplateElement(
  +                     constructionContext,
                        stylesheetTree,
                        StylesheetConstructionContext::ELEMNAME_UNDEFINED),
        m_elementName(elementName)
  
  
  
  1.5       +6 -5      xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.cpp
  
  Index: ElemTemplateElement.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ElemTemplateElement.cpp   2 Aug 2003 01:07:48 -0000       1.4
  +++ ElemTemplateElement.cpp   19 Sep 2003 00:12:50 -0000      1.5
  @@ -148,10 +148,12 @@
   
   
   ElemTemplateElement::ElemTemplateElement(
  +                     StylesheetConstructionContext&  constructionContext,
                        Stylesheet&                                             
stylesheetTree,
  +                     int                                                     
        xslToken,
  +                     const XalanDOMString&                   baseURI,
                        int                                                     
        lineNumber,
  -                     int                                                     
        columnNumber,
  -                     int                                                     
        xslToken) :
  +                     int                                                     
        columnNumber) :
        PrefixResolver(),
        m_stylesheet(stylesheetTree),
        m_namespacesHandler(),
  @@ -162,7 +164,7 @@
        m_nextSibling(0),
        m_previousSibling(0),
        m_firstChild(0),
  -     m_baseIndentifier(s_emptyString),
  +     m_baseIndentifier(constructionContext.getPooledString(baseURI)),
        m_locatorProxy(*this),
        m_flags(eCanGenerateAttributes)
   {
  @@ -580,8 +582,7 @@
        assert(newChild->getXSLToken() != 
StylesheetConstructionContext::ELEMNAME_TEXT);
        assert(newChild->getXSLToken() != 
StylesheetConstructionContext::ELEMNAME_UNDEFINED);
   
  -     if (newChild->isWhitespace() == false &&
  -             childTypeAllowed(newChild->getXSLToken()) == false)
  +     if (childTypeAllowed(newChild->getXSLToken()) == false)
        {
                throw 
XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
        }
  
  
  
  1.3       +4 -0      xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.hpp
  
  Index: ElemTemplateElement.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ElemTemplateElement.hpp   15 Jul 2003 01:04:54 -0000      1.2
  +++ ElemTemplateElement.hpp   19 Sep 2003 00:12:50 -0000      1.3
  @@ -131,15 +131,19 @@
         * Special constructor used by dummy elements which do not exist in the
         * final stylesheet.
         * 
  +      * @param constructionContext  context when object constructed
         * @param stylesheetTree           owning stylesheet
  +      * @param baseURI              The base URI of the XSLT file where the 
element occurs.
         * @param lineNumber               line in the XSLT file where the 
element occurs
         * @param columnNumber             column index in the XSLT file where 
the
         *                                                         element 
occurs
         * @param xslToken                         an integer representing the 
type of instance.
         */
        ElemTemplateElement(
  +                     StylesheetConstructionContext&  constructionContext,
                        Stylesheet&                                     
stylesheetTree,
                        int                                                     
xslToken,
  +                     const XalanDOMString&                   baseURI = 
XalanDOMString(),
                        int                                                     
lineNumber = XalanLocator::getUnknownValue(),
                        int                                                     
columnNumber = XalanLocator::getUnknownValue());
   
  
  
  
  1.2       +5 -2      xml-xalan/c/src/xalanc/XSLT/ElemTextLiteral.cpp
  
  Index: ElemTextLiteral.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTextLiteral.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ElemTextLiteral.cpp       29 Jun 2003 03:58:07 -0000      1.1
  +++ ElemTextLiteral.cpp       19 Sep 2003 00:12:50 -0000      1.2
  @@ -67,6 +67,7 @@
   
   
   #include "Constants.hpp"
  +#include "Stylesheet.hpp"
   #include "StylesheetConstructionContext.hpp"
   #include "StylesheetExecutionContext.hpp"
   
  @@ -87,10 +88,12 @@
                        bool                                                    
fPreserveSpace,
               bool                                                     
fDisableOutputEscaping) :
        ElemTemplateElement(
  +             constructionContext,
                stylesheetTree,
  +             StylesheetConstructionContext::ELEMNAME_TEXT_LITERAL_RESULT,
  +             stylesheetTree.getBaseIdentifier(),
                lineNumber,
  -             columnNumber,
  -             StylesheetConstructionContext::ELEMNAME_TEXT_LITERAL_RESULT),
  +             columnNumber),
        m_isWhitespace(isXMLWhitespace(ch, start, length)),
        // Always null-terminate our buffer, since we may need it that way.
        m_ch(constructionContext.allocateXalanDOMCharVector(ch + start, length, 
true)),
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to