LibreOffice Module xmlsecurity (master) 1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
XMLDocumentWrapper_XmlSecImpl Class Referencefinal

NAME XMLDocumentWrapper_XmlSecImpl – Class to manipulate a libxml2 document. More...

#include <xmldocumentwrapper_xmlsecimpl.hxx>

Inheritance diagram for XMLDocumentWrapper_XmlSecImpl:
[legend]
Collaboration diagram for XMLDocumentWrapper_XmlSecImpl:
[legend]

Public Member Functions

 XMLDocumentWrapper_XmlSecImpl ()
 
virtual ~XMLDocumentWrapper_XmlSecImpl () override
 
virtual css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL getCurrentElement () override
 
virtual void SAL_CALL setCurrentElement (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &element) override
 
virtual void SAL_CALL removeCurrentElement () override
 
virtual sal_Bool SAL_CALL isCurrent (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &node) override
 
virtual sal_Bool SAL_CALL isCurrentElementEmpty () override
 
virtual OUString SAL_CALL getNodeName (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &node) override
 
virtual void SAL_CALL clearUselessData (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &node, const css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > &reservedDescendants, const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &stopAtNode) override
 
virtual void SAL_CALL collapse (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &node) override
 
virtual void SAL_CALL generateSAXEvents (const css::uno::Reference< css::xml::sax::XDocumentHandler > &handler, const css::uno::Reference< css::xml::sax::XDocumentHandler > &xEventKeeperHandler, const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &startNode, const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &endNode) override
 
virtual void SAL_CALL getTree (const css::uno::Reference< css::xml::sax::XDocumentHandler > &handler) override
 
virtual void SAL_CALL rebuildIDLink (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &node) override
 
virtual void SAL_CALL startDocument () override
 
virtual void SAL_CALL endDocument () override
 
virtual void SAL_CALL startElement (const OUString &aName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
 
virtual void SAL_CALL endElement (const OUString &aName) override
 
virtual void SAL_CALL characters (const OUString &aChars) override
 
virtual void SAL_CALL ignorableWhitespace (const OUString &aWhitespaces) override
 
virtual void SAL_CALL processingInstruction (const OUString &aTarget, const OUString &aData) override
 
virtual void SAL_CALL setDocumentLocator (const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
 
virtual void SAL_CALL compressedStartDocument () override
 
virtual void SAL_CALL compressedEndDocument () override
 
virtual void SAL_CALL compressedStartElement (const OUString &aName, const css::uno::Sequence< css::xml::csax::XMLAttribute > &aAttributes) override
 
virtual void SAL_CALL compressedEndElement (const OUString &aName) override
 
virtual void SAL_CALL compressedCharacters (const OUString &aChars) override
 
virtual void SAL_CALL compressedIgnorableWhitespace (const OUString &aWhitespaces) override
 
virtual void SAL_CALL compressedProcessingInstruction (const OUString &aTarget, const OUString &aData) override
 
virtual void SAL_CALL compressedSetDocumentLocator (sal_Int32 columnNumber, sal_Int32 lineNumber, const OUString &publicId, const OUString &systemId) override
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 

Private Member Functions

void getNextSAXEvent ()
 
sal_Int32 recursiveDelete (const xmlNodePtr pNode)
 
void getNextReservedNode ()
 
void removeNode (const xmlNodePtr pNode) const
 
void buildIDAttr (xmlNodePtr pNode) const
 
void rebuildIDLink (xmlNodePtr pNode) const
 

Static Private Member Functions

static void sendStartElement (const css::uno::Reference< css::xml::sax::XDocumentHandler > &xHandler, const css::uno::Reference< css::xml::sax::XDocumentHandler > &xHandler2, const xmlNodePtr pNode)
 
static void sendEndElement (const css::uno::Reference< css::xml::sax::XDocumentHandler > &xHandler, const css::uno::Reference< css::xml::sax::XDocumentHandler > &xHandler2, const xmlNodePtr pNode)
 
static void sendNode (const css::uno::Reference< css::xml::sax::XDocumentHandler > &xHandler, const css::uno::Reference< css::xml::sax::XDocumentHandler > &xHandler2, const xmlNodePtr pNode)
 
static OString getNodeQName (const xmlNodePtr pNode)
 
static xmlNodePtr checkElement (const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &xXMLElement)
 

Private Attributes

SAXHelper saxHelper
 
xmlDocPtr m_pDocument
 
xmlNodePtr m_pRootElement
 
xmlNodePtr m_pCurrentElement
 
sal_Int32 m_nCurrentPosition
 
xmlNodePtr m_pStopAtNode
 
xmlNodePtr m_pCurrentReservedNode
 
css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > m_aReservedNodes
 
sal_Int32 m_nReservedNodeIndex
 

Detailed Description

NAME XMLDocumentWrapper_XmlSecImpl – Class to manipulate a libxml2 document.

FUNCTION Converts SAX events into a libxml2 document, converts the document back into SAX event stream, and manipulate nodes in the document.

Definition at line 36 of file xmldocumentwrapper_xmlsecimpl.hxx.

Constructor & Destructor Documentation

◆ XMLDocumentWrapper_XmlSecImpl()

XMLDocumentWrapper_XmlSecImpl::XMLDocumentWrapper_XmlSecImpl ( )

◆ ~XMLDocumentWrapper_XmlSecImpl()

XMLDocumentWrapper_XmlSecImpl::~XMLDocumentWrapper_XmlSecImpl ( )
overridevirtual

Member Function Documentation

◆ buildIDAttr()

void XMLDocumentWrapper_XmlSecImpl::buildIDAttr ( xmlNodePtr  pNode) const
private

Definition at line 527 of file xmldocumentwrapper_xmlsecimpl.cxx.

Referenced by compressedStartElement().

◆ characters()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::characters ( const OUString &  aChars)
overridevirtual

Definition at line 817 of file xmldocumentwrapper_xmlsecimpl.cxx.

References SAXHelper::characters(), and saxHelper.

Referenced by compressedCharacters().

◆ checkElement()

xmlNodePtr XMLDocumentWrapper_XmlSecImpl::checkElement ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  xXMLElement)
staticprivate

◆ clearUselessData()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::clearUselessData ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  node,
const css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > &  reservedDescendants,
const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  stopAtNode 
)
overridevirtual

◆ collapse()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::collapse ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  node)
overridevirtual

◆ compressedCharacters()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedCharacters ( const OUString &  aChars)
overridevirtual

Definition at line 858 of file xmldocumentwrapper_xmlsecimpl.cxx.

References characters().

◆ compressedEndDocument()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedEndDocument ( )
overridevirtual

Definition at line 841 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ compressedEndElement()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedEndElement ( const OUString &  aName)
overridevirtual

Definition at line 853 of file xmldocumentwrapper_xmlsecimpl.cxx.

References aName, and endElement().

◆ compressedIgnorableWhitespace()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedIgnorableWhitespace ( const OUString &  aWhitespaces)
overridevirtual

Definition at line 863 of file xmldocumentwrapper_xmlsecimpl.cxx.

References ignorableWhitespace().

◆ compressedProcessingInstruction()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedProcessingInstruction ( const OUString &  aTarget,
const OUString &  aData 
)
overridevirtual

Definition at line 868 of file xmldocumentwrapper_xmlsecimpl.cxx.

References aData, and processingInstruction().

◆ compressedSetDocumentLocator()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedSetDocumentLocator ( sal_Int32  columnNumber,
sal_Int32  lineNumber,
const OUString &  publicId,
const OUString &  systemId 
)
overridevirtual

Definition at line 873 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ compressedStartDocument()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedStartDocument ( )
overridevirtual

Definition at line 837 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ compressedStartElement()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::compressedStartElement ( const OUString &  aName,
const css::uno::Sequence< css::xml::csax::XMLAttribute > &  aAttributes 
)
overridevirtual

◆ endDocument()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::endDocument ( )
overridevirtual

Definition at line 792 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ endElement()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::endElement ( const OUString &  aName)
overridevirtual

◆ generateSAXEvents()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::generateSAXEvents ( const css::uno::Reference< css::xml::sax::XDocumentHandler > &  handler,
const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xEventKeeperHandler,
const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  startNode,
const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  endNode 
)
overridevirtual

◆ getCurrentElement()

uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL XMLDocumentWrapper_XmlSecImpl::getCurrentElement ( )
overridevirtual

Definition at line 574 of file xmldocumentwrapper_xmlsecimpl.cxx.

References m_pCurrentElement.

◆ getImplementationName()

OUString SAL_CALL XMLDocumentWrapper_XmlSecImpl::getImplementationName ( )
overridevirtual

Definition at line 878 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ getNextReservedNode()

void XMLDocumentWrapper_XmlSecImpl::getNextReservedNode ( )
private

◆ getNextSAXEvent()

void XMLDocumentWrapper_XmlSecImpl::getNextSAXEvent ( )
private

◆ getNodeName()

OUString SAL_CALL XMLDocumentWrapper_XmlSecImpl::getNodeName ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  node)
overridevirtual

Definition at line 624 of file xmldocumentwrapper_xmlsecimpl.cxx.

References checkElement().

◆ getNodeQName()

OString XMLDocumentWrapper_XmlSecImpl::getNodeQName ( const xmlNodePtr  pNode)
staticprivate

Definition at line 326 of file xmldocumentwrapper_xmlsecimpl.cxx.

References sPrefix.

Referenced by sendEndElement(), and sendStartElement().

◆ getSupportedServiceNames()

uno::Sequence< OUString > SAL_CALL XMLDocumentWrapper_XmlSecImpl::getSupportedServiceNames ( )
overridevirtual

Definition at line 888 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ getTree()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::getTree ( const css::uno::Reference< css::xml::sax::XDocumentHandler > &  handler)
overridevirtual

◆ ignorableWhitespace()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::ignorableWhitespace ( const OUString &  aWhitespaces)
overridevirtual

◆ isCurrent()

sal_Bool SAL_CALL XMLDocumentWrapper_XmlSecImpl::isCurrent ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  node)
overridevirtual

Definition at line 606 of file xmldocumentwrapper_xmlsecimpl.cxx.

References checkElement(), and m_pCurrentElement.

◆ isCurrentElementEmpty()

sal_Bool SAL_CALL XMLDocumentWrapper_XmlSecImpl::isCurrentElementEmpty ( )
overridevirtual

Definition at line 612 of file xmldocumentwrapper_xmlsecimpl.cxx.

References m_pCurrentElement.

◆ processingInstruction()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::processingInstruction ( const OUString &  aTarget,
const OUString &  aData 
)
overridevirtual

◆ rebuildIDLink() [1/2]

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::rebuildIDLink ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  node)
overridevirtual

Definition at line 779 of file xmldocumentwrapper_xmlsecimpl.cxx.

References checkElement(), and rebuildIDLink().

◆ rebuildIDLink() [2/2]

void XMLDocumentWrapper_XmlSecImpl::rebuildIDLink ( xmlNodePtr  pNode) const
private

Definition at line 550 of file xmldocumentwrapper_xmlsecimpl.cxx.

Referenced by rebuildIDLink().

◆ recursiveDelete()

sal_Int32 XMLDocumentWrapper_XmlSecImpl::recursiveDelete ( const xmlNodePtr  pNode)
private

◆ removeCurrentElement()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::removeCurrentElement ( )
overridevirtual

◆ removeNode()

void XMLDocumentWrapper_XmlSecImpl::removeNode ( const xmlNodePtr  pNode) const
private

Definition at line 495 of file xmldocumentwrapper_xmlsecimpl.cxx.

References stricmp.

Referenced by collapse(), recursiveDelete(), and removeCurrentElement().

◆ sendEndElement()

void XMLDocumentWrapper_XmlSecImpl::sendEndElement ( const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xHandler,
const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xHandler2,
const xmlNodePtr  pNode 
)
staticprivate
Exceptions
css::xml::sax::SAXException

Definition at line 240 of file xmldocumentwrapper_xmlsecimpl.cxx.

References getNodeQName().

Referenced by generateSAXEvents(), and getTree().

◆ sendNode()

void XMLDocumentWrapper_XmlSecImpl::sendNode ( const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xHandler,
const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xHandler2,
const xmlNodePtr  pNode 
)
staticprivate
Exceptions
css::xml::sax::SAXException

Definition at line 273 of file xmldocumentwrapper_xmlsecimpl.cxx.

References type.

Referenced by generateSAXEvents(), and getTree().

◆ sendStartElement()

void XMLDocumentWrapper_XmlSecImpl::sendStartElement ( const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xHandler,
const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xHandler2,
const xmlNodePtr  pNode 
)
staticprivate
Exceptions
css::xml::sax::SAXException

Definition at line 153 of file xmldocumentwrapper_xmlsecimpl.cxx.

References getNodeQName(), and STRXMLNS.

Referenced by generateSAXEvents(), and getTree().

◆ setCurrentElement()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::setCurrentElement ( const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  element)
overridevirtual

◆ setDocumentLocator()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::setDocumentLocator ( const css::uno::Reference< css::xml::sax::XLocator > &  xLocator)
overridevirtual

Definition at line 832 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ startDocument()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::startDocument ( )
overridevirtual

Definition at line 788 of file xmldocumentwrapper_xmlsecimpl.cxx.

◆ startElement()

void SAL_CALL XMLDocumentWrapper_XmlSecImpl::startElement ( const OUString &  aName,
const css::uno::Reference< css::xml::sax::XAttributeList > &  xAttribs 
)
overridevirtual

Definition at line 796 of file xmldocumentwrapper_xmlsecimpl.cxx.

References aName, compressedStartElement(), i, and nLength.

◆ supportsService()

sal_Bool SAL_CALL XMLDocumentWrapper_XmlSecImpl::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 883 of file xmldocumentwrapper_xmlsecimpl.cxx.

References cppu::supportsService().

Member Data Documentation

◆ m_aReservedNodes

css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > XMLDocumentWrapper_XmlSecImpl::m_aReservedNodes
private

Definition at line 80 of file xmldocumentwrapper_xmlsecimpl.hxx.

Referenced by clearUselessData(), and getNextReservedNode().

◆ m_nCurrentPosition

sal_Int32 XMLDocumentWrapper_XmlSecImpl::m_nCurrentPosition
private

Definition at line 73 of file xmldocumentwrapper_xmlsecimpl.hxx.

Referenced by generateSAXEvents(), getNextSAXEvent(), and getTree().

◆ m_nReservedNodeIndex

sal_Int32 XMLDocumentWrapper_XmlSecImpl::m_nReservedNodeIndex
private

Definition at line 81 of file xmldocumentwrapper_xmlsecimpl.hxx.

Referenced by clearUselessData(), and getNextReservedNode().

◆ m_pCurrentElement

xmlNodePtr XMLDocumentWrapper_XmlSecImpl::m_pCurrentElement
private

◆ m_pCurrentReservedNode

xmlNodePtr XMLDocumentWrapper_XmlSecImpl::m_pCurrentReservedNode
private

Definition at line 79 of file xmldocumentwrapper_xmlsecimpl.hxx.

Referenced by getNextReservedNode(), and recursiveDelete().

◆ m_pDocument

xmlDocPtr XMLDocumentWrapper_XmlSecImpl::m_pDocument
private

◆ m_pRootElement

xmlNodePtr XMLDocumentWrapper_XmlSecImpl::m_pRootElement
private

Definition at line 61 of file xmldocumentwrapper_xmlsecimpl.hxx.

Referenced by getTree(), and XMLDocumentWrapper_XmlSecImpl().

◆ m_pStopAtNode

xmlNodePtr XMLDocumentWrapper_XmlSecImpl::m_pStopAtNode
private

Definition at line 78 of file xmldocumentwrapper_xmlsecimpl.hxx.

Referenced by clearUselessData(), and recursiveDelete().

◆ saxHelper

SAXHelper XMLDocumentWrapper_XmlSecImpl::saxHelper
private

The documentation for this class was generated from the following files: