xref: /aoo42x/main/unoxml/source/dom/text.cxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #include <text.hxx>
29 
30 
31 namespace DOM
32 {
33     CText::CText(CDocument const& rDocument, ::osl::Mutex const& rMutex,
34             NodeType const& reNodeType, xmlNodePtr const& rpNode)
35         : CText_Base(rDocument, rMutex, reNodeType, rpNode)
36     {
37     }
38 
39     CText::CText(CDocument const& rDocument, ::osl::Mutex const& rMutex,
40             xmlNodePtr const pNode)
41         : CText_Base(rDocument, rMutex, NodeType_TEXT_NODE, pNode)
42     {
43     }
44 
45     void CText::saxify(
46             const Reference< XDocumentHandler >& i_xHandler) {
47         if (!i_xHandler.is()) throw RuntimeException();
48         i_xHandler->characters(getData());
49     }
50 
51     void CText::fastSaxify( Context& io_rContext )
52     {
53         if (io_rContext.mxCurrentHandler.is())
54         {
55             try
56             {
57                 io_rContext.mxCurrentHandler->characters( getData() );
58             }
59             catch( Exception& )
60             {}
61         }
62     }
63 
64     OUString SAL_CALL CText::getNodeName() throw (RuntimeException)
65     {
66         return OUString::createFromAscii("#text");
67     }
68 
69     Reference< XText > SAL_CALL CText::splitText(sal_Int32 /*offset*/)
70          throw (RuntimeException)
71     {
72         OSL_ENSURE(false, "CText::splitText: not implemented (#i113683#)");
73         return Reference< XText >(this);
74     }
75 }
76