| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  | /*************************************************************************
 | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 22:48:42 +00:00
										 |  |  |  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2010-02-12 15:01:35 +01:00
										 |  |  |  * Copyright 2000, 2010 Oracle and/or its affiliates. | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 22:48:42 +00:00
										 |  |  |  * OpenOffice.org - a multi-platform office productivity suite | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 22:48:42 +00:00
										 |  |  |  * This file is part of OpenOffice.org. | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 22:48:42 +00:00
										 |  |  |  * 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. | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 22:48:42 +00:00
										 |  |  |  * 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). | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 22:48:42 +00:00
										 |  |  |  * 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. | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  ************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-09-17 10:27:29 +00:00
										 |  |  | // MARKER(update_precomp.py): autogen include statement, do not remove
 | 
					
						
							|  |  |  | #include "precompiled_xmloff.hxx"
 | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  | #include "ProcAddAttrTContext.hxx"
 | 
					
						
							|  |  |  | #include "MutableAttrList.hxx"
 | 
					
						
							|  |  |  | #ifndef _XMLOFF_TRANSFORMERBASE_HXX
 | 
					
						
							|  |  |  | #include "TransformerBase.hxx"
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2007-06-27 15:23:43 +00:00
										 |  |  | #include <xmloff/nmspmap.hxx>
 | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-12 10:15:43 +00:00
										 |  |  | using ::rtl::OUString; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-07-13 07:56:24 +00:00
										 |  |  | using namespace ::com::sun::star::uno; | 
					
						
							|  |  |  | using namespace ::com::sun::star::xml::sax; | 
					
						
							|  |  |  | using namespace ::xmloff::token; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TYPEINIT1( XMLProcAddAttrTransformerContext, XMLProcAttrTransformerContext); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | XMLProcAddAttrTransformerContext::XMLProcAddAttrTransformerContext( | 
					
						
							|  |  |  |         XMLTransformerBase& rImp, | 
					
						
							|  |  |  |         const OUString& rQName, | 
					
						
							|  |  |  |         sal_uInt16 nPrefix, | 
					
						
							|  |  |  |         ::xmloff::token::XMLTokenEnum eToken, | 
					
						
							|  |  |  |         sal_uInt16 nActionMap, | 
					
						
							|  |  |  |         sal_uInt16 nAPrefix, | 
					
						
							|  |  |  |            ::xmloff::token::XMLTokenEnum eAToken, | 
					
						
							|  |  |  |            ::xmloff::token::XMLTokenEnum eVToken ) : | 
					
						
							|  |  |  |     XMLProcAttrTransformerContext( rImp, rQName, nPrefix,  eToken, nActionMap ), | 
					
						
							|  |  |  |     m_aAttrQName( rImp.GetNamespaceMap().GetQNameByKey( nAPrefix, | 
					
						
							|  |  |  |                                     ::xmloff::token::GetXMLToken( eAToken ) ) ), | 
					
						
							|  |  |  |     m_aAttrValue( ::xmloff::token::GetXMLToken( eVToken ) ) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | XMLProcAddAttrTransformerContext::~XMLProcAddAttrTransformerContext() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void XMLProcAddAttrTransformerContext::StartElement( | 
					
						
							|  |  |  |         const Reference< XAttributeList >& rAttrList ) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     Reference< XAttributeList > xAttrList( rAttrList ); | 
					
						
							|  |  |  |     XMLMutableAttributeList *pMutableAttrList = | 
					
						
							|  |  |  |         GetTransformer().ProcessAttrList( xAttrList, GetActionMap(), | 
					
						
							|  |  |  |                                           sal_False ); | 
					
						
							|  |  |  |     if( !pMutableAttrList ) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         pMutableAttrList = new XMLMutableAttributeList; | 
					
						
							|  |  |  |         xAttrList = pMutableAttrList; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     pMutableAttrList->AddAttribute( m_aAttrQName, m_aAttrValue ); | 
					
						
							|  |  |  |     GetTransformer().GetDocHandler()->startElement( GetElemQName(), xAttrList ); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |