39 #ifndef OME_COMMON_XML_DOM_DOCUMENT_H
40 #define OME_COMMON_XML_DOM_DOCUMENT_H
42 #include <ome/common/config.h>
49 #include <xercesc/dom/DOMDocument.hpp>
50 #include <xercesc/parsers/XercesDOMParser.hpp>
56 #include <ome/common/xml/dom/Element.h>
57 #include <ome/common/xml/dom/NodeList.h>
58 #include <ome/common/xml/dom/Wrapper.h>
59 #include <ome/common/xml/String.h>
166 const std::string& name)
171 return Element((*this)->createElementNS(xns, xname),
false);
185 return Element((*this)->createElement(xname),
false);
196 return Element((*this)->getDocumentElement(),
false);
208 return (*this)->getElementsByTagName(
String(name));
244 validationScheme(xercesc::XercesDOMParser::Val_Auto),
247 handleMultipleImports(true),
248 validationSchemaFullChecking(true),
249 createEntityReferenceNodes(true)
273 const std::string& qualifiedName);
284 const ParseParameters& params = ParseParameters());
296 const ParseParameters& params = ParseParameters(),
297 const std::string&
id =
"membuf");
309 const ParseParameters& params = ParseParameters(),
310 const std::string&
id =
"streambuf");
360 canonicalForm(false),
363 datatypeNormalization(false),
364 discardDefaultContent(true),
367 namespaceDeclarations(true),
368 normalizeCharacters(false),
370 splitCDATASections(true),
387 const boost::filesystem::path& file,
388 const WriteParameters& params = WriteParameters());
399 std::ostream& stream,
400 const WriteParameters& params = WriteParameters());
412 const WriteParameters& params = WriteParameters());
423 const boost::filesystem::path& file,
424 const WriteParameters& params = WriteParameters());
435 std::ostream& stream,
436 const WriteParameters& params = WriteParameters());
448 const WriteParameters& params = WriteParameters());
459 const boost::filesystem::path& file,
460 const WriteParameters& params = WriteParameters());
471 std::ostream& stream,
472 const WriteParameters& params = WriteParameters());
484 const WriteParameters& params = WriteParameters());
491 #endif // OME_COMMON_XML_DOM_DOCUMENT_H
bool discardDefaultContent
Discard defaults (discard-default-content).
Definition: Document.h:338
bool comments
Retain comments (comments).
Definition: Document.h:334
bool doSchema
Use schemas?
Definition: Document.h:234
element_type * wrapped
The wrapped type.
Definition: Wrapper.h:264
Memory type substitution.
bool CDATASections
Retain CDATA (cdata-sections).
Definition: Document.h:332
Xerces DOM class wrapper.
Definition: Wrapper.h:72
bool whitespace
Retain whitespace (element-content-whitespace).
Definition: Document.h:354
DOM Node wrapper.
Definition: Node.h:68
bool doNamespaces
Use namespaces?
Definition: Document.h:232
DOM Document wrapper.
Definition: Document.h:80
DOM Element wrapper.
Definition: Element.h:66
bool validate
Validate if schema available (validate-if-schema).
Definition: Document.h:352
bool canonicalForm
Canonicalize document (canonical-form).
Definition: Document.h:330
bool datatypeNormalization
Datatype normalization (datatype-normalization).
Definition: Document.h:336
void writeDocument(Document &document, const boost::filesystem::path &file, const WriteParameters ¶ms)
Write a Document to a file.
Definition: Document.cpp:358
bool entities
Retain entities (entities).
Definition: Document.h:340
WriteParameters()
Constructor.
Definition: Document.h:359
Element createElement(const std::string &name)
Create Element without namespace.
Definition: Document.h:181
Document(Wrapper< xercesc::DOMDocument, Node >::base_element_type *base, bool managed)
Construct a Document from a xercesc::DOMNode *.
Definition: Document.h:131
bool namespaces
Namespace processing (namespaces).
Definition: Document.h:342
~Document()
Destructor.
Definition: Document.h:140
bool handleMultipleImports
Handle multiple imports?
Definition: Document.h:236
bool createEntityReferenceNodes
Create entity reference nodes?
Definition: Document.h:240
Boost.Filesystem compatibility.
Document(const Wrapper< xercesc::DOMDocument, Node >::base_type &base)
Copy construct a Document.
Definition: Document.h:106
Open Microscopy Environment C++ implementation.
Definition: CoreMetadata.cpp:40
Document(const Document &document)
Copy construct a Document.
Definition: Document.h:96
Document(Wrapper< xercesc::DOMDocument, Node >::element_type *document, bool managed)
Construct a Document from a xercesc::DOMDocument *.
Definition: Document.h:117
bool prettyPrint
Pretty-print (format-pretty-print).
Definition: Document.h:348
Element getDocumentElement()
Get the root element of this document.
Definition: Document.h:194
Document & operator=(const Document &wrapped)
Assign a Document.
Definition: Document.h:151
void writeNode(xercesc::DOMNode &node, const boost::filesystem::path &file, const WriteParameters ¶ms)
Write a Node to a file.
Definition: Document.cpp:290
Wrapper & operator=(const Wrapper &wrapped)
Assign a Wrapper.
Definition: Wrapper.h:208
Document()
Construct a NULL Document.
Definition: Document.h:86
Document createDocument(const boost::filesystem::path &file, const ParseParameters ¶ms)
Construct a Document from the content of a file.
Definition: Document.cpp:225
xercesc::DOMNode base_element_type
Base element type (root type of the wrapped type).
Definition: Base.h:82
NodeList getElementsByTagName(const std::string &name)
Get child elements with a given tag name.
Definition: Document.h:206
Xerces string wrapper.
Definition: String.h:74
ParseParameters()
Constructor.
Definition: Document.h:243
bool xmlDeclaration
Require XML declaration (xml-declaration).
Definition: Document.h:356
bool normalizeCharacters
Normalize characters.
Definition: Document.h:346
ome::compat::shared_ptr< base_element_type > base
Wrapped reference.
Definition: Base.h:231
DOM NodeList wrapper.
Definition: NodeList.h:69
bool validationSchemaFullChecking
Do full checking during validation?
Definition: Document.h:238
Element createElementNS(const std::string &ns, const std::string &name)
Create Element with namespace.
Definition: Document.h:165
Parameters controlling DOM writing.
Definition: Document.h:227
bool splitCDATASections
Split CDATA sections (split-cdata-sections).
Definition: Document.h:350
Parameters controlling DOM writing.
Definition: Document.h:327
xercesc::XercesDOMParser::ValSchemes validationScheme
Validation scheme.
Definition: Document.h:230
Document createEmptyDocument(const std::string &qualifiedName)
Construct an empty Document.
Definition: Document.cpp:200
bool namespaceDeclarations
Include namespace declaration attributes (namespace-declarations).
Definition: Document.h:344
Xerces-C modern C++ wrapper.
Definition: Base.h:53