dbertoni    2004/03/12 16:44:56

  Modified:    c/src/xalanc/TestXSLT process.cpp
               c/src/xalanc/XSLT StylesheetExecutionContext.hpp
                        StylesheetExecutionContextDefault.cpp
                        StylesheetExecutionContextDefault.hpp
               c/src/xalanc/XalanSourceTree
                        XalanSourceTreeParserLiaison.cpp
                        XalanSourceTreeParserLiaison.hpp
               c/src/xalanc/XalanTransformer
                        XalanDefaultDocumentBuilder.cpp
                        XercesDOMWrapperParsedSource.cpp
                        XercesDOMWrapperParsedSource.hpp
               c/src/xalanc/XercesParserLiaison XercesDOMException.cpp
                        XercesDOMException.hpp XercesParserLiaison.cpp
                        XercesParserLiaison.hpp
  Log:
  Changes necessary for removal of Xerces-C's deprecated DOM.
  
  Revision  Changes    Path
  1.9       +17 -9     xml-xalan/c/src/xalanc/TestXSLT/process.cpp
  
  Index: process.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/TestXSLT/process.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- process.cpp       26 Feb 2004 22:35:18 -0000      1.8
  +++ process.cpp       13 Mar 2004 00:44:55 -0000      1.9
  @@ -86,7 +86,6 @@
   
   
   
  -#include <xalanc/XMLSupport/FormatterToDOM.hpp>
   #include <xalanc/XMLSupport/FormatterToHTML.hpp>
   #include <xalanc/XMLSupport/FormatterToNull.hpp>
   #include <xalanc/XMLSupport/FormatterToText.hpp>
  @@ -95,6 +94,10 @@
   
   
   
  +#include <xalanc/XercesParserLiaison/FormatterToXercesDOM.hpp>
  +
  +
  +
   #include <xalanc/XalanSourceTree/FormatterToSourceTree.hpp>
   #include <xalanc/XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
   #include <xalanc/XalanSourceTree/XalanSourceTreeDocument.hpp>
  @@ -565,7 +568,7 @@
                        int                                                     
        indentAmount,
                        const XalanDOMString&                   mimeEncoding,
                        const StylesheetRoot*                   stylesheet,
  -                     XMLParserLiaison&                               
parserLiaison,
  +                     XercesParserLiaison&                parserLiaison,
                        XalanSourceTreeParserLiaison&   sourceTreeParserLiaison,
                        const PrefixResolver&                   prefixResolver,
                        const XalanDocument*&                   
theResultDocument)
  @@ -673,18 +676,23 @@
                }
                else
                {
  -                     XalanDocument* const    theDocument =
  +                     DOMDocument_Type* const     theDocument =
                                parserLiaison.createDOMFactory();
                        assert(theDocument != 0);
   
  -                     theResultDocument = theDocument;
  -
  -                     FormatterToDOM* const   fToDOM =
  -                             new FormatterToDOM(theDocument, 0);
  +                     FormatterToXercesDOM* const     fToDOM =
  +                             new FormatterToXercesDOM(theDocument, 0);
   
                        fToDOM->setPrefixResolver(&prefixResolver);
   
                        formatter = fToDOM;
  +
  +            theResultDocument =
  +                parserLiaison.createDocument(
  +                    theDocument,
  +                    false,
  +                    false,
  +                    false);
                }
        }
   
  @@ -929,7 +937,7 @@
                                xmlParserLiaison.getIndent(),
                                mimeEncoding,
                                stylesheet,
  -                             xmlParserLiaison,
  +                             theXercesParserLiaison,
                                theXalanSourceTreeParserLiaison,
                                processor,
                                theResultDocument));
  @@ -1033,7 +1041,7 @@
                                                xmlParserLiaison.getIndent(),
                                                mimeEncoding,
                                                stylesheet,
  -                                             xmlParserLiaison,
  +                                             theXercesParserLiaison,
                                                theXalanSourceTreeParserLiaison,
                                                processor,
                                                theResultDocument));
  
  
  
  1.16      +15 -10    
xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContext.hpp
  
  Index: StylesheetExecutionContext.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContext.hpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- StylesheetExecutionContext.hpp    26 Feb 2004 22:58:58 -0000      1.15
  +++ StylesheetExecutionContext.hpp    13 Mar 2004 00:44:55 -0000      1.16
  @@ -287,14 +287,6 @@
        setRootDocument(XalanNode*      theDocument) = 0;
   
        /**
  -      * Create a new empty document.
  -      * 
  -      * @return new document
  -      */
  -     virtual XalanDocument*
  -     createDocument() const = 0;
  -
  -     /**
         * Set root stylesheet for stylesheet.
         * 
         * @param theStylesheet root stylesheet
  @@ -1901,9 +1893,22 @@
                        const XalanDOMString&   theURI,
                        XalanDocument*                  theDocument) = 0;
   
  +     virtual void
  +    formatNumber(
  +                     double                                  number,
  +                     const XalanDOMString&   pattern,
  +                     XalanDOMString&                 theResult,
  +                     const XalanNode*                context = 0,
  +                     const LocatorType*              locator = 0) = 0;
   
  -     virtual const XalanDecimalFormatSymbols*
  -     getDecimalFormatSymbols(const XalanQName&       qname) = 0;
  +     virtual void
  +    formatNumber(
  +                     double                                  number,
  +                     const XalanDOMString&   pattern,
  +                     const XalanDOMString&   dfsName,
  +                     XalanDOMString&                 theResult,
  +                     const XalanNode*                context = 0,
  +                     const LocatorType*              locator = 0) = 0;
   
        // These interfaces are inherited from ExecutionContext...
   
  
  
  
  1.22      +2 -11     
xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.cpp
  
  Index: StylesheetExecutionContextDefault.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.cpp,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- StylesheetExecutionContextDefault.cpp     10 Mar 2004 21:15:47 -0000      
1.21
  +++ StylesheetExecutionContextDefault.cpp     13 Mar 2004 00:44:55 -0000      
1.22
  @@ -232,16 +232,6 @@
   
   
   
  -XalanDocument*
  -StylesheetExecutionContextDefault::createDocument() const
  -{
  -     assert(m_xsltProcessor != 0);
  -
  -     return m_xsltProcessor->getXMLParserLiaison().createDocument();
  -}
  -
  -
  -
   void
   StylesheetExecutionContextDefault::setStylesheetRoot(const StylesheetRoot*   
theStylesheet)
   {
  @@ -1641,7 +1631,8 @@
                warn(
                                
XalanMessageLoader::getMessage(XalanMessages::Decimal_formatElementNotFound_1Param,"format-number()"),
                                context,
  -                             locator);       
  +                             locator);
  +
                theDFS = getDecimalFormatSymbols(theEmptyQName);
                
        }
  
  
  
  1.17      +17 -20    
xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.hpp
  
  Index: StylesheetExecutionContextDefault.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.hpp,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- StylesheetExecutionContextDefault.hpp     10 Mar 2004 21:15:47 -0000      
1.16
  +++ StylesheetExecutionContextDefault.hpp     13 Mar 2004 00:44:55 -0000      
1.17
  @@ -263,9 +263,6 @@
        virtual void
        setRootDocument(XalanNode*      theDocument);
   
  -     virtual XalanDocument*
  -     createDocument() const;
  -
        virtual void
        setStylesheetRoot(const StylesheetRoot*         theStylesheet);
   
  @@ -714,25 +711,25 @@
                        const XalanDecimalFormatSymbols*        theDFS,
                        XalanDOMString&                                         
theResult,
                        const XalanNode*                                        
context = 0,
  -                     const LocatorType*                                      
locator = 0) const =0;
  +                     const LocatorType*                                      
locator = 0) const = 0;
        };
   
  -     void 
  +     virtual void
        formatNumber(
  -                     double                                                  
        number,
  -                     const XalanDOMString&                           pattern,
  -                     XalanDOMString&                                         
theResult,
  -                     const XalanNode*                                        
context = 0,
  -                     const LocatorType*                                      
locator = 0);
  +                     double                                  number,
  +                     const XalanDOMString&   pattern,
  +                     XalanDOMString&                 theResult,
  +                     const XalanNode*                context = 0,
  +                     const LocatorType*              locator = 0);
   
  -     void 
  +     virtual void
        formatNumber(
  -                     double                                                  
        number,
  -                     const XalanDOMString&                           pattern,
  -                     const XalanDOMString&                           dfsName,
  -                     XalanDOMString&                                         
theResult,
  -                     const XalanNode*                                        
context = 0,
  -                     const LocatorType*                                      
locator = 0);
  +                     double                                  number,
  +                     const XalanDOMString&   pattern,
  +                     const XalanDOMString&   dfsName,
  +                     XalanDOMString&                 theResult,
  +                     const XalanNode*                context = 0,
  +                     const LocatorType*              locator = 0);
   
   
        const FormatNumberFunctor * 
  @@ -978,10 +975,10 @@
        virtual bool
        returnFormatterToText(FormatterToText*  theFormatter);
   
  -     virtual const XalanDecimalFormatSymbols*
  -     getDecimalFormatSymbols(const XalanQName&       qname);
  -
   private:
  +
  +     const XalanDecimalFormatSymbols*
  +     getDecimalFormatSymbols(const XalanQName&       qname);
   
        /**
         * Given a context, create the params for a template
  
  
  
  1.5       +16 -16    
xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.cpp
  
  Index: XalanSourceTreeParserLiaison.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XalanSourceTreeParserLiaison.cpp  26 Feb 2004 23:03:38 -0000      1.4
  +++ XalanSourceTreeParserLiaison.cpp  13 Mar 2004 00:44:55 -0000      1.5
  @@ -545,22 +545,6 @@
   
   
   
  -XalanDocument*
  -XalanSourceTreeParserLiaison::createDocument()
  -{
  -     return createXalanSourceTreeDocument();
  -}
  -
  -
  -
  -XalanDocument*
  -XalanSourceTreeParserLiaison::createDOMFactory()
  -{
  -     return m_xercesParserLiaison.createDocument();
  -}
  -
  -
  -
   void
   XalanSourceTreeParserLiaison::destroyDocument(XalanDocument* theDocument)
   {
  @@ -635,6 +619,22 @@
        theReader->setLexicalHandler(theLexicalHandler);
   
        theReader->parse(theInputSource);
  +}
  +
  +
  +
  +DOMDocument_Type*
  +XalanSourceTreeParserLiaison::createDOMFactory()
  +{
  +     return m_xercesParserLiaison.createDOMFactory();
  +}
  +
  +
  +
  +void
  +XalanSourceTreeParserLiaison::destroyDocument(DOMDocument_Type*     
theDocument)
  +{
  +     m_xercesParserLiaison.destroyDocument(theDocument);
   }
   
   
  
  
  
  1.6       +6 -6      
xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.hpp
  
  Index: XalanSourceTreeParserLiaison.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XalanSourceTreeParserLiaison.hpp  26 Feb 2004 23:03:38 -0000      1.5
  +++ XalanSourceTreeParserLiaison.hpp  13 Mar 2004 00:44:55 -0000      1.6
  @@ -122,12 +122,6 @@
                        DocumentHandlerType&    handler,
                        const XalanDOMString&   identifier = XalanDOMString());
   
  -     virtual XalanDocument*
  -     createDocument();
  -
  -     virtual XalanDocument*
  -     createDOMFactory();
  -
        virtual void
        destroyDocument(XalanDocument*  theDocument);
   
  @@ -171,6 +165,12 @@
                        DTDHandlerType*                 theDTDHandler = 0,
                        LexicalHandlerType*             theLexicalHandler = 0,
                        const XalanDOMString&   theIdentifier = 
XalanDOMString());
  +
  +     virtual DOMDocument_Type*
  +     createDOMFactory();
  +
  +     virtual void
  +     destroyDocument(DOMDocument_Type*   theDocument);
   
        /** Get the 'include ignorable whitespace' flag.
          *
  
  
  
  1.5       +1 -1      
xml-xalan/c/src/xalanc/XalanTransformer/XalanDefaultDocumentBuilder.cpp
  
  Index: XalanDefaultDocumentBuilder.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XalanTransformer/XalanDefaultDocumentBuilder.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XalanDefaultDocumentBuilder.cpp   26 Feb 2004 23:07:13 -0000      1.4
  +++ XalanDefaultDocumentBuilder.cpp   13 Mar 2004 00:44:55 -0000      1.5
  @@ -33,7 +33,7 @@
   XalanDefaultDocumentBuilder::XalanDefaultDocumentBuilder(const 
XalanDOMString&       theURI) :
        m_domSupport(),
        m_parserLiaison(),
  -     
m_contentHandler(m_parserLiaison.mapDocument(m_parserLiaison.createDocument())),
  +     m_contentHandler(m_parserLiaison.createXalanSourceTreeDocument()),
        m_uri(theURI)
   {
        m_domSupport.setParserLiaison(&m_parserLiaison);
  
  
  
  1.6       +2 -0      
xml-xalan/c/src/xalanc/XalanTransformer/XercesDOMWrapperParsedSource.cpp
  
  Index: XercesDOMWrapperParsedSource.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XalanTransformer/XercesDOMWrapperParsedSource.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesDOMWrapperParsedSource.cpp  26 Feb 2004 23:07:13 -0000      1.5
  +++ XercesDOMWrapperParsedSource.cpp  13 Mar 2004 00:44:56 -0000      1.6
  @@ -38,6 +38,7 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   XercesDOMWrapperParsedSource::XercesDOMWrapperParsedSource(
                        const DOM_Document_Type&        theDocument,
                        XercesParserLiaison&            theParserLiaison,
  @@ -51,6 +52,7 @@
   {
        assert(m_parsedSource != 0);
   }
  +#endif
   
   
   
  
  
  
  1.5       +2 -0      
xml-xalan/c/src/xalanc/XalanTransformer/XercesDOMWrapperParsedSource.hpp
  
  Index: XercesDOMWrapperParsedSource.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XalanTransformer/XercesDOMWrapperParsedSource.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesDOMWrapperParsedSource.hpp  26 Feb 2004 23:07:13 -0000      1.4
  +++ XercesDOMWrapperParsedSource.hpp  13 Mar 2004 00:44:56 -0000      1.5
  @@ -58,6 +58,7 @@
   {
   public:
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
        /**
         * Constructor
         *
  @@ -73,6 +74,7 @@
                        XercesParserLiaison&            theParserLiaison,
                        XercesDOMSupport&                       theDOMSupport,
                        const XalanDOMString&           theURI = 
XalanDOMString());
  +#endif
   
        /**
         * Constructor
  
  
  
  1.7       +2 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMException.cpp
  
  Index: XercesDOMException.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMException.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesDOMException.cpp    26 Feb 2004 23:07:14 -0000      1.6
  +++ XercesDOMException.cpp    13 Mar 2004 00:44:56 -0000      1.7
  @@ -115,10 +115,12 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   XercesDOMException::XercesDOMException(const DOM_DOMExceptionType&   
theException) :
        XalanDOMException(translateErrorCode(theException))
   {
   }
  +#endif
   
   
   
  
  
  
  1.7       +5 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMException.hpp
  
  Index: XercesDOMException.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMException.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesDOMException.hpp    26 Feb 2004 23:07:14 -0000      1.6
  +++ XercesDOMException.hpp    13 Mar 2004 00:44:56 -0000      1.7
  @@ -35,7 +35,9 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   #include <xalanc/XercesParserLiaison/Deprecated/XercesBridgeTypes.hpp>
  +#endif
   #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp>
   
   
  @@ -59,8 +61,9 @@
        explicit
        XercesDOMException(ExceptionCode        code = UNKNOWN_ERR);
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
        /**
  -       * This API is deprecated.
  +       * This constructor is deprecated.
          * 
          * Constructor which takes a Xerces exception and
          * translates it into a XercesDOMException.
  @@ -69,6 +72,7 @@
          * @param code The Xerces DOM_DOMException instance.
          */
        XercesDOMException(const DOM_DOMExceptionType&  theException);
  +#endif
   
   #if XERCES_VERSION_MAJOR >= 2
        /**
  
  
  
  1.8       +46 -24    
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp
  
  Index: XercesParserLiaison.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XercesParserLiaison.cpp   26 Feb 2004 23:07:14 -0000      1.7
  +++ XercesParserLiaison.cpp   13 Mar 2004 00:44:56 -0000      1.8
  @@ -25,6 +25,7 @@
   
   
   
  +#include <xercesc/dom/DOMImplementation.hpp>
   #include <xercesc/framework/URLInputSource.hpp>
   #if XERCES_VERSION_MAJOR >= 2
   #include <xercesc/parsers/XercesDOMParser.hpp>
  @@ -51,7 +52,9 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   #include <xalanc/XercesParserLiaison/Deprecated/XercesDocumentBridge.hpp>
  +#endif
   #include <xalanc/XercesParserLiaison/XercesDocumentWrapper.hpp>
   #include <xalanc/XercesParserLiaison/XercesDOMSupport.hpp>
   
  @@ -117,8 +120,8 @@
                i != m_documentMap.end();
                ++i)
        {
  -             if ((*i).second.m_isDeprecated == false &&
  -                     (*i).second.m_isOwned == true)
  +             if ((*i).second.isDeprecated() == false &&
  +                     (*i).second.isOwned() == true)
                {
   #if defined(XALAN_CANNOT_DELETE_CONST)
                        delete 
(DOMDocument_Type*)(*i).second.m_wrapper->getXercesDocument();
  @@ -233,25 +236,6 @@
   
   
   
  -XalanDocument*
  -XercesParserLiaison::createDocument()
  -{
  -     const DOM_Document_Type theXercesDocument =
  -             DOM_Document_Type::createDocument();
  -
  -     return createDocument(theXercesDocument, false, false);
  -}
  -
  -
  -
  -XalanDocument*
  -XercesParserLiaison::createDOMFactory()
  -{
  -     return createDocument();
  -}
  -
  -
  -
   void
   XercesParserLiaison::destroyDocument(XalanDocument*  theDocument)
   {
  @@ -307,6 +291,36 @@
   }
   
   
  +DOMDocument_Type*
  +XercesParserLiaison::createDOMFactory()
  +{
  +    DOMDocument_Type* const     theXercesDocument =
  +        DOMImplementationType::getImplementation()->createDocument();
  +
  +     createDocument(theXercesDocument, false, false);
  +     
  +    return theXercesDocument;
  +}
  +
  +
  +
  +void
  +XercesParserLiaison::destroyDocument(DOMDocument_Type*  theDocument)
  +{
  +     // Delete any live documents...
  +     for(DocumentMapType::iterator i = m_documentMap.begin();
  +             i != m_documentMap.end();
  +             ++i)
  +     {
  +             if ((*i).second.isDeprecated() == false &&
  +                     (*i).second.m_wrapper->getXercesDocument() == 
theDocument)
  +             {
  +            destroyDocument((XalanDocument*)(*i).first);
  +             }
  +     }
  +}
  +
  +
   
   bool
   XercesParserLiaison::getIncludeIgnorableWhitespace() const
  @@ -434,6 +448,7 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   XalanDocument*
   XercesParserLiaison::createDocument(
                        const DOM_Document_Type&        theXercesDocument,
  @@ -442,6 +457,7 @@
   {
        return doCreateDocument(theXercesDocument, threadSafe, buildBridge);
   }
  +#endif
   
   
   
  @@ -459,6 +475,7 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   XercesDocumentBridge*
   XercesParserLiaison::mapDocument(const XalanDocument*        theDocument) 
const
   {
  @@ -467,6 +484,7 @@
   
        return i != m_documentMap.end() ? (*i).second.m_isDeprecated == true ? 
(*i).second.m_bridge : 0 : 0;
   }
  +#endif
   
   
   
  @@ -476,19 +494,21 @@
        const DocumentMapType::const_iterator   i =
                m_documentMap.find(theDocument);
   
  -     return i != m_documentMap.end() ? (*i).second.m_isDeprecated == false ? 
(*i).second.m_wrapper : 0 : 0;
  +     return i != m_documentMap.end() ? (*i).second.isDeprecated() == false ? 
(*i).second.m_wrapper : 0 : 0;
   }
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   DOM_Document_Type
   XercesParserLiaison::mapXercesDocument(const XalanDocument*  theDocument) 
const
   {
        const DocumentMapType::const_iterator   i =
                m_documentMap.find(theDocument);
   
  -     return i != m_documentMap.end() ? (*i).second.m_isDeprecated == true ? 
(*i).second.m_bridge->getXercesDocument() : DOM_Document_Type() : 
DOM_Document_Type();
  +     return i != m_documentMap.end() ? (*i).second.isDeprecated() == true ? 
(*i).second.m_bridge->getXercesDocument() : DOM_Document_Type() : 
DOM_Document_Type();
   }
  +#endif
   
   
   
  @@ -498,7 +518,7 @@
        const DocumentMapType::const_iterator   i =
                m_documentMap.find(theDocument);
   
  -     return i != m_documentMap.end() ? (*i).second.m_isDeprecated == false ? 
(*i).second.m_wrapper->getXercesDocument() : 0 : 0;
  +     return i != m_documentMap.end() ? (*i).second.isDeprecated() == false ? 
(*i).second.m_wrapper->getXercesDocument() : 0 : 0;
   }
   
   
  @@ -683,6 +703,7 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   XercesDocumentBridge*
   XercesParserLiaison::doCreateDocument(
                        const DOM_Document_Type&        theXercesDocument,
  @@ -696,6 +717,7 @@
   
        return theNewDocument;
   }
  +#endif
   
   
   
  
  
  
  1.7       +71 -13    
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.hpp
  
  Index: XercesParserLiaison.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesParserLiaison.hpp   26 Feb 2004 23:07:14 -0000      1.6
  +++ XercesParserLiaison.hpp   13 Mar 2004 00:44:56 -0000      1.7
  @@ -37,7 +37,9 @@
   
   
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   #include <xalanc/XercesParserLiaison/Deprecated/XercesBridgeTypes.hpp>
  +#endif
   #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp>
   
   
  @@ -55,11 +57,12 @@
   
   
   
  -class DOMSupport;
   class XercesDOMSupport;
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
   class XercesDocumentBridge;
  +#endif
   class XercesDocumentWrapper;
  -class XSLProcessor;
  +
   
   typedef XERCES_CPP_NAMESPACE_QUALIFIER SAXParseException     
SAXParseExceptionType;
   
  @@ -111,14 +114,6 @@
                        DocumentHandlerType&    handler,
                        const XalanDOMString&   identifier = XalanDOMString());
   
  -     // Create a non-thread safe document, with no synchronization and no 
bridge...
  -     virtual XalanDocument*
  -     createDocument();
  -
  -     // Create a non-thread safe document, with no synchronization and no 
bridge...
  -     virtual XalanDocument*
  -     createDOMFactory();
  -
        virtual void
        destroyDocument(XalanDocument*  theDocument);
   
  @@ -146,6 +141,26 @@
   
        // These interfaces are new to XercesParserLiaison...
   
  +     /**
  +       * Create an instance of the Xerces default document that
  +       * is suitable as a raw document.  The new document instance
  +      * is owned by this instance and will be destroyed when this
  +      * instance goes out of scope, or by an explicit call to
  +      * destroyDocument()
  +       *
  +       * @return a pointer to the new instance
  +       */
  +     virtual DOMDocument_Type*
  +     createDOMFactory();
  +
  +     /**
  +       * Destroy an instance created by a call to createDOMFactory().
  +       *
  +       * @theDocument a pointer to the instance to be destroyed
  +       */
  +     virtual void
  +     destroyDocument(DOMDocument_Type*   theDocument);
  +
        /** Get the 'include ignorable whitespace' flag.
          *
          * This method returns the state of the parser's include ignorable
  @@ -297,6 +312,7 @@
        virtual void
        setExternalNoNamespaceSchemaLocation(const XalanDOMChar*        
location);
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
        /**
         * This API is deprecated.
         *
  @@ -334,6 +350,7 @@
                        const DOM_Document_Type&        theXercesDocument,
                        bool                                            
threadSafe,
                        bool                                            
buildBridge);
  +#endif
   
        /**
         * Create a XalanDocument proxy for an existing Xerces document.
  @@ -357,7 +374,7 @@
         * liaison is destroyed.
         *
         * @param theXercesDocument The Xerces document.
  -      * @param threadSafe If true, read access to the tree will be 
thread-safe (implies buildBridge == true).
  +      * @param threadSafe If true, read access to the tree will be 
thread-safe (implies buildWrapper == true).
         * @param buildWrapper If true, the entire wrapper structure is built.
         * @param buildMaps If true, the map of Xerces to Xalan nodes is always 
built.
         * @return a pointer to a new XalanDocument-derived instance.
  @@ -369,6 +386,7 @@
                        bool                                            
buildWrapper,
                        bool                                            
buildMaps = false);
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
        /**
         * This API is deprecated.
         *
  @@ -383,6 +401,7 @@
         */
        XercesDocumentBridge*
        mapDocument(const XalanDocument*        theDocument) const;
  +#endif
   
        /**
         * Map a pointer to a XalanDocument instance to its implementation
  @@ -396,6 +415,7 @@
        XercesDocumentWrapper*
        mapDocumentToWrapper(const XalanDocument*       theDocument) const;
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
        /** 
         * This API is deprecated.
         *
  @@ -410,6 +430,7 @@
         */
        DOM_Document_Type
        mapXercesDocument(const XalanDocument*  theDocument) const;
  +#endif
   
        /** 
         * Map a pointer to a XalanDocument instance to its corresponding
  @@ -439,9 +460,31 @@
   
        struct DocumentEntry
        {
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
                bool    m_isDeprecated;
  -             bool    m_isOwned;
   
  +        bool
  +        isDeprecated() const
  +        {
  +            return m_isDeprecated;
  +        }
  +#else
  +        bool
  +        isDeprecated() const
  +        {
  +            return false;
  +        }
  +#endif
  +
  +        bool m_isOwned;
  +
  +        bool
  +        isOwned() const
  +        {
  +            return m_isOwned;
  +        }
  +
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
                union
                {
                        XercesDocumentBridge*   m_bridge;
  @@ -460,7 +503,7 @@
                        return *this;
                }
   
  -             DocumentEntry&
  +        DocumentEntry&
                operator=(XercesDocumentWrapper*        theWrapper)
                {
                        m_isDeprecated = false;
  @@ -471,6 +514,19 @@
   
                        return *this;
                }
  +#else
  +        XercesDocumentWrapper*  m_wrapper;
  +
  +        DocumentEntry&
  +             operator=(XercesDocumentWrapper*        theWrapper)
  +             {
  +                     m_wrapper = theWrapper;
  +
  +                     m_isOwned = true;
  +
  +                     return *this;
  +             }
  +#endif
        };
   
   #if defined(XALAN_NO_STD_NAMESPACE)
  @@ -639,6 +695,7 @@
        virtual SAXParserType*
        CreateSAXParser();
   
  +#if defined(XALAN_BUILD_DEPRECATED_DOM_BRIDGE)
        /**
         * Create a XalanDocument proxy for an existing Xerces document.
         *
  @@ -654,6 +711,7 @@
                        const DOM_Document_Type&        theXercesDocument,
                        bool                                            
threadSafe,
                        bool                                            
buildBridge);
  +#endif
   
        /**
         * Create a XalanDocument proxy for an existing Xerces document.
  
  
  

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

Reply via email to