[ooo-build-commit] patches/dev300

Thorsten Behrens thorsten at kemper.freedesktop.org
Wed Sep 9 13:07:21 PDT 2009


 patches/dev300/apply                             |   12 
 patches/dev300/sd-ooo320-backports.diff          |   10 
 patches/dev300/svtools-transferable-fix.diff     |  524 ------
 patches/dev300/svx-ooo320-backports.diff         |   36 
 patches/dev300/unoxml-fast-sax-serializable.diff | 1722 -----------------------
 5 files changed, 2304 deletions(-)

New commits:
commit 7ba6315ca64fed1ca6d8339b28b03ecf770e0b30
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Thu Sep 10 15:30:14 2009 +0200

    Removed patches that are ~upstream
    
    * patches/dev300/apply: removed below patches
    * patches/dev300/sd-ooo320-backports.diff: removed
    * patches/dev300/svtools-transferable-fix.diff: removed
    * patches/dev300/svx-ooo320-backports.diff: not seen upstream, but
      armin is landing a big text rework cws into 3.2
    * patches/dev300/unoxml-fast-sax-serializable.diff: removed

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 51c0890..cc39d5c 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2951,14 +2951,6 @@ base64.diff, i#100620, hmth
 # gtk quickstarter crashes on disable/exit
 sfx2-qstart-nocrashhack.diff, i#101245, pmladek
 
-# backports from DEV300 
-# Disabled because it caused bug n#497708
-#svtools-transferable-fix.diff, thorsten
-
-# Disabled because it caused bug n#497708
-#sd-ooo320-backports.diff, thorsten
-svx-ooo320-backports.diff, thorsten
-
 # Fix from Andre, allows to step back one animation effect
 slideshow-effect-rewind.diff, i#48179, thorsten
 # correctly set table row height during ppt import
@@ -3086,10 +3078,6 @@ odf-converter-ignore-writerfilter.diff, n#348471, n#502173, jholesov
 # FIXME: 2009-08-17: These don't apply either. Can't find file to patch etc. --tml
 # xlsx-export-skip-auto-format.diff, n#497560, janneke
 
-# the smart art import work
-# FIXME: 2009-09-07: Seems to be upstream in dev300-m57? --tml
-# unoxml-fast-sax-serializable.diff, thorsten
-
 # FIXME: similar fix already in dev300_m50
 # partial support for two template types
 # it is needed to process the new XFastSAXSerializable.idl
diff --git a/patches/dev300/sd-ooo320-backports.diff b/patches/dev300/sd-ooo320-backports.diff
deleted file mode 100644
index bd84bcc..0000000
--- a/patches/dev300/sd-ooo320-backports.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- sd/source/ui/app/sdxfer.cxx	2009-04-02 12:45:51.000000000 +0200
-+++ sd/source/ui/app/sdxfer.cxx	2009-03-25 18:09:05.000000000 +0100
-@@ -729,6 +729,7 @@
- {
- 	delete mpObjDesc;
- 	mpObjDesc = new TransferableObjectDescriptor( rObjDesc );
-+    PrepareOLE( rObjDesc );
- }
- 
- // -----------------------------------------------------------------------------
diff --git a/patches/dev300/svtools-transferable-fix.diff b/patches/dev300/svtools-transferable-fix.diff
deleted file mode 100644
index d7ed067..0000000
--- a/patches/dev300/svtools-transferable-fix.diff
+++ /dev/null
@@ -1,524 +0,0 @@
---- svtools/inc/svtools/transfer.hxx	2009-04-02 13:06:22.000000000 +0200
-+++ svtools/inc/svtools/transfer.hxx	2009-03-25 18:35:22.000000000 +0100
-@@ -204,8 +204,8 @@
- 	mutable ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard >	mxClipboard;
- 	::com::sun::star::uno::Reference< ::com::sun::star::frame::XTerminateListener >				        mxTerminateListener;
- 	DataFlavorExVector*																			        mpFormats;
-+    TransferableObjectDescriptor*                                                                       mpObjDesc;
- 	void*																						        mpDummy1;
--	void*																						        mpDummy2;
- 
- protected:
- 	inline const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard >&
-@@ -288,6 +288,8 @@
- 
- 					    TransferableHelper();
- 
-+    void                PrepareOLE( const TransferableObjectDescriptor& rObjDesc );
-+
- 	void			    CopyToClipboard( Window *pWindow ) const;
- 	void			    CopyToSelection( Window *pWindow ) const;
- 	void			    StartDrag( Window* pWindow, sal_Int8 nDragSourceActions,
-@@ -319,7 +321,7 @@
- 	::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >			mxTransfer;
- 	::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard >	mxClipboard;
- 	DataFlavorExVector*																			mpFormats;
--	void*                                                                                       mpDummy2;
-+    TransferableObjectDescriptor*                                                               mpObjDesc;
- 	TransferableDataHelper_Impl*                                                                mpImpl;
- 	void*																						mpDummy4;
- 
-@@ -581,7 +583,7 @@
- 	void                CopyAnyData( ULONG nFormatId, const sal_Char* pData, ULONG nLen );
- 
- 	sal_Bool            HasAnyData() const;
--    
-+
-     using TransferableHelper::StartDrag;
- 	void                StartDrag( Window* pWindow, sal_Int8 nDragSourceActions,
- 				                   const Link& rCallbck,
---- svtools/source/misc/embedtransfer.cxx	2009-04-02 13:06:13.000000000 +0200
-+++ svtools/source/misc/embedtransfer.cxx	2009-03-25 18:35:08.000000000 +0100
-@@ -58,6 +58,13 @@
- , m_pGraphic( pGraphic ? new Graphic( *pGraphic ) : NULL )
- , m_nAspect( nAspect )
- {
-+    if( xObj.is() )
-+    {
-+        TransferableObjectDescriptor aObjDesc;
-+
-+        FillTransferableObjectDescriptor( aObjDesc, m_xObj, NULL, m_nAspect );
-+        PrepareOLE( aObjDesc );
-+    }
- }
- 
- // -----------------------------------------------------------------------------
---- svtools/source/misc/transfer.cxx	2009-04-02 13:06:13.000000000 +0200
-+++ svtools/source/misc/transfer.cxx	2009-03-25 18:35:08.000000000 +0100
-@@ -81,6 +81,7 @@
- #include <svtools/wmf.hxx>
- #include <svtools/imap.hxx>
- #include <svtools/transfer.hxx>
-+#include <cstdio>
- 
- // --------------
- // - Namespaces -
-@@ -104,7 +105,7 @@
- SvStream& operator>>( SvStream& rIStm, TransferableObjectDescriptor& rObjDesc )
- {
- 	sal_uInt32  nSize, nViewAspect, nSig1, nSig2;
--	
-+
- 	rIStm >> nSize;
- 	rIStm >> rObjDesc.maClassName;
- 	rIStm >> nViewAspect;
-@@ -115,9 +116,9 @@
- 	rIStm.ReadByteString( rObjDesc.maTypeName, gsl_getSystemTextEncoding() );
- 	rIStm.ReadByteString( rObjDesc.maDisplayName, gsl_getSystemTextEncoding() );
-     rIStm >> nSig1 >> nSig2;
--    
-+
-     rObjDesc.mnViewAspect = static_cast< sal_uInt16 >( nViewAspect );
--    
-+
-     // don't use width/height info from external objects
-     if( ( TOD_SIG1 != nSig1 ) || ( TOD_SIG2 != nSig2 ) )
-     {
-@@ -134,7 +135,7 @@
- {
- 	const sal_uInt32    nFirstPos = rOStm.Tell(), nViewAspect = rObjDesc.mnViewAspect;
- 	const sal_uInt32    nSig1 = TOD_SIG1, nSig2 = TOD_SIG2;
--	
-+
- 	rOStm.SeekRel( 4 );
- 	rOStm << rObjDesc.maClassName;
- 	rOStm << nViewAspect;
-@@ -155,6 +156,136 @@
- 	return rOStm;
- }
- 
-+// -----------------------------------------------------------------------------
-+
-+static ::rtl::OUString ImplGetParameterString( const TransferableObjectDescriptor& rObjDesc )
-+{
-+    const ::rtl::OUString   aChar( ::rtl::OUString::createFromAscii( "\"" ) );
-+    const ::rtl::OUString   aClassName( rObjDesc.maClassName.GetHexName() );
-+    ::rtl::OUString         aParams;
-+
-+    if( aClassName.getLength() )
-+    {
-+        aParams += ::rtl::OUString::createFromAscii( ";classname=\"" );
-+        aParams += aClassName;
-+        aParams += aChar;
-+    }
-+
-+    if( rObjDesc.maTypeName.Len() )
-+    {
-+        aParams += ::rtl::OUString::createFromAscii( ";typename=\"" );
-+        aParams += rObjDesc.maTypeName;
-+        aParams += aChar;
-+    }
-+
-+    if( rObjDesc.maDisplayName.Len() )
-+    {
-+        aParams += ::rtl::OUString::createFromAscii( ";displayname=\"" );
-+        aParams += rObjDesc.maDisplayName;
-+        aParams += aChar;
-+    }
-+
-+    aParams += ::rtl::OUString::createFromAscii( ";viewaspect=\"" );
-+    aParams += ::rtl::OUString::valueOf( static_cast< sal_Int32 >( rObjDesc.mnViewAspect ) );
-+    aParams += aChar;
-+
-+    aParams += ::rtl::OUString::createFromAscii( ";width=\"" );
-+    aParams += ::rtl::OUString::valueOf( rObjDesc.maSize.Width() );
-+    aParams += aChar;
-+
-+    aParams += ::rtl::OUString::createFromAscii( ";height=\"" );
-+    aParams += ::rtl::OUString::valueOf( rObjDesc.maSize.Height() );
-+    aParams += aChar;
-+
-+    aParams += ::rtl::OUString::createFromAscii( ";posx=\"" );
-+    aParams += ::rtl::OUString::valueOf( rObjDesc.maDragStartPos.X() );
-+    aParams += aChar;
-+
-+    aParams += ::rtl::OUString::createFromAscii( ";posy=\"" );
-+    aParams += ::rtl::OUString::valueOf( rObjDesc.maDragStartPos.X() );
-+    aParams += aChar;
-+
-+    return aParams;
-+}
-+
-+// -----------------------------------------------------------------------------
-+
-+static void ImplSetParameterString( TransferableObjectDescriptor& rObjDesc, const DataFlavorEx& rFlavorEx )
-+{
-+    Reference< XMultiServiceFactory >       xFact( ::comphelper::getProcessServiceFactory() );
-+    Reference< XMimeContentTypeFactory >    xMimeFact;
-+
-+    try
-+    {
-+        if( xFact.is() )
-+        {
-+            xMimeFact = Reference< XMimeContentTypeFactory >( xFact->createInstance( ::rtl::OUString::createFromAscii(
-+                                                              "com.sun.star.datatransfer.MimeContentTypeFactory" ) ),
-+                                                              UNO_QUERY );
-+        }
-+
-+        if( xMimeFact.is() )
-+        {
-+            Reference< XMimeContentType > xMimeType( xMimeFact->createMimeContentType( rFlavorEx.MimeType ) );
-+
-+            if( xMimeType.is() )
-+            {
-+                const ::rtl::OUString aClassNameString( ::rtl::OUString::createFromAscii( "classname" ) );
-+                const ::rtl::OUString aTypeNameString( ::rtl::OUString::createFromAscii( "typename" ) );
-+                const ::rtl::OUString aDisplayNameString( ::rtl::OUString::createFromAscii( "displayname" ) );
-+                const ::rtl::OUString aViewAspectString( ::rtl::OUString::createFromAscii( "viewaspect" ) );
-+                const ::rtl::OUString aWidthString( ::rtl::OUString::createFromAscii( "width" ) );
-+                const ::rtl::OUString aHeightString( ::rtl::OUString::createFromAscii( "height" ) );
-+                const ::rtl::OUString aPosXString( ::rtl::OUString::createFromAscii( "posx" ) );
-+                const ::rtl::OUString aPosYString( ::rtl::OUString::createFromAscii( "posy" ) );
-+
-+                if( xMimeType->hasParameter( aClassNameString ) )
-+                {
-+                    rObjDesc.maClassName.MakeId( xMimeType->getParameterValue( aClassNameString ) );
-+                }
-+
-+                if( xMimeType->hasParameter( aTypeNameString ) )
-+                {
-+                    rObjDesc.maTypeName = xMimeType->getParameterValue( aTypeNameString );
-+                }
-+
-+                if( xMimeType->hasParameter( aDisplayNameString ) )
-+                {
-+                    rObjDesc.maDisplayName = xMimeType->getParameterValue( aDisplayNameString );
-+                }
-+
-+                if( xMimeType->hasParameter( aViewAspectString ) )
-+                {
-+                    rObjDesc.mnViewAspect = static_cast< sal_uInt16 >( xMimeType->getParameterValue( aViewAspectString ).toInt32() );
-+                }
-+
-+                if( xMimeType->hasParameter( aWidthString ) )
-+                {
-+                    rObjDesc.maSize.Width() = xMimeType->getParameterValue( aWidthString ).toInt32();
-+                }
-+
-+                if( xMimeType->hasParameter( aHeightString ) )
-+                {
-+                    rObjDesc.maSize.Height() = xMimeType->getParameterValue( aHeightString ).toInt32();
-+                }
-+
-+                if( xMimeType->hasParameter( aPosXString ) )
-+                {
-+                    rObjDesc.maDragStartPos.X() = xMimeType->getParameterValue( aPosXString ).toInt32();
-+                }
-+
-+                if( xMimeType->hasParameter( aPosYString ) )
-+                {
-+                    rObjDesc.maDragStartPos.Y() = xMimeType->getParameterValue( aPosYString ).toInt32();
-+                }
-+            }
-+        }
-+    }
-+    catch( const ::com::sun::star::uno::Exception& )
-+    {
-+    }
-+}
-+
- // -----------------------------------------
- // - TransferableHelper::TerminateListener -
- // -----------------------------------------
-@@ -194,7 +325,8 @@
- // ----------------------
- 
- TransferableHelper::TransferableHelper() :
--	mpFormats( new DataFlavorExVector )
-+	mpFormats( new DataFlavorExVector ),
-+    mpObjDesc( NULL )
- {
- }
- 
-@@ -202,6 +334,7 @@
- 
- TransferableHelper::~TransferableHelper()
- {
-+    delete mpObjDesc;
- 	delete mpFormats;
- }
- 
-@@ -307,7 +440,12 @@
-             // if any is not yet filled, use standard format
-             if( !maAny.hasValue() )
-                 GetData( rFlavor );
--		}
-+
-+#ifdef DEBUG
-+            if( maAny.hasValue() && ::com::sun::star::uno::TypeClass_STRING != maAny.getValueType().getTypeClass() )
-+                fprintf( stderr, "TransferableHelper delivers sequence of data [ %s ]\n", ByteString( String( rFlavor.MimeType), RTL_TEXTENCODING_ASCII_US ).GetBuffer() );
-+#endif
-+        }
- 		catch( const ::com::sun::star::uno::Exception& )
- 		{
- 		}
-@@ -325,9 +463,6 @@
- {
- 	const ::vos::OGuard aGuard( Application::GetSolarMutex() );
- 
--
--
--
- 	try
- 	{
- 		if( !mpFormats->size() )
-@@ -342,7 +477,9 @@
- 	sal_uInt32						nCurPos = 0;
- 
-     while( aIter != aEnd )
-+    {
-     	aRet[ nCurPos++ ] = *aIter++;
-+    }
- 
- 	return aRet;
- }
-@@ -513,11 +650,24 @@
-     sal_Bool                        bAdd = sal_True;
- 
- 	while( aIter != aEnd )
--
- 	{
--
-         if( TransferableDataHelper::IsEqual( *aIter, rFlavor ) )
-         {
-+            // update MimeType for SOT_FORMATSTR_ID_OBJECTDESCRIPTOR in every case
-+            if( ( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR == aIter->mnSotId ) && mpObjDesc )
-+            {
-+                DataFlavor aObjDescFlavor;
-+
-+                SotExchange::GetFormatDataFlavor( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR, aObjDescFlavor );
-+                aIter->MimeType = aObjDescFlavor.MimeType;
-+                aIter->MimeType += ::ImplGetParameterString( *mpObjDesc );
-+
-+#ifdef DEBUG
-+                fprintf( stderr, "TransferableHelper exchanged objectdescriptor [ %s ]\n",
-+                         ByteString( String( aIter->MimeType), RTL_TEXTENCODING_ASCII_US ).GetBuffer() );
-+#endif
-+            }
-+
-             aIter = aEnd;
-             bAdd = sal_False;
-         }
-@@ -527,13 +677,17 @@
- 
-     if( bAdd )
-     {
--    	DataFlavorEx aFlavorEx;
-+    	DataFlavorEx   aFlavorEx;
-+        DataFlavor     aObjDescFlavor;
- 
- 		aFlavorEx.MimeType = rFlavor.MimeType;
- 		aFlavorEx.HumanPresentableName = rFlavor.HumanPresentableName;
- 		aFlavorEx.DataType = rFlavor.DataType;
- 		aFlavorEx.mnSotId = SotExchange::RegisterFormat( rFlavor );
- 
-+        if( ( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR == aFlavorEx.mnSotId ) && mpObjDesc )
-+            aFlavorEx.MimeType += ::ImplGetParameterString( *mpObjDesc );
-+
- 		mpFormats->push_back( aFlavorEx );
- 
- 		if( FORMAT_BITMAP == aFlavorEx.mnSotId )
-@@ -702,6 +856,8 @@
- sal_Bool TransferableHelper::SetTransferableObjectDescriptor( const TransferableObjectDescriptor& rDesc,
- 															  const ::com::sun::star::datatransfer::DataFlavor& )
- {
-+    PrepareOLE( rDesc );
-+
- 	SvMemoryStream aMemStm( 1024, 1024 );
- 
- 	aMemStm << rDesc;
-@@ -823,7 +979,8 @@
-     aMemStm.SetVersion( SOFFICE_FILEFORMAT_50 );
- 	aMemStm << rFileList;
- 
--	maAny <<= Sequence< sal_Int8 >( static_cast< const sal_Int8* >( aMemStm.GetData() ), aMemStm.Seek( STREAM_SEEK_TO_END ) );
-+	maAny <<= Sequence< sal_Int8 >( static_cast< const sal_Int8* >( aMemStm.GetData() ),
-+                                       aMemStm.Seek( STREAM_SEEK_TO_END ) );
- 
- 	return( maAny.hasValue() );
- }
-@@ -890,6 +1047,17 @@
- 
- // -----------------------------------------------------------------------------
- 
-+void TransferableHelper::PrepareOLE( const TransferableObjectDescriptor& rObjDesc )
-+{
-+    delete mpObjDesc;
-+    mpObjDesc = new TransferableObjectDescriptor( rObjDesc );
-+
-+    if( HasFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR ) )
-+        AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
-+}
-+
-+// -----------------------------------------------------------------------------
-+
- void TransferableHelper::CopyToClipboard( Window *pWindow ) const
- {
- 	DBG_ASSERT( pWindow, "Window pointer is NULL" );
-@@ -1161,29 +1329,32 @@
- // - TransferableDataHelper -
- // --------------------------
- 
--TransferableDataHelper::TransferableDataHelper()
--    :mpFormats( new DataFlavorExVector )
--    ,mpImpl( new TransferableDataHelper_Impl )
-+TransferableDataHelper::TransferableDataHelper() :
-+    mpFormats( new DataFlavorExVector ),
-+    mpObjDesc( new TransferableObjectDescriptor ),
-+    mpImpl( new TransferableDataHelper_Impl )
- {
- }
- 
- // -----------------------------------------------------------------------------
- 
--TransferableDataHelper::TransferableDataHelper( const Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable )
--    :mxTransfer( rxTransferable )
--	,mpFormats( new DataFlavorExVector )
--    ,mpImpl( new TransferableDataHelper_Impl )
-+TransferableDataHelper::TransferableDataHelper( const Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable ) :
-+    mxTransfer( rxTransferable ),
-+    mpFormats( new DataFlavorExVector ),
-+    mpObjDesc( new TransferableObjectDescriptor ),
-+    mpImpl( new TransferableDataHelper_Impl )
- {
- 	InitFormats();
- }
- 
- // -----------------------------------------------------------------------------
- 
--TransferableDataHelper::TransferableDataHelper( const TransferableDataHelper& rDataHelper )
--    :mxTransfer( rDataHelper.mxTransfer )
--	,mxClipboard( rDataHelper.mxClipboard )
--	,mpFormats( new DataFlavorExVector( *rDataHelper.mpFormats ) )
--    ,mpImpl( new TransferableDataHelper_Impl )
-+TransferableDataHelper::TransferableDataHelper( const TransferableDataHelper& rDataHelper ) :
-+    mxTransfer( rDataHelper.mxTransfer ),
-+    mxClipboard( rDataHelper.mxClipboard ),
-+	mpFormats( new DataFlavorExVector( *rDataHelper.mpFormats ) ),
-+    mpObjDesc( new TransferableObjectDescriptor( *rDataHelper.mpObjDesc ) ),
-+    mpImpl( new TransferableDataHelper_Impl )
- {
- }
- 
-@@ -1196,12 +1367,13 @@
-         ::osl::MutexGuard aGuard( mpImpl->maMutex );
- 
-         bool bWasClipboardListening = ( NULL != mpImpl->mpClipboardListener );
-+
-         if ( bWasClipboardListening )
-             StopClipboardListening();
- 
-         mxTransfer = rDataHelper.mxTransfer;
- 		delete mpFormats, mpFormats = new DataFlavorExVector( *rDataHelper.mpFormats );
--
-+        delete mpObjDesc, mpObjDesc = new TransferableObjectDescriptor( *rDataHelper.mpObjDesc );
- 		mxClipboard = rDataHelper.mxClipboard;
- 
-         if ( bWasClipboardListening )
-@@ -1219,6 +1391,7 @@
-     {
-         ::osl::MutexGuard aGuard( mpImpl->maMutex );
- 	    delete mpFormats, mpFormats = NULL;
-+        delete mpObjDesc, mpObjDesc = NULL;
-     }
-     delete mpImpl;
- }
-@@ -1313,6 +1486,10 @@
-             {
-                 rDataFlavorExVector[ rDataFlavorExVector.size() - 1 ].mnSotId = SOT_FORMAT_FILE_LIST;
-             }
-+            else if( xMimeType.is() && xMimeType->getFullMediaType().equalsIgnoreAsciiCase( ::rtl::OUString::createFromAscii( "application/x-openoffice-objectdescriptor-xml" ) ) )
-+            {
-+                rDataFlavorExVector[ rDataFlavorExVector.size() - 1 ].mnSotId = SOT_FORMATSTR_ID_OBJECTDESCRIPTOR;
-+            }
- 	    }
-     }
- 	catch( const ::com::sun::star::uno::Exception& )
-@@ -1328,8 +1505,25 @@
-     ::osl::MutexGuard aGuard( mpImpl->maMutex );
- 
-     mpFormats->clear();
-+    delete mpObjDesc, mpObjDesc = new TransferableObjectDescriptor;
-+
-     if( mxTransfer.is() )
-+    {
-         TransferableDataHelper::FillDataFlavorExVector( mxTransfer->getTransferDataFlavors(), *mpFormats );
-+
-+        DataFlavorExVector::iterator aIter( mpFormats->begin() ), aEnd( mpFormats->end() );
-+
-+        while( aIter != aEnd )
-+        {
-+            if( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR == aIter->mnSotId )
-+            {
-+                ImplSetParameterString( *mpObjDesc, *aIter );
-+                aIter = aEnd;
-+            }
-+            else
-+                ++aIter;
-+        }
-+    }
- }
- 
- // -----------------------------------------------------------------------------
-@@ -1741,18 +1935,10 @@
- 
- // -----------------------------------------------------------------------------
- 
--sal_Bool TransferableDataHelper::GetTransferableObjectDescriptor( const ::com::sun::star::datatransfer::DataFlavor& rFlavor, TransferableObjectDescriptor& rDesc )
-+sal_Bool TransferableDataHelper::GetTransferableObjectDescriptor( const ::com::sun::star::datatransfer::DataFlavor&, TransferableObjectDescriptor& rDesc )
- {
--	SotStorageStreamRef xStm;
--	sal_Bool			bRet = GetSotStorageStream( rFlavor, xStm );
--
--	if( bRet )
--	{
--		*xStm >> rDesc;
--		bRet = ( xStm->GetError() == ERRCODE_NONE );
--	}
--
--	return bRet;
-+    rDesc = *mpObjDesc;
-+    return true;
- }
- 
- // -----------------------------------------------------------------------------
-@@ -1980,7 +2166,11 @@
- 
- sal_Bool TransferableDataHelper::GetSequence( const DataFlavor& rFlavor, Sequence< sal_Int8 >& rSeq )
- {
--	const Any aAny( GetAny( rFlavor ) );
-+#ifdef DEBUG
-+    fprintf( stderr, "TransferableDataHelper requests sequence of data\n" );
-+#endif
-+
-+    const Any aAny( GetAny( rFlavor ) );
- 	return( aAny.hasValue() && ( aAny >>= rSeq ) );
- }
- 
-@@ -1988,7 +2178,7 @@
- 
- sal_Bool TransferableDataHelper::GetSotStorageStream( SotFormatStringId nFormat, SotStorageStreamRef& rxStream )
- {
--	DataFlavor aFlavor;
-+    DataFlavor aFlavor;
- 	return( SotExchange::GetFormatDataFlavor( nFormat, aFlavor ) && GetSotStorageStream( aFlavor, rxStream ) );
- }
- 
-@@ -2000,7 +2190,6 @@
- 	sal_Bool				bRet = GetSequence( rFlavor, aSeq );
- 
- 	if( bRet )
--
- 	{
- 		rxStream = new SotStorageStream( String() );
- 		rxStream->Write( aSeq.getConstArray(), aSeq.getLength() );
diff --git a/patches/dev300/svx-ooo320-backports.diff b/patches/dev300/svx-ooo320-backports.diff
deleted file mode 100644
index a825727..0000000
--- a/patches/dev300/svx-ooo320-backports.diff
+++ /dev/null
@@ -1,36 +0,0 @@
---- svx/source/svdraw/svdotextdecomposition.cxx	2009-04-02 13:03:00.000000000 +0200
-+++ svx/source/svdraw/svdotextdecomposition.cxx	2009-03-25 18:32:48.000000000 +0100
-@@ -206,11 +206,7 @@
-                 false));
- 			basegfx::B2DHomMatrix aNewTransform;
- 
--			// #i100489# need extra scale factor for DXArray which collects all scalings
--			// which are needed to get the DXArray to unit coordinates
--			double fDXArrayScaleFactor(aSize.getX());
--
--            // add font scale to new transform
-+			// add font scale to new transform
- 			aNewTransform.scale(aSize.getX(), aSize.getY());
- 
- 			// look for proportional font scaling, evtl scale accordingly
-@@ -218,10 +214,6 @@
- 			{
- 				const double fFactor(rInfo.mrFont.GetPropr() / 100.0);
- 				aNewTransform.scale(fFactor, fFactor);
--
--				// #i100489# proportional font scaling influences the DXArray,
--				// add to factor
--				fDXArrayScaleFactor *= fFactor;
- 			}
- 
- 			// apply font rotate
-@@ -273,8 +265,7 @@
- 
- 			if(!bDisableTextArray && rInfo.mpDXArray && rInfo.mnTextLen)
- 			{
--				// #i100489# use fDXArrayScaleFactor here
--				const double fScaleFactor(basegfx::fTools::equalZero(fDXArrayScaleFactor) ? 1.0 : 1.0 / fDXArrayScaleFactor);
-+				const double fScaleFactor(basegfx::fTools::equalZero(aSize.getX()) ? 1.0 : 1.0 / aSize.getX());
- 				aDXArray.reserve(rInfo.mnTextLen);
- 
- 				for(xub_StrLen a(0); a < rInfo.mnTextLen; a++)
diff --git a/patches/dev300/unoxml-fast-sax-serializable.diff b/patches/dev300/unoxml-fast-sax-serializable.diff
deleted file mode 100644
index 9cf0e8e..0000000
--- a/patches/dev300/unoxml-fast-sax-serializable.diff
+++ /dev/null
@@ -1,1722 +0,0 @@
-make fastsax ifc serializable
-
-From: Thorsten Behrens <thb at openoffice.org>
-
-
----
-
- .../com/sun/star/xml/sax/XFastSAXSerializable.idl  |  102 +++++
- offapi/com/sun/star/xml/sax/makefile.mk            |    1 
- unoxml/source/dom/attr.hxx                         |    2 
- unoxml/source/dom/attributesmap.hxx                |    2 
- unoxml/source/dom/cdatasection.cxx                 |    2 
- unoxml/source/dom/cdatasection.hxx                 |    2 
- unoxml/source/dom/characterdata.hxx                |    2 
- unoxml/source/dom/childlist.hxx                    |    2 
- unoxml/source/dom/comment.cxx                      |    2 
- unoxml/source/dom/comment.hxx                      |    2 
- unoxml/source/dom/document.cxx                     |   57 +++
- unoxml/source/dom/document.hxx                     |   24 +
- unoxml/source/dom/documentfragment.hxx             |    2 
- unoxml/source/dom/documenttype.hxx                 |    2 
- unoxml/source/dom/domimplementation.hxx            |    2 
- unoxml/source/dom/element.cxx                      |  100 +++++
- unoxml/source/dom/element.hxx                      |    4 
- unoxml/source/dom/elementlist.hxx                  |    2 
- unoxml/source/dom/entitiesmap.hxx                  |    2 
- unoxml/source/dom/entity.hxx                       |    2 
- unoxml/source/dom/entityreference.hxx              |    2 
- unoxml/source/dom/node.cxx                         |  104 ++++-
- unoxml/source/dom/node.hxx                         |   68 +++
- unoxml/source/dom/notation.hxx                     |    2 
- unoxml/source/dom/notationsmap.hxx                 |    2 
- unoxml/source/dom/processinginstruction.cxx        |    1 
- unoxml/source/dom/processinginstruction.hxx        |    2 
- unoxml/source/dom/saxbuilder.cxx                   |    1 
- unoxml/source/dom/saxbuilder.hxx                   |    2 
- unoxml/source/dom/text.cxx                         |   13 +
- unoxml/source/dom/text.hxx                         |    4 
- unoxml/source/events/mouseevent.hxx                |    2 
- unoxml/source/events/mutationevent.hxx             |    2 
- unoxml/source/events/testlistener.hxx              |    2 
- unoxml/source/events/uievent.hxx                   |    2 
- unoxml/source/service/makefile.mk                  |    1 
- unoxml/source/xpath/nodelist.hxx                   |    2 
- unoxml/source/xpath/xpathapi.hxx                   |    3 
- unoxml/source/xpath/xpathobject.hxx                |    2 
- unoxml/test/domtest.cxx                            |  402 ++++++++++++++++++++
- unoxml/test/export.map                             |   38 ++
- unoxml/test/makefile.mk                            |  106 +++++
- 42 files changed, 1017 insertions(+), 62 deletions(-)
- create mode 100644 offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
- create mode 100644 unoxml/test/domtest.cxx
- create mode 100644 unoxml/test/export.map
- create mode 100644 unoxml/test/makefile.mk
-
-
-diff --git offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
-new file mode 100644
-index 0000000..6d815ce
---- /dev/null
-+++ offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
-@@ -0,0 +1,102 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ * 
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: XSAXSerializable.idl,v $
-+ * $Revision: 1.3 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __com_sun_star_xml_sax_XFastSAXSerializable_idl__
-+#define __com_sun_star_xml_sax_XFastSAXSerializable_idl__
-+
-+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__ 
-+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
-+#endif
-+
-+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__ 
-+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
-+#endif
-+
-+#ifndef __com_sun_star_beans_StringPair_idl__ 
-+#include <com/sun/star/beans/StringPair.idl>
-+#endif
-+
-+#ifndef __com_sun_star_beans_Pair_idl__ 
-+#include <com/sun/star/beans/Pair.idl>
-+#endif
-+
-+module com { module sun { module star { module xml { module sax {
-+
-+//=============================================================================
-+/** serializes a DOM tree by generating FastSAX events.
-+    
-+    <p>
-+    </p>
-+
-+    @since OOo 3.1
-+
-+*/
-+interface XFastSAXSerializable
-+{
-+
-+	//-------------------------------------------------------------------------
-+    /** serializes an object (e.g. a DOM tree) that represents an XML document
-+        by generating fast SAX events.
-+
-+        @param  handler
-+            the SAX event handler that should receive the generated events
-+        @param  tokenHandler
-+            the fast SAX token handler that is used to translate names
-+        @param  namespaces
-+            a list of namespace declarations that will be added to the root
-+            element node of the XML document
-+            <p>
-+            This is necessary mostly because the DOM implementation does
-+            not permit attaching namespaces declarations directly to nodes,
-+            which may lead to duplicate namespace declarations on export,
-+            and thus larger documents.
-+            Note that the first part of each tuple is the prefix,
-+            e.g. "office", and the second is the numeric namespace identifier.
-+            </p>
-+        @param  registerNamespaces
-+            a list of namespace url / namespace token pairs. you need
-+            to register all namespace in order to have them recognized
-+            during export. Namespace tokens must be greater than
-+            FastToken::NAMESPACE.
-+            </p>
-+
-+        @throws com::sun::star::xml::sax::SAXException
-+                 if serializing the XML document fails
-+     */
-+    void fastSerialize([in] sax::XFastDocumentHandler handler,
-+                       [in] sax::XFastTokenHandler tokenHandler,
-+                       [in] sequence< beans::StringPair > namespaces,
-+                       [in] sequence< beans::Pair<string, long> > registerNamespaces)
-+        raises( com::sun::star::xml::sax::SAXException );
-+};
-+
-+}; }; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/xml/sax/makefile.mk offapi/com/sun/star/xml/sax/makefile.mk
-index 41d3d19..33425dd 100644
---- offapi/com/sun/star/xml/sax/makefile.mk
-+++ offapi/com/sun/star/xml/sax/makefile.mk
-@@ -58,6 +58,7 @@ IDLFILES=\
- 	XFastParser.idl\
- 	XFastDocumentHandler.idl\
- 	XFastContextHandler.idl\
-+	XFastSAXSerializable.idl\
- 	XFastSerializer.idl\
- 	XFastShapeContextHandler.idl\
- 	XFastTokenHandler.idl\
-diff --git unoxml/source/dom/attr.hxx unoxml/source/dom/attr.hxx
-index efb61c7..bbe4dba 100644
---- unoxml/source/dom/attr.hxx
-+++ unoxml/source/dom/attr.hxx
-@@ -39,7 +39,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/attributesmap.hxx unoxml/source/dom/attributesmap.hxx
-index 1858e1a..970336f 100644
---- unoxml/source/dom/attributesmap.hxx
-+++ unoxml/source/dom/attributesmap.hxx
-@@ -42,7 +42,7 @@
- #include "element.hxx"
- #include "attr.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/cdatasection.cxx unoxml/source/dom/cdatasection.cxx
-index 5eeaddc..e26f741 100644
---- unoxml/source/dom/cdatasection.cxx
-+++ unoxml/source/dom/cdatasection.cxx
-@@ -30,6 +30,8 @@
- 
- #include "cdatasection.hxx"
- 
-+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-+
- namespace DOM
- {
-     CCDATASection::CCDATASection(const xmlNodePtr aNodePtr)
-diff --git unoxml/source/dom/cdatasection.hxx unoxml/source/dom/cdatasection.hxx
-index d4d24c6..524a50d 100644
---- unoxml/source/dom/cdatasection.hxx
-+++ unoxml/source/dom/cdatasection.hxx
-@@ -37,7 +37,7 @@
- 
- #include "text.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/characterdata.hxx unoxml/source/dom/characterdata.hxx
-index c23c309..509b471 100644
---- unoxml/source/dom/characterdata.hxx
-+++ unoxml/source/dom/characterdata.hxx
-@@ -42,7 +42,7 @@
- #include <libxml/tree.h>
- #include "node.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/childlist.hxx unoxml/source/dom/childlist.hxx
-index 6f85b35..8ac44a7 100644
---- unoxml/source/dom/childlist.hxx
-+++ unoxml/source/dom/childlist.hxx
-@@ -41,7 +41,7 @@
- #include "node.hxx"
- #include "libxml/tree.h"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/comment.cxx unoxml/source/dom/comment.cxx
-index 8d3f9ab..7781ed5 100644
---- unoxml/source/dom/comment.cxx
-+++ unoxml/source/dom/comment.cxx
-@@ -30,6 +30,8 @@
- 
- #include "comment.hxx"
- 
-+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-+
- namespace DOM
- {
-     CComment::CComment(const xmlNodePtr aNodePtr)
-diff --git unoxml/source/dom/comment.hxx unoxml/source/dom/comment.hxx
-index 8651c1a..33dd667 100644
---- unoxml/source/dom/comment.hxx
-+++ unoxml/source/dom/comment.hxx
-@@ -36,7 +36,7 @@
- #include <com/sun/star/xml/dom/XComment.hpp>
- #include "characterdata.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/document.cxx unoxml/source/dom/document.cxx
-index 2cc7141..e69352b 100644
---- unoxml/source/dom/document.cxx
-+++ unoxml/source/dom/document.cxx
-@@ -51,13 +51,11 @@
- 
- #include <string.h>
- 
-+#include <com/sun/star/xml/sax/FastToken.hpp>
- #include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
- 
--
- namespace DOM
- {
--
--
-     void CDocument::addnode(xmlNodePtr aNode)
-     {
-         if (aNode != (xmlNodePtr)m_aDocPtr)
-@@ -122,6 +120,17 @@ namespace DOM
-         i_xHandler->endDocument();
-     }
- 
-+    void SAL_CALL CDocument::fastSaxify( Context& rContext ) {
-+        rContext.mxDocHandler->startDocument();
-+        for (xmlNodePtr pChild = m_aNodePtr->children;
-+                        pChild != 0; pChild = pChild->next) {
-+            CNode * pNode = CNode::get(pChild);
-+            OSL_ENSURE(pNode != 0, "CNode::get returned 0");
-+            pNode->fastSaxify(rContext);
-+        }
-+        rContext.mxDocHandler->endDocument();
-+    }
-+
- 	void SAL_CALL CDocument::addListener(const Reference< XStreamListener >& aListener )
- 		throw (RuntimeException)
- 	{
-@@ -699,7 +708,47 @@ namespace DOM
-             // eliminate duplicate namespace declarations
-             _nscleanup(pRoot->children, pRoot);
-         }
--        // serialize via SAX handler
-         saxify(i_xHandler);
-     }
-+
-+    // ::com::sun::star::xml::sax::XFastSAXSerializable
-+    void SAL_CALL CDocument::fastSerialize( const Reference< XFastDocumentHandler >& i_xHandler, 
-+                                            const Reference< XFastTokenHandler >& i_xTokenHandler, 
-+                                            const Sequence< beans::StringPair >& i_rNamespaces,
-+                                            const Sequence< beans::Pair< rtl::OUString, sal_Int32 > >& i_rRegisterNamespaces ) 
-+        throw (SAXException, RuntimeException)
-+    {
-+        // add new namespaces to root node
-+        xmlNodePtr pRoot = _getDocumentRootPtr(m_aDocPtr);
-+        if (0 != pRoot) {
-+            const beans::StringPair * pSeq = i_rNamespaces.getConstArray();
-+            for (const beans::StringPair *pNsDef = pSeq;
-+                 pNsDef < pSeq + i_rNamespaces.getLength(); ++pNsDef) {
-+                OString prefix = OUStringToOString(pNsDef->First,
-+                                    RTL_TEXTENCODING_UTF8);
-+                OString href   = OUStringToOString(pNsDef->Second,
-+                                    RTL_TEXTENCODING_UTF8);
-+                // this will only add the ns if it does not exist already
-+                xmlNewNs(pRoot, reinterpret_cast<const xmlChar*>(href.getStr()),
-+                         reinterpret_cast<const xmlChar*>(prefix.getStr()));
-+            }
-+            // eliminate duplicate namespace declarations
-+            _nscleanup(pRoot->children, pRoot);
-+        }
-+
-+        Context aContext(i_xHandler,
-+                         i_xTokenHandler);
-+
-+        // register namespace ids
-+        const beans::Pair<OUString,sal_Int32>* pSeq = i_rRegisterNamespaces.getConstArray();
-+        for (const beans::Pair<OUString,sal_Int32>* pNs = pSeq;
-+             pNs < pSeq + i_rRegisterNamespaces.getLength(); ++pNs) 
-+        {
-+            OSL_ENSURE(pNs->Second >= FastToken::NAMESPACE,
-+                       "CDocument::fastSerialize(): invalid NS token id");
-+            aContext.maNamespaceMap[ pNs->First ] = pNs->Second;
-+        }
-+
-+        fastSaxify(aContext);
-+    }
- }
-diff --git unoxml/source/dom/document.hxx unoxml/source/dom/document.hxx
-index 13b09ee..e902269 100644
---- unoxml/source/dom/document.hxx
-+++ unoxml/source/dom/document.hxx
-@@ -34,7 +34,7 @@
- #include <list>
- #include <set>
- #include <sal/types.h>
--#include <cppuhelper/implbase5.hxx>
-+#include <cppuhelper/implbase6.hxx>
- #include <com/sun/star/uno/Reference.h>
- #include <com/sun/star/uno/Exception.hpp>
- #include <com/sun/star/beans/StringPair.hpp>
-@@ -45,7 +45,9 @@
- #include <com/sun/star/xml/dom/events/XDocumentEvent.hpp>
- #include <com/sun/star/xml/dom/events/XEvent.hpp>
- #include <com/sun/star/xml/sax/XSAXSerializable.hpp>
-+#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
- #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-+#include <com/sun/star/xml/sax/XFastDocumentHandler.hpp>
- #include <com/sun/star/io/XActiveDataSource.hpp>
- #include <com/sun/star/io/XActiveDataControl.hpp>
- #include <com/sun/star/io/XOutputStream.hpp>
-@@ -68,9 +70,9 @@ using namespace com::sun::star::xml::dom::events;
- namespace DOM
- {
- 
--    class CDocument : public cppu::ImplInheritanceHelper5<
-+    class CDocument : public cppu::ImplInheritanceHelper6<
- 		CNode, XDocument, XDocumentEvent,
--        XActiveDataControl, XActiveDataSource, XSAXSerializable>
-+        XActiveDataControl, XActiveDataSource, XSAXSerializable, XFastSAXSerializable>
-     {
-         friend class CNode;
- 		typedef std::list< Reference< XNode >* > nodereflist_t;
-@@ -97,6 +99,8 @@ namespace DOM
-         virtual void SAL_CALL saxify(
-             const Reference< XDocumentHandler >& i_xHandler);
- 
-+        virtual void SAL_CALL fastSaxify( Context& rContext );
-+
-         /**
-         Creates an Attr of the given name.
-         */
-@@ -347,12 +351,18 @@ namespace DOM
-             return CNode::setPrefix(prefix);
-         }
- 
--
--    // ::com::sun::star::xml::sax::XSAXSerializable
--    virtual void SAL_CALL serialize(
-+        // ::com::sun::star::xml::sax::XSAXSerializable
-+        virtual void SAL_CALL serialize(
-             const Reference< XDocumentHandler >& i_xHandler,
-             const Sequence< beans::StringPair >& i_rNamespaces)
--        throw (RuntimeException, SAXException);
-+            throw (RuntimeException, SAXException);
-+        
-+        // ::com::sun::star::xml::sax::XFastSAXSerializable 
-+        virtual void SAL_CALL fastSerialize( const Reference< XFastDocumentHandler >& handler, 
-+                                             const Reference< XFastTokenHandler >& tokenHandler, 
-+                                             const Sequence< beans::StringPair >& i_rNamespaces,
-+                                             const Sequence< beans::Pair< rtl::OUString, sal_Int32 > >& namespaces ) 
-+            throw (SAXException, RuntimeException);
-     };
- }
- 
-diff --git unoxml/source/dom/documentfragment.hxx unoxml/source/dom/documentfragment.hxx
-index 67778c2..4d037ca 100644
---- unoxml/source/dom/documentfragment.hxx
-+++ unoxml/source/dom/documentfragment.hxx
-@@ -37,7 +37,7 @@
- 
- #include "node.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/documenttype.hxx unoxml/source/dom/documenttype.hxx
-index e995713..15a2417 100644
---- unoxml/source/dom/documenttype.hxx
-+++ unoxml/source/dom/documenttype.hxx
-@@ -42,7 +42,7 @@
- 
- #include <libxml/tree.h>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/domimplementation.hxx unoxml/source/dom/domimplementation.hxx
-index a5f1b02..0dd4cfb 100644
---- unoxml/source/dom/domimplementation.hxx
-+++ unoxml/source/dom/domimplementation.hxx
-@@ -41,7 +41,7 @@
- #include <com/sun/star/xml/dom/XDOMImplementation.hpp>
- #include <com/sun/star/xml/dom/XDOMImplementation.hpp>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/element.cxx unoxml/source/dom/element.cxx
-index fe099b4..17ac26d 100644
---- unoxml/source/dom/element.cxx
-+++ unoxml/source/dom/element.cxx
-@@ -36,6 +36,7 @@
- #include "../events/mutationevent.hxx"
- 
- #include "comphelper/attributelist.hxx"
-+#include <com/sun/star/xml/sax/FastToken.hdl>
- 
- #include <string.h>
- 
-@@ -98,6 +99,105 @@ namespace DOM
-         i_xHandler->endElement(name);
-     }
- 
-+    void SAL_CALL CElement::fastSaxify( Context& i_rContext ) {
-+        if (!i_rContext.mxDocHandler.is()) throw RuntimeException();
-+        pushContext(i_rContext);
-+        addNamespaces(i_rContext,m_aNodePtr);
-+
-+        // add attributes
-+        i_rContext.mxAttribList->clear();
-+        for (xmlAttrPtr pAttr = m_aNodePtr->properties;
-+                        pAttr != 0; pAttr = pAttr->next) {
-+            CNode * pNode = CNode::get(reinterpret_cast<xmlNodePtr>(pAttr));
-+            OSL_ENSURE(pNode != 0, "CNode::get returned 0");
-+
-+            const xmlChar* xName = pAttr->name;
-+            sal_Int32 nAttributeToken=FastToken::DONTKNOW;
-+
-+            if( pAttr->ns && strlen((char*)pAttr->ns->prefix) )
-+                nAttributeToken = getTokenWithPrefix( i_rContext, 
-+                                                      (sal_Char*)pAttr->ns->prefix, 
-+                                                      (sal_Char*)xName );
-+            else
-+                nAttributeToken = getToken( i_rContext, (sal_Char*)xName );
-+
-+            if( nAttributeToken != FastToken::DONTKNOW )
-+                i_rContext.mxAttribList->add( nAttributeToken, 
-+                                              OUStringToOString(pNode->getNodeValue(),
-+                                                                RTL_TEXTENCODING_UTF8));
-+        }
-+
-+        const xmlChar* xPrefix = m_aNodePtr->ns ? m_aNodePtr->ns->prefix : (const xmlChar*)"";
-+        const xmlChar* xName = m_aNodePtr->name;
-+        sal_Int32 nElementToken=FastToken::DONTKNOW;
-+        if( strlen((char*)xPrefix) )
-+            nElementToken = getTokenWithPrefix( i_rContext, (sal_Char*)xPrefix, (sal_Char*)xName );
-+        else
-+            nElementToken = getToken( i_rContext, (sal_Char*)xName );
-+
-+        Reference<XFastContextHandler> xParentHandler(i_rContext.mxCurrentHandler);
-+        try
-+        {
-+            Reference< XFastAttributeList > xAttr( i_rContext.mxAttribList.get() );
-+            if( nElementToken == FastToken::DONTKNOW )
-+            {
-+                const OUString aNamespace;
-+                const OUString aElementName( (sal_Char*)xPrefix, 
-+                                             strlen((char*)xPrefix), 
-+                                             RTL_TEXTENCODING_UTF8 );
-+
-+                if( xParentHandler.is() )
-+                    i_rContext.mxCurrentHandler = xParentHandler->createUnknownChildContext( aNamespace, aElementName, xAttr );
-+                else
-+                    i_rContext.mxCurrentHandler = i_rContext.mxDocHandler->createUnknownChildContext( aNamespace, aElementName, xAttr );
-+
-+                if( i_rContext.mxCurrentHandler.is() )
-+                    i_rContext.mxCurrentHandler->startUnknownElement( aNamespace, aElementName, xAttr );
-+            }
-+            else
-+            {
-+                if( xParentHandler.is() )
-+                    i_rContext.mxCurrentHandler = xParentHandler->createFastChildContext( nElementToken, xAttr );
-+                else
-+                    i_rContext.mxCurrentHandler = i_rContext.mxDocHandler->createFastChildContext( nElementToken, xAttr );
-+
-+                if( i_rContext.mxCurrentHandler.is() )
-+                    i_rContext.mxCurrentHandler->startFastElement( nElementToken, xAttr );
-+            }
-+        }
-+        catch( Exception& )
-+        {}
-+
-+        // recurse
-+        for (xmlNodePtr pChild = m_aNodePtr->children;
-+                        pChild != 0; pChild = pChild->next) {
-+            CNode * pNode = CNode::get(pChild);
-+            OSL_ENSURE(pNode != 0, "CNode::get returned 0");
-+            pNode->fastSaxify(i_rContext);
-+        }
-+
-+		if( i_rContext.mxCurrentHandler.is() ) try
-+		{
-+			if( nElementToken != FastToken::DONTKNOW )
-+				i_rContext.mxCurrentHandler->endFastElement( nElementToken );
-+			else
-+            {
-+                const OUString aNamespace;
-+                const OUString aElementName( (sal_Char*)xPrefix, 
-+                                             strlen((char*)xPrefix), 
-+                                             RTL_TEXTENCODING_UTF8 );
-+
-+				i_rContext.mxCurrentHandler->endUnknownElement( aNamespace, aElementName );
-+            }
-+		}
-+		catch( Exception& )
-+		{}
-+
-+        // restore after children have been processed
-+        i_rContext.mxCurrentHandler = xParentHandler;
-+        popContext(i_rContext);
-+    }
-+
-     /**
- 		Retrieves an attribute value by name.
- 		return empty string if attribute is not set
-diff --git unoxml/source/dom/element.hxx unoxml/source/dom/element.hxx
-index c6ba0ee..a4c0026 100644
---- unoxml/source/dom/element.hxx
-+++ unoxml/source/dom/element.hxx
-@@ -39,7 +39,7 @@
- #include <libxml/tree.h>
- #include "node.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-@@ -60,6 +60,8 @@ namespace DOM
-         virtual void SAL_CALL saxify(
-             const Reference< XDocumentHandler >& i_xHandler);
- 
-+        virtual void SAL_CALL fastSaxify( Context& i_rContext );
-+
-         /**
-         Retrieves an attribute value by name.
-         */
-diff --git unoxml/source/dom/elementlist.hxx unoxml/source/dom/elementlist.hxx
-index e78c8bb..4e6d8c7 100644
---- unoxml/source/dom/elementlist.hxx
-+++ unoxml/source/dom/elementlist.hxx
-@@ -45,7 +45,7 @@
- #include "document.hxx"
- #include "libxml/tree.h"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- using namespace com::sun::star::xml::dom::events;
-diff --git unoxml/source/dom/entitiesmap.hxx unoxml/source/dom/entitiesmap.hxx
-index f207d81..f3f7f3d 100644
---- unoxml/source/dom/entitiesmap.hxx
-+++ unoxml/source/dom/entitiesmap.hxx
-@@ -41,7 +41,7 @@
- #include "document.hxx"
- #include "documenttype.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/dom/entity.hxx unoxml/source/dom/entity.hxx
-index fd269bc..f4b5855 100644
---- unoxml/source/dom/entity.hxx
-+++ unoxml/source/dom/entity.hxx
-@@ -39,7 +39,7 @@
- #include <libxml/tree.h>
- #include <libxml/entities.h>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/entityreference.hxx unoxml/source/dom/entityreference.hxx
-index 5535374..02d9f7b 100644
---- unoxml/source/dom/entityreference.hxx
-+++ unoxml/source/dom/entityreference.hxx
-@@ -36,7 +36,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/node.cxx unoxml/source/dom/node.cxx
-index f7599f8..e25c4d7 100644
---- unoxml/source/dom/node.cxx
-+++ unoxml/source/dom/node.cxx
-@@ -45,11 +45,91 @@
- #include "childlist.hxx"
- #include "attr.hxx"
- 
-+#include <com/sun/star/xml/sax/FastToken.hpp>
-+
- #include "../events/eventdispatcher.hxx"
- #include "../events/mutationevent.hxx"
- 
-+#include <boost/bind.hpp>
-+#include <algorithm>
-+
- namespace DOM
- {
-+    void pushContext(Context& io_rContext)
-+    {
-+        io_rContext.maNamespaces.push_back(
-+            io_rContext.maNamespaces.back());
-+    }
-+
-+    void popContext(Context& io_rContext)
-+    {
-+        io_rContext.maNamespaces.pop_back();
-+    }
-+
-+    void addNamespaces(Context& io_rContext, xmlNodePtr pNode)
-+    {
-+        // add node's namespaces to current context
-+        for (xmlNsPtr pNs = pNode->nsDef; pNs != 0; pNs = pNs->next) {
-+            const xmlChar *pPrefix = pNs->prefix;
-+            OString prefix(reinterpret_cast<const sal_Char*>(pPrefix),
-+                           strlen(reinterpret_cast<const char*>(pPrefix)));
-+            const xmlChar *pHref = pNs->href;
-+            OUString val(reinterpret_cast<const sal_Char*>(pHref),
-+                strlen(reinterpret_cast<const char*>(pHref)),
-+                RTL_TEXTENCODING_UTF8);
-+
-+            OSL_TRACE("Trying to add namespace %s (prefix %s)",
-+                      (const char*)pHref, (const char*)pPrefix);
-+
-+            Context::NamespaceMapType::iterator aIter=
-+                io_rContext.maNamespaceMap.find(val);
-+            if( aIter != io_rContext.maNamespaceMap.end() )
-+            {
-+                Context::Namespace aNS;
-+                aNS.maPrefix = prefix;
-+                aNS.mnToken = aIter->second;
-+                aNS.maNamespaceURL = val;
-+
-+                io_rContext.maNamespaces.back().push_back(aNS);
-+
-+                OSL_TRACE("Added with token 0x%x", aIter->second);
-+            }
-+        }
-+    }
-+
-+    sal_Int32 getToken( const Context& rContext, const sal_Char* pToken )
-+    {
-+        const Sequence<sal_Int8> aSeq( (sal_Int8*)pToken, strlen( pToken ) );
-+        return rContext.mxTokenHandler->getTokenFromUTF8( aSeq );
-+    }
-+
-+    sal_Int32 getTokenWithPrefix( const Context& rContext, const sal_Char* pPrefix, const sal_Char* pName )
-+    {
-+        sal_Int32 nNamespaceToken = FastToken::DONTKNOW;
-+        OString prefix(pPrefix,
-+                       strlen(reinterpret_cast<const char*>(pPrefix)));
-+
-+        OSL_TRACE("getTokenWithPrefix(): prefix %s, name %s",
-+                  (const char*)pPrefix, (const char*)pName);
-+
-+        Context::NamespaceVectorType::value_type::const_iterator aIter;
-+        if( (aIter=std::find_if(rContext.maNamespaces.back().begin(),
-+                                rContext.maNamespaces.back().end(), 
-+                                boost::bind(std::equal_to<OString>(),
-+                                            boost::bind(&Context::Namespace::getPrefix,
-+                                                        _1),
-+                                            boost::cref(prefix)))) != rContext.maNamespaces.back().end() )
-+        {
-+            nNamespaceToken = aIter->mnToken;
-+            sal_Int32 nNameToken = getToken( rContext, pName );
-+            if( nNameToken != FastToken::DONTKNOW )
-+                nNamespaceToken |= nNameToken;
-+        }
-+
-+        return nNamespaceToken;
-+    }
-+
-+
-     nodemap_t CNode::theNodeMap;
- 
-     void CNode::remove(const xmlNodePtr aNode)
-@@ -167,14 +247,13 @@ namespace DOM
- 
-     xmlNodePtr CNode::getNodePtr(const Reference< XNode >& aNode)
-     {
--      xmlNodePtr aNodePtr = 0;
-       try {
--	Reference< XUnoTunnel > aTunnel(aNode, UNO_QUERY_THROW);
--	sal_Int64 rawPtr = aTunnel->getSomething(Sequence<sal_Int8>());
--	aNodePtr = reinterpret_cast<xmlNodePtr>(sal::static_int_cast<sal_IntPtr>(rawPtr));
--      } catch ( ... ) {
-+          CNode* pNode=dynamic_cast<CNode*>(aNode.get());
-+          if( pNode )
-+              return pNode->m_aNodePtr;
-       }
--      return aNodePtr;
-+      catch(...) {}
-+      return 0;
-     }
- 
-     CNode::CNode()
-@@ -280,6 +359,11 @@ namespace DOM
-         // default: do nothing
-     }
- 
-+    void SAL_CALL CNode::fastSaxify(Context& io_rContext) {
-+        if (!io_rContext.mxDocHandler.is()) throw RuntimeException();
-+        // default: do nothing
-+    }
-+
-     /**    
-     Adds the node newChild to the end of the list of children of this node.
-     */
-@@ -894,14 +978,6 @@ namespace DOM
- 
-     }
- 
--    sal_Int64 SAL_CALL CNode::getSomething(const Sequence< sal_Int8 >& /*id*/) throw (RuntimeException)
--    {
--        // XXX check ID
--        return sal::static_int_cast<sal_Int64>(reinterpret_cast<sal_IntPtr>(m_aNodePtr));
--        // return (sal_Int64)m_aNodePtr;
--    }
--
--
-         // --- XEventTarget
-     void SAL_CALL CNode::addEventListener(const OUString& eventType, 
-         const Reference< com::sun::star::xml::dom::events::XEventListener >& listener, 
-diff --git unoxml/source/dom/node.hxx unoxml/source/dom/node.hxx
-index 8752dad..8a22fbd 100644
---- unoxml/source/dom/node.hxx
-+++ unoxml/source/dom/node.hxx
-@@ -31,18 +31,19 @@
- #ifndef _NODE_HXX
- #define _NODE_HXX
- 
--#include <map>
-+#include <rtl/ref.hxx>
-+#include <rtl/string.hxx>
-+#include <rtl/ustring.hxx>
- #include <sal/types.h>
-+#include <sax/fastattribs.hxx>
- #include <cppuhelper/implbase1.hxx>
- #include <cppuhelper/implbase2.hxx>
--#include <cppuhelper/implbase3.hxx>
- #include <com/sun/star/uno/Reference.h>
- #include <com/sun/star/uno/Exception.hpp>
- #include <com/sun/star/xml/dom/XNode.hpp>
- #include <com/sun/star/xml/dom/XNodeList.hpp>
- #include <com/sun/star/xml/dom/XNamedNodeMap.hpp>
- #include <com/sun/star/xml/dom/NodeType.hpp>
--#include <com/sun/star/lang/XUnoTunnel.hpp>
- #include <com/sun/star/uno/Sequence.h>
- #include <com/sun/star/xml/dom/events/XEventTarget.hpp>
- #include <com/sun/star/xml/dom/events/XDocumentEvent.hpp>
-@@ -51,23 +52,72 @@
- #include <com/sun/star/xml/dom/events/XUIEvent.hpp>
- #include <com/sun/star/xml/dom/events/XMouseEvent.hpp>
- #include <com/sun/star/xml/dom/DOMException.hpp>
--#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-+#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-+#include <com/sun/star/xml/sax/XFastDocumentHandler.hpp>
- #include <libxml/tree.h>
- 
-+#include <map>
-+#include <hash_map>
-+
- using ::rtl::OUString;
-+using ::rtl::OString;
-+using namespace sax_fastparser;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::sax;
- using namespace com::sun::star::xml::dom;
- using namespace com::sun::star::xml::dom::events;
--using com::sun::star::lang::XUnoTunnel;
- 
- namespace DOM
- {
-+    struct Context
-+    {
-+        Context( const Reference< XFastDocumentHandler >& i_xHandler,
-+                 const Reference< XFastTokenHandler >& i_xTokenHandler ) :
-+            maNamespaces( 1, std::vector<Namespace>() ),
-+            maNamespaceMap(101),
-+            mxAttribList(new FastAttributeList(i_xTokenHandler)),
-+            mxCurrentHandler(i_xHandler, UNO_QUERY_THROW),
-+            mxDocHandler(i_xHandler),
-+            mxTokenHandler(i_xTokenHandler)
-+        {}
-+
-+        struct Namespace
-+        {
-+            OString	    maPrefix;
-+            sal_Int32	mnToken;
-+            OUString	maNamespaceURL;
-+
-+            const OString& getPrefix() const { return maPrefix; }
-+        };
-+
-+        typedef std::vector< std::vector<Namespace> > NamespaceVectorType;
-+        typedef std::hash_map< OUString, 
-+                               sal_Int32, 
-+                               rtl::OUStringHash > NamespaceMapType;
-+
-+        /// outer vector: xml context; inner vector: current NS
-+        NamespaceVectorType                 maNamespaces;
-+        NamespaceMapType                    maNamespaceMap;
-+        ::rtl::Reference<FastAttributeList> mxAttribList;
-+        Reference<XFastContextHandler>      mxCurrentHandler;
-+        Reference<XFastDocumentHandler>     mxDocHandler;
-+        Reference<XFastTokenHandler>        mxTokenHandler;
-+    };
-+
-+    void pushContext(Context& io_rContext);
-+    void popContext(Context& io_rContext);
-+
-+    sal_Int32 getTokenWithPrefix( const Context& rContext, const sal_Char* xPrefix, const sal_Char* xName );
-+    sal_Int32 getToken( const Context& rContext, const sal_Char* xName );
-+
-+    /// add namespaces on this node to context
-+    void addNamespaces(Context& io_rContext, xmlNodePtr pNode);
-+
-     class CNode;
-     typedef std::map< const xmlNodePtr, CNode* > nodemap_t;
- 
- 
--    class CNode : public cppu::WeakImplHelper3< XNode, XUnoTunnel, XEventTarget >
-+    class CNode : public cppu::WeakImplHelper2< XNode, XEventTarget >
-     {
-         friend class CDocument;
-         friend class CElement;
-@@ -109,6 +159,9 @@ namespace DOM
-         virtual void SAL_CALL saxify(
-             const Reference< XDocumentHandler >& i_xHandler);
- 
-+        // recursively create SAX events
-+        virtual void SAL_CALL fastSaxify( Context& io_rContext );
-+
-         // ---- DOM interfaces
- 
-         /**
-@@ -275,9 +328,6 @@ namespace DOM
-             throw (RuntimeException, DOMException);
- 
- 
--        // --- XUnoTunnel
--        virtual sal_Int64 SAL_CALL getSomething(const Sequence< sal_Int8 >& id) throw (RuntimeException);
--
-         // --- XEventTarget
-         virtual void SAL_CALL addEventListener(const OUString& eventType,
-             const Reference< XEventListener >& listener,
-diff --git unoxml/source/dom/notation.hxx unoxml/source/dom/notation.hxx
-index 13cd6be..d25d501 100644
---- unoxml/source/dom/notation.hxx
-+++ unoxml/source/dom/notation.hxx
-@@ -37,7 +37,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/notationsmap.hxx unoxml/source/dom/notationsmap.hxx
-index 2adbbc0..170c3b2 100644
---- unoxml/source/dom/notationsmap.hxx
-+++ unoxml/source/dom/notationsmap.hxx
-@@ -41,7 +41,7 @@
- #include "document.hxx"
- #include "documenttype.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/processinginstruction.cxx unoxml/source/dom/processinginstruction.cxx
-index f06d153..791b408 100644
---- unoxml/source/dom/processinginstruction.cxx
-+++ unoxml/source/dom/processinginstruction.cxx
-@@ -29,6 +29,7 @@
-  ************************************************************************/
- 
- #include "processinginstruction.hxx"
-+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
- #include <string.h>
- 
- namespace DOM
-diff --git unoxml/source/dom/processinginstruction.hxx unoxml/source/dom/processinginstruction.hxx
-index 1ae7657..780fe55 100644
---- unoxml/source/dom/processinginstruction.hxx
-+++ unoxml/source/dom/processinginstruction.hxx
-@@ -37,7 +37,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- 
-diff --git unoxml/source/dom/saxbuilder.cxx unoxml/source/dom/saxbuilder.cxx
-index 5f42666..e1169cc 100644
---- unoxml/source/dom/saxbuilder.cxx
-+++ unoxml/source/dom/saxbuilder.cxx
-@@ -35,7 +35,6 @@
- #include "saxbuilder.hxx"
- #include <com/sun/star/xml/dom/XDocumentBuilder.hpp>
- #include <libxml/tree.h>
--#include <com/sun/star/lang/XUnoTunnel.hpp>
- #include <com/sun/star/uno/Sequence.h>
- 
- namespace DOM
-diff --git unoxml/source/dom/saxbuilder.hxx unoxml/source/dom/saxbuilder.hxx
-index a955035..afa8320 100644
---- unoxml/source/dom/saxbuilder.hxx
-+++ unoxml/source/dom/saxbuilder.hxx
-@@ -54,7 +54,7 @@
- 
- #include "libxml/tree.h"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- using namespace com::sun::star::xml::sax;
-diff --git unoxml/source/dom/text.cxx unoxml/source/dom/text.cxx
-index 250b31e..6574a45 100644
---- unoxml/source/dom/text.cxx
-+++ unoxml/source/dom/text.cxx
-@@ -58,5 +58,18 @@ namespace DOM
-     {
-         return OUString::createFromAscii("#text");
-     }
-+    
-+    void SAL_CALL CText::fastSaxify( Context& io_rContext )
-+    {
-+        if( io_rContext.mxCurrentHandler.is() ) 
-+        {
-+            try
-+            {
-+                io_rContext.mxCurrentHandler->characters( getData() );
-+            }
-+            catch( Exception& )
-+            {}
-+        }
-+    }
- 
- }
-diff --git unoxml/source/dom/text.hxx unoxml/source/dom/text.hxx
-index 27596f3..ff84a62 100644
---- unoxml/source/dom/text.hxx
-+++ unoxml/source/dom/text.hxx
-@@ -41,7 +41,7 @@
- #include <libxml/tree.h>
- #include "characterdata.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-@@ -62,6 +62,8 @@ namespace DOM
-         virtual void SAL_CALL saxify(
-             const Reference< XDocumentHandler >& i_xHandler);
- 
-+        virtual void SAL_CALL fastSaxify( Context& io_rContext );
-+
- 	     // Breaks this node into two nodes at the specified offset, keeping 
- 	     // both in the tree as siblings.
- 	     virtual Reference< XText > SAL_CALL splitText(sal_Int32 offset)
-diff --git unoxml/source/events/mouseevent.hxx unoxml/source/events/mouseevent.hxx
-index a3d4f37..b4a9ade 100644
---- unoxml/source/events/mouseevent.hxx
-+++ unoxml/source/events/mouseevent.hxx
-@@ -15,7 +15,7 @@
- #include "event.hxx"
- #include "uievent.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- 
- namespace DOM { namespace events {
- 
-diff --git unoxml/source/events/mutationevent.hxx unoxml/source/events/mutationevent.hxx
-index d20c246..5ff545f 100644
---- unoxml/source/events/mutationevent.hxx
-+++ unoxml/source/events/mutationevent.hxx
-@@ -13,7 +13,7 @@
- #include <com/sun/star/xml/dom/events/XMutationEvent.hpp>
- #include "event.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- 
- namespace DOM { namespace events {
- 
-diff --git unoxml/source/events/testlistener.hxx unoxml/source/events/testlistener.hxx
-index 7a9d16c..2e12a1a 100644
---- unoxml/source/events/testlistener.hxx
-+++ unoxml/source/events/testlistener.hxx
-@@ -54,7 +54,7 @@
- 
- #include "libxml/tree.h"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/events/uievent.hxx unoxml/source/events/uievent.hxx
-index ba34a96..d9cd5cc 100644
---- unoxml/source/events/uievent.hxx
-+++ unoxml/source/events/uievent.hxx
-@@ -14,7 +14,7 @@
- #include <com/sun/star/xml/dom/views/XAbstractView.hpp>
- #include "event.hxx"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::xml::dom::views;
- 
- namespace DOM { namespace events {
-diff --git unoxml/source/service/makefile.mk unoxml/source/service/makefile.mk
-index 4cc13a4..363f4b3 100644
---- unoxml/source/service/makefile.mk
-+++ unoxml/source/service/makefile.mk
-@@ -73,6 +73,7 @@ SHL1STDLIBS= \
- 	$(COMPHELPERLIB)	\
- 	$(CPPUHELPERLIB)	\
- 	$(CPPULIB)	\
-+	$(SAXLIB) \
- 	$(SALLIB)\
- 	$(EXPATASCII3RDLIB)
- 
-diff --git unoxml/source/xpath/nodelist.hxx unoxml/source/xpath/nodelist.hxx
-index 6b94f99..336a611 100644
---- unoxml/source/xpath/nodelist.hxx
-+++ unoxml/source/xpath/nodelist.hxx
-@@ -43,7 +43,7 @@
- #include "libxml/xpath.h"
- #include <boost/shared_ptr.hpp>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/xpath/xpathapi.hxx unoxml/source/xpath/xpathapi.hxx
-index 4291728..29e5461 100644
---- unoxml/source/xpath/xpathapi.hxx
-+++ unoxml/source/xpath/xpathapi.hxx
-@@ -52,11 +52,10 @@
- #include <com/sun/star/lang/XServiceInfo.hpp>
- #include <com/sun/star/lang/XSingleServiceFactory.hpp>
- #include <com/sun/star/lang/XMultiServiceFactory.hpp>
--#include <com/sun/star/lang/XUnoTunnel.hpp>
- 
- #include "libxml/tree.h"
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/xpath/xpathobject.hxx unoxml/source/xpath/xpathobject.hxx
-index 94cba5f..ac7e5fb 100644
---- unoxml/source/xpath/xpathobject.hxx
-+++ unoxml/source/xpath/xpathobject.hxx
-@@ -43,7 +43,7 @@
- #include <libxml/xpath.h>
- #include <boost/shared_ptr.hpp>
- 
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/test/domtest.cxx unoxml/test/domtest.cxx
-new file mode 100644
-index 0000000..9b9c302
---- /dev/null
-+++ unoxml/test/domtest.cxx
-@@ -0,0 +1,402 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ * 
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: basictest.cxx,v $
-+ * $Revision: 1.12 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+// autogenerated file with codegen.pl
-+
-+#include <cppunit/simpleheader.hxx>
-+
-+#include <rtl/ref.hxx>
-+#include <osl/file.hxx>
-+#include <osl/process.h>
-+#include <comphelper/seqstream.hxx>
-+#include <comphelper/sequence.hxx>
-+#include <cppuhelper/compbase1.hxx>
-+#include <cppuhelper/bootstrap.hxx>
-+#include <cppuhelper/basemutex.hxx>
-+
-+#include <com/sun/star/xml/sax/FastToken.hpp>
-+#include <com/sun/star/xml/sax/XSAXSerializable.hpp>
-+#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
-+
-+#include "../source/dom/documentbuilder.hxx"
-+
-+
-+using namespace ::DOM;
-+using namespace ::comphelper;
-+using namespace ::com::sun::star;
-+
-+namespace
-+{
-+
-+// valid xml
-+static const char validTestFile[] = 
-+"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
-+ <office:document-content \
-+   xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" \
-+   xmlns:xlink=\"http://www.w3.org/1999/xlink\" \
-+   office:version=\"1.0\"> \
-+   <office:scripts/> \
-+   <xlink:test/> \
-+   <office:automatic-styles teststyle=\"test\"/> \
-+   <moretest/> \
-+    some text öäü \
-+ </office:document-content> \
-+";
-+
-+// generates a warning: unsupported xml version, unknown xml:space
-+// value
-+static const char warningTestFile[] =
-+"<?xml version=\"47-11.0\" encoding=\"UTF-8\"?> \
-+ <office:document-content \
-+   xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" \
-+   xml:space=\"blafasl\" \
-+   office:version=\"1.0\"> \
-+   <office:scripts/> \
-+   <office:automatic-styles/> \
-+ </office:document-content> \
-+";
-+
-+// <?xml not at start of file
-+static const char errorTestFile[] =
-+" <?xml version=\"1.0\" encoding=\"UTF-8\"?> \
-+ <office:document-content \
-+   xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" \
-+   office:version=\"1.0\"> \
-+   <office:scripts/> \
-+   <office:automatic-styles/> \
-+ </office:document-content> \
-+";
-+
-+// plain empty
-+static const char fatalTestFile[] = "";
-+
-+struct ErrorHandler 
-+    : public ::cppu::WeakImplHelper1< xml::sax::XErrorHandler >
-+{
-+    sal_uInt32 mnErrCount;
-+    sal_uInt32 mnFatalCount;
-+    sal_uInt32 mnWarnCount;
-+
-+    bool noErrors() const { return !mnErrCount && !mnFatalCount && !mnWarnCount; }
-+
-+    ErrorHandler() : mnErrCount(0), mnFatalCount(0), mnWarnCount(0)
-+    {}
-+
-+    virtual void SAL_CALL error( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+        ++mnErrCount;
-+    }
-+
-+    virtual void SAL_CALL fatalError( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+        ++mnFatalCount;
-+    }
-+
-+    virtual void SAL_CALL warning( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+        ++mnWarnCount;
-+    }
-+};
-+
-+struct DocumentHandler 
-+    : public ::cppu::WeakImplHelper1< xml::sax::XFastDocumentHandler >
-+{
-+    // XFastContextHandler
-+    virtual void SAL_CALL startFastElement( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+        OSL_TRACE("Seen element: %c with namespace 0x%x",
-+                  Element & 0xFFFF, Element & 0xFFFF0000);
-+    }
-+
-+    virtual void SAL_CALL startUnknownElement( const ::rtl::OUString& Namespace, const ::rtl::OUString& Name, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+
-+    virtual void SAL_CALL endFastElement( ::sal_Int32 Element ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+
-+    virtual void SAL_CALL endUnknownElement( const ::rtl::OUString& Namespace, const ::rtl::OUString& Name ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+
-+    virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+        return this;
-+    }
-+
-+    virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext( const ::rtl::OUString& Namespace, const ::rtl::OUString& Name, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+        return this;
-+    }
-+
-+    virtual void SAL_CALL characters( const ::rtl::OUString& aChars ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+
-+    // XFastDocumentHandler
-+    virtual void SAL_CALL startDocument(  ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+
-+    virtual void SAL_CALL endDocument(  ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+
-+    virtual void SAL_CALL setDocumentLocator( const uno::Reference< xml::sax::XLocator >& xLocator ) throw (xml::sax::SAXException, uno::RuntimeException)
-+    {
-+    }
-+};
-+
-+struct TokenHandler 
-+    : public ::cppu::WeakImplHelper1< xml::sax::XFastTokenHandler >
-+{
-+    virtual ::sal_Int32 SAL_CALL getToken( const ::rtl::OUString& Identifier ) throw (uno::RuntimeException)
-+    {
-+        CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getToken() unexpected call", 
-+                                false );
-+        return -1;
-+    }
-+
-+    virtual ::rtl::OUString SAL_CALL getIdentifier( ::sal_Int32 Token ) throw (uno::RuntimeException)
-+    {
-+        CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getIdentifier() unexpected call", 
-+                                false );
-+        return rtl::OUString();
-+    }
-+
-+    virtual ::sal_Int32 SAL_CALL getTokenFromUTF8( const uno::Sequence< ::sal_Int8 >& Identifier ) throw (uno::RuntimeException)
-+    {
-+        OSL_TRACE("getTokenFromUTF8() %s", (const char*)Identifier.getConstArray());
-+        return Identifier.getLength() ? Identifier[0] : 0;
-+    }
-+
-+    virtual uno::Sequence< ::sal_Int8 > SAL_CALL getUTF8Identifier( ::sal_Int32 Token ) throw (uno::RuntimeException)
-+    {
-+        CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getUTF8Identifier() unexpected call", 
-+                                false );
-+        return uno::Sequence<sal_Int8>();
-+    }
-+};
-+
-+struct BasicTest : public CppUnit::TestFixture
-+{
-+    rtl::Reference<CDocumentBuilder>    mxDomBuilder;
-+    rtl::Reference<ErrorHandler>        mxErrHandler;
-+    rtl::Reference<SequenceInputStream> mxValidInStream;
-+    rtl::Reference<SequenceInputStream> mxWarningInStream;
-+    rtl::Reference<SequenceInputStream> mxErrorInStream;
-+    rtl::Reference<SequenceInputStream> mxFatalInStream;
-+
-+    void setUp()
-+    {
-+        // luckily, DOM builder doesn't use service fac, so we need
-+        // not bootstrap uno here
-+        mxErrHandler.set( new ErrorHandler() );
-+        mxDomBuilder.set( new CDocumentBuilder(Reference< XMultiServiceFactory >() ));
-+        mxValidInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)validTestFile,
-+                                                                  sizeof(validTestFile)/sizeof(*validTestFile))) );
-+        mxWarningInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)warningTestFile,
-+                                                                    sizeof(warningTestFile)/sizeof(*warningTestFile))) );
-+        mxErrorInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)errorTestFile,
-+                                                                  sizeof(errorTestFile)/sizeof(*errorTestFile))) );
-+        mxFatalInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)fatalTestFile,
-+                                                                  sizeof(fatalTestFile)/sizeof(*fatalTestFile))) );
-+        mxDomBuilder->setErrorHandler(mxErrHandler.get());
-+    }
-+
-+    void validInputTest()
-+    {        
-+        CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #1", 
-+                                mxDomBuilder->parse(
-+                                    uno::Reference<io::XInputStream>(
-+                                        mxValidInStream.get())).is() );
-+        CPPUNIT_ASSERT_MESSAGE( "Valid input file resulted in parse errors", 
-+                                mxErrHandler->noErrors() );
-+    }
-+
-+    void warningInputTest()
-+    {
-+        CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #2", 
-+                                mxDomBuilder->parse(
-+                                    uno::Reference<io::XInputStream>(
-+                                        mxWarningInStream.get())).is() );
-+        CPPUNIT_ASSERT_MESSAGE( "No parse warnings in unclean input file", 
-+                                mxErrHandler->mnWarnCount && !mxErrHandler->mnErrCount && !mxErrHandler->mnFatalCount );
-+    }
-+
-+    void errorInputTest()
-+    {        
-+        CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #3", 
-+                                mxDomBuilder->parse(
-+                                    uno::Reference<io::XInputStream>(
-+                                        mxErrorInStream.get())).is() );
-+        CPPUNIT_ASSERT_MESSAGE( "No parse errors in unclean input file", 
-+                                !mxErrHandler->mnWarnCount && mxErrHandler->mnErrCount && !mxErrHandler->mnFatalCount );
-+    }
-+
-+    void fatalInputTest()
-+    {        
-+        CPPUNIT_ASSERT_MESSAGE( "Broken input file resulted in XDocument", 
-+                                !mxDomBuilder->parse(
-+                                    uno::Reference<io::XInputStream>(
-+                                        mxFatalInStream.get())).is() );
-+        CPPUNIT_ASSERT_MESSAGE( "No fatal parse errors in unclean input file", 
-+                                !mxErrHandler->mnWarnCount && !mxErrHandler->mnErrCount && mxErrHandler->mnFatalCount );
-+    };
-+
-+    // Change the following lines only, if you add, remove or rename 
-+    // member functions of the current class, 
-+    // because these macros are need by auto register mechanism.
-+    CPPUNIT_TEST_SUITE(BasicTest);
-+    CPPUNIT_TEST(validInputTest);
-+    CPPUNIT_TEST(warningInputTest);
-+    CPPUNIT_TEST(errorInputTest);
-+    CPPUNIT_TEST(fatalInputTest);
-+    CPPUNIT_TEST_SUITE_END();
-+};
-+
-+struct SerializerTest : public CppUnit::TestFixture
-+{
-+    SerializerTest() : mbUnoInitialized(false) {}
-+
-+    uno::Reference<uno::XComponentContext>                   mxCtx;
-+    rtl::Reference<CDocumentBuilder>                         mxDomBuilder;
-+    rtl::Reference<ErrorHandler>                             mxErrHandler;
-+    rtl::Reference<SequenceInputStream>                      mxInStream;
-+    rtl::Reference<DocumentHandler>                          mxHandler;
-+    rtl::Reference<TokenHandler>                             mxTokHandler;
-+    uno::Sequence< beans::Pair< rtl::OUString, sal_Int32 > > maRegisteredNamespaces;
-+    bool                                                     mbUnoInitialized;
-+
-+    void setUp()
-+    {
-+        // need working typelib, bootstrap UNO now
-+        if( !mbUnoInitialized )
-+        {
-+            const char* pArgs( getForwardString() );
-+            CPPUNIT_ASSERT_MESSAGE("Test file parameter", pArgs);
-+
-+            const rtl::OUString sBaseDir=rtl::OUString::createFromAscii(pArgs);
-+
-+            // bootstrap UNO
-+            try
-+            {
-+                ::rtl::OUString aIniUrl;
-+                CPPUNIT_ASSERT_MESSAGE( 
-+                    "Converting ini file to URL",
-+                    osl_getFileURLFromSystemPath( 
-+                        (sBaseDir+rtl::OUString::createFromAscii("unoxml_unittest_test.ini")).pData, 
-+                        &aIniUrl.pData ) == osl_File_E_None );
-+
-+                mxCtx = ::cppu::defaultBootstrap_InitialComponentContext(aIniUrl);
-+                CPPUNIT_ASSERT_MESSAGE("Getting component context", mxCtx.is());
-+            }
-+            catch( uno::Exception& )
-+            {
-+                CPPUNIT_ASSERT_MESSAGE("Bootstrapping UNO", false);
-+            }
-+
-+            mbUnoInitialized = true;
-+        }
-+
-+        mxErrHandler.set( new ErrorHandler() );
-+        mxDomBuilder.set( new CDocumentBuilder(
-+                              uno::Reference< lang::XMultiServiceFactory >(  
-+                                  mxCtx->getServiceManager(), 
-+                                  uno::UNO_QUERY )));
-+        mxInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)validTestFile,
-+                                                             sizeof(validTestFile)/sizeof(*validTestFile))) );
-+        mxDomBuilder->setErrorHandler(mxErrHandler.get());
-+
-+        mxHandler.set( new DocumentHandler() );
-+        mxTokHandler.set( new TokenHandler() );
-+
-+        maRegisteredNamespaces.realloc(2);
-+        maRegisteredNamespaces[0] = beans::make_Pair(
-+            rtl::OUString( 
-+                RTL_CONSTASCII_USTRINGPARAM(
-+                    "urn:oasis:names:tc:opendocument:xmlns:office:1.0") ),
-+            xml::sax::FastToken::NAMESPACE);
-+        maRegisteredNamespaces[1] = beans::make_Pair(
-+            rtl::OUString( 
-+                RTL_CONSTASCII_USTRINGPARAM(
-+                    "http://www.w3.org/1999/xlink") ),
-+            2*xml::sax::FastToken::NAMESPACE);
-+    }
-+
-+    void serializerTest ()
-+    {        
-+        uno::Reference< xml::dom::XDocument > xDoc=
-+            mxDomBuilder->parse(
-+                uno::Reference<io::XInputStream>(
-+                    mxInStream.get()));
-+        CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument", 
-+                                xDoc.is() );
-+        CPPUNIT_ASSERT_MESSAGE( "Valid input file resulted in parse errors", 
-+                                mxErrHandler->noErrors() );
-+
-+        uno::Reference< xml::sax::XSAXSerializable > xSaxSerializer(
-+            xDoc, uno::UNO_QUERY);
-+        CPPUNIT_ASSERT_MESSAGE( "XSAXSerializable not supported", 
-+                                xSaxSerializer.is() );
-+
-+        uno::Reference< xml::sax::XFastSAXSerializable > xFastSaxSerializer(
-+            xDoc, uno::UNO_QUERY);
-+        CPPUNIT_ASSERT_MESSAGE( "XFastSAXSerializable not supported", 
-+                                xSaxSerializer.is() );
-+
-+        xFastSaxSerializer->fastSerialize( mxHandler.get(), 
-+                                           mxTokHandler.get(), 
-+                                           uno::Sequence< beans::StringPair >(),
-+                                           maRegisteredNamespaces );
-+    }
-+
-+    // Change the following lines only, if you add, remove or rename 
-+    // member functions of the current class, 
-+    // because these macros are need by auto register mechanism.
-+
-+    CPPUNIT_TEST_SUITE(SerializerTest);
-+    CPPUNIT_TEST(serializerTest);
-+    CPPUNIT_TEST_SUITE_END();
-+};
-+
-+// -----------------------------------------------------------------------------
-+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(BasicTest, "BasicTest");
-+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(SerializerTest, "SerializerTest");
-+}
-+
-+
-+// -----------------------------------------------------------------------------
-+
-+// this macro creates an empty function, which will called by the RegisterAllFunctions()
-+// to let the user the possibility to also register some functions by hand.
-+NOADDITIONAL;
-+
-diff --git unoxml/test/export.map unoxml/test/export.map
-new file mode 100644
-index 0000000..0bc81ba
---- /dev/null
-+++ unoxml/test/export.map
-@@ -0,0 +1,38 @@
-+#*************************************************************************
-+#
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+# 
-+# Copyright 2008 by Sun Microsystems, Inc.
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# $RCSfile: export.map,v $
-+#
-+# $Revision: 1.2 $
-+#
-+# This file is part of OpenOffice.org.
-+#
-+# OpenOffice.org is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU Lesser General Public License version 3
-+# only, as published by the Free Software Foundation.
-+#
-+# OpenOffice.org is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU Lesser General Public License version 3 for more details
-+# (a copy is included in the LICENSE file that accompanied this code).
-+#
-+# You should have received a copy of the GNU Lesser General Public License
-+# version 3 along with OpenOffice.org.  If not, see
-+# <http://www.openoffice.org/license.html>
-+# for a copy of the LGPLv3 License.
-+#
-+#*************************************************************************
-+
-+UDK_3.1 {
-+    global:
-+		registerAllTestFunction;
-+
-+    local:
-+        *;
-+};
-diff --git unoxml/test/makefile.mk unoxml/test/makefile.mk
-new file mode 100644
-index 0000000..2c1c784
---- /dev/null
-+++ unoxml/test/makefile.mk
-@@ -0,0 +1,106 @@
-+#*************************************************************************
-+#
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+# 
-+# Copyright 2008 by Sun Microsystems, Inc.
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# $RCSfile: makefile.mk,v $
-+#
-+# $Revision: 1.9 $
-+#
-+# This file is part of OpenOffice.org.
-+#
-+# OpenOffice.org is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU Lesser General Public License version 3
-+# only, as published by the Free Software Foundation.
-+#
-+# OpenOffice.org is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU Lesser General Public License version 3 for more details
-+# (a copy is included in the LICENSE file that accompanied this code).
-+#
-+# You should have received a copy of the GNU Lesser General Public License
-+# version 3 along with OpenOffice.org.  If not, see
-+# <http://www.openoffice.org/license.html>
-+# for a copy of the LGPLv3 License.
-+#
-+#*************************************************************************
-+
-+PRJ=..
-+
-+PRJNAME=unoxml
-+TARGET=tests
-+TARGETTYPE=GUI
-+
-+ENABLE_EXCEPTIONS=TRUE
-+
-+# --- Settings -----------------------------------------------------
-+
-+.INCLUDE :  settings.mk
-+
-+# --- Common ----------------------------------------------------------
-+
-+# BEGIN ----------------------------------------------------------------
-+# auto generated Target:tests by codegen.pl 
-+SHL1OBJS=  \
-+	$(SLO)$/domtest.obj
-+
-+# the following three libs are a bit of a hack: cannot link against
-+# unoxml here, because not yet delivered (and does not export
-+# ~anything). Need the functionality to test, so we're linking it in
-+# statically. Need to keep this in sync with
-+# source/services/makefile.mk
-+SHL1LIBS= \
-+    $(SLB)$/domimpl.lib \
-+    $(SLB)$/xpathimpl.lib \
-+    $(SLB)$/eventsimpl.lib
-+
-+SHL1TARGET= tests
-+SHL1STDLIBS= \
-+    $(UCBHELPERLIB) \
-+    $(LIBXML2LIB) \
-+	$(TOOLSLIB)	\
-+	$(COMPHELPERLIB)	\
-+	$(CPPUHELPERLIB)	\
-+	$(CPPUNITLIB)	 \
-+	$(CPPULIB)	\
-+	$(SAXLIB) \
-+	$(SALLIB)\
-+	$(EXPATASCII3RDLIB)
-+
-+SHL1IMPLIB= i$(SHL1TARGET)
-+
-+DEF1NAME    =$(SHL1TARGET)
-+SHL1VERSIONMAP = export.map 
-+
-+# END ------------------------------------------------------------------
-+
-+#------------------------------- All object files -------------------------------
-+# do this here, so we get right dependencies
-+SLOFILES=$(SHL1OBJS) 
-+
-+# --- Targets ------------------------------------------------------
-+
-+.INCLUDE : target.mk
-+.INCLUDE : _cppunit.mk 
-+
-+# --- Fake uno bootstrap ------------------------
-+
-+$(BIN)$/unoxml_unittest_test.ini : makefile.mk
-+	rm -f $@
-+	@echo UNO_SERVICES= > $@
-+	@echo UNO_TYPES=$(UNOUCRRDB:s/\/\\/) >> $@
-+
-+# --- Enable testshl2 execution in normal build ------------------------
-+
-+$(MISC)$/unoxml_unittest_succeeded : $(SHL1TARGETN) $(BIN)$/unoxml_unittest_test.ini
-+		@echo ----------------------------------------------------------
-+		@echo - start unit test on library $(SHL1TARGETN)
-+		@echo ----------------------------------------------------------
-+		testshl2 -forward $(BIN)$/ -sf $(mktmp ) $(SHL1TARGETN)
-+		$(TOUCH) $@
-+
-+ALLTAR : $(MISC)$/unoxml_unittest_succeeded


More information about the ooo-build-commit mailing list