|
decompiler 1.0.0
|
A container for parsed XML documents. More...
#include <xml.hh>
Public Member Functions | |
| ~DocumentStorage (void) | |
| Destructor. | |
| Document * | parseDocument (istream &s) |
| Parse an XML document from the given stream. More... | |
| Document * | openDocument (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 Element * | getTag (const string &nm) const |
| Retrieve a registered XML Element by name. More... | |
Private Attributes | |
| vector< Document * > | doclist |
| The list of documents held by this container. | |
| map< string, const Element * > | tagmap |
| The map from name to registered XML elements. | |
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().
| const Element * DocumentStorage::getTag | ( | const string & | nm | ) | const |
Retrieve a registered XML Element by name.
| nm | is the XML tag name |
Referenced by XmlArchitecture::buildLoader(), ArchitectureGhidra::buildSymbols(), SleighArchitecture::buildSymbols(), ArchitectureGhidra::buildTypegrp(), SleighArchitecture::buildTypegrp(), GhidraTranslate::initialize(), Sleigh::initialize(), Architecture::parseCompilerConfig(), Architecture::parseExtraRules(), Architecture::parseProcessorConfig(), Architecture::restoreXml(), BfdArchitecture::restoreXml(), RawBinaryArchitecture::restoreXml(), and XmlArchitecture::restoreXml().
| 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.
| filename | is the name of the XML document file |
Referenced by XmlArchitecture::buildLoader(), SleighArchitecture::buildSpecFile(), and FunctionTestCollection::loadTest().
| 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.
| s | is the given stream to parse |
Referenced by ArchitectureGhidra::buildSpecFile(), IfcCallGraphLoad::execute(), and IfcStructureBlocks::execute().
| 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.
| el | is the given XML element |
Referenced by XmlArchitecture::buildLoader(), ArchitectureGhidra::buildSpecFile(), SleighArchitecture::buildSpecFile(), Architecture::parseProcessorConfig(), BfdArchitecture::restoreXml(), RawBinaryArchitecture::restoreXml(), XmlArchitecture::restoreXml(), and FunctionTestCollection::restoreXml().