Ghidra Decompiler Analysis Engine
Public Member Functions | List of all members
DocumentStorage Class Reference

A container for parsed XML documents. More...

#include <xml.hh>

Public Member Functions

 ~DocumentStorage (void)
 Destructor.
 
DocumentparseDocument (istream &s)
 Parse an XML document from the given stream. More...
 
DocumentopenDocument (const string &filename)
 Open and parse an XML file. More...
 
void registerTag (const Element *el)
 Register the given XML Element object under its tag name. More...
 
const ElementgetTag (const string &nm) const
 Retrieve a registered XML Element by name. More...
 

Detailed Description

A container for parsed XML documents.

This holds multiple XML documents that have already been parsed. Documents can be put in this container, either by handing it a stream via parseDocument() or a filename via openDocument(). If they are explicitly registered, specific XML Elements can be looked up by name via getTag().

Member Function Documentation

◆ getTag()

const Element * DocumentStorage::getTag ( const string &  nm) const

Retrieve a registered XML Element by name.

Parameters
nmis the XML tag name
Returns
the matching registered Element or null

◆ openDocument()

Document * DocumentStorage::openDocument ( const string &  filename)

Open and parse an XML file.

The given filename is opened on the local filesystem and an attempt is made to parse its contents into an in-memory DOM tree. An XmlException is thrown for any parsing error.

Parameters
filenameis the name of the XML document file
Returns
the in-memory DOM tree

◆ parseDocument()

Document * DocumentStorage::parseDocument ( istream &  s)

Parse an XML document from the given stream.

Parsing starts immediately on the stream, attempting to make an in-memory DOM tree. An XmlException is thrown for any parsing error.

Parameters
sis the given stream to parse
Returns
the in-memory DOM tree

◆ registerTag()

void DocumentStorage::registerTag ( const Element el)

Register the given XML Element object under its tag name.

Only one Element can be stored on this object per tag name.

Parameters
elis the given XML element

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