#include <xmltooling/io/AbstractXMLObjectMarshaller.h>
Inheritance diagram for xmltooling::AbstractXMLObjectMarshaller:
Public Member Functions | |
xercesc::DOMElement * | marshall (xercesc::DOMDocument *document=NULL, const std::vector< xmlsignature::Signature * > *sigs=NULL, const Credential *credential=NULL) const |
Marshalls the XMLObject, and its children, into a DOM element. | |
xercesc::DOMElement * | marshall (xercesc::DOMElement *parentElement, const std::vector< xmlsignature::Signature * > *sigs=NULL, const Credential *credential=NULL) const |
Marshalls the XMLObject and appends it as a child of the given parent element. | |
Protected Member Functions | |
void | setDocumentElement (xercesc::DOMDocument *document, xercesc::DOMElement *element) const |
Sets the given element as the Document Element of the given Document. | |
void | marshallInto (xercesc::DOMElement *targetElement, const std::vector< xmlsignature::Signature * > *sigs, const Credential *credential=NULL) const |
Marshalls the XMLObject into the given DOM Element. | |
void | marshallElementType (xercesc::DOMElement *domElement) const |
Creates an xsi:type attribute, corresponding to the given type of the XMLObject, on the DOM element. | |
void | marshallNamespaces (xercesc::DOMElement *domElement) const |
Creates the xmlns attributes for any namespaces set on the XMLObject. | |
void | marshallContent (xercesc::DOMElement *domElement, const Credential *credential) const |
Marshalls the text content and/or child elements of the XMLObject. | |
virtual void | marshallAttributes (xercesc::DOMElement *domElement) const |
Marshalls the attributes from the XMLObject into the given DOM element. |
xercesc::DOMElement* xmltooling::AbstractXMLObjectMarshaller::marshall | ( | xercesc::DOMElement * | parentElement, | |
const std::vector< xmlsignature::Signature * > * | sigs = NULL , |
|||
const Credential * | credential = NULL | |||
) | const [virtual] |
Marshalls the XMLObject and appends it as a child of the given parent element.
NOTE: The given Element must be within a DOM tree rooted in the Document owning the given Element.
parentElement | the parent element to append the resulting DOM tree | |
sigs | ordered array of signatures to create after marshalling is complete | |
credential | optional credential to supply signing key and related info |
MarshallingException | thrown if the given XMLObject can not be marshalled. | |
SignatureException | thrown if a problem occurs during signature creation |
Implements xmltooling::XMLObject.
xercesc::DOMElement* xmltooling::AbstractXMLObjectMarshaller::marshall | ( | xercesc::DOMDocument * | document = NULL , |
|
const std::vector< xmlsignature::Signature * > * | sigs = NULL , |
|||
const Credential * | credential = NULL | |||
) | const [virtual] |
Marshalls the XMLObject, and its children, into a DOM element.
If a document is supplied, then it will be used to create the resulting elements. If the document does not have a Document Element set, then the resulting element will be set as the Document Element. If no document is supplied, then a new document will be created and bound to the lifetime of the root object being marshalled, unless an existing DOM can be reused without creating a new document.
document | the DOM document the marshalled element will be placed in, or NULL | |
sigs | ordered array of signatures to create after marshalling is complete | |
credential | optional credential to supply signing key and related info |
MarshallingException | thrown if there is a problem marshalling the given object | |
SignatureException | thrown if a problem occurs during signature creation |
Implements xmltooling::XMLObject.
virtual void xmltooling::AbstractXMLObjectMarshaller::marshallAttributes | ( | xercesc::DOMElement * | domElement | ) | const [inline, protected, virtual] |
Marshalls the attributes from the XMLObject into the given DOM element.
domElement | the DOM Element into which attributes will be marshalled |
MarshallingException | thrown if there is a problem marshalling an attribute |
void xmltooling::AbstractXMLObjectMarshaller::marshallContent | ( | xercesc::DOMElement * | domElement, | |
const Credential * | credential | |||
) | const [protected] |
Marshalls the text content and/or child elements of the XMLObject.
domElement | the DOM element that will recieved the marshalled children | |
credential | optional credential to supply signing key and related info |
MarshallingException | thrown if there is a problem marshalling a child element |
void xmltooling::AbstractXMLObjectMarshaller::marshallElementType | ( | xercesc::DOMElement * | domElement | ) | const [protected] |
Creates an xsi:type attribute, corresponding to the given type of the XMLObject, on the DOM element.
domElement | the DOM element |
MarshallingException | thrown if the type on the XMLObject is doesn't contain a local name, prefix, and namespace URI |
void xmltooling::AbstractXMLObjectMarshaller::marshallInto | ( | xercesc::DOMElement * | targetElement, | |
const std::vector< xmlsignature::Signature * > * | sigs, | |||
const Credential * | credential = NULL | |||
) | const [protected] |
Marshalls the XMLObject into the given DOM Element.
The DOM Element must be within a DOM tree rooted in the owning Document.
targetElement | the Element into which the XMLObject is marshalled into | |
sigs | optional array of signatures to create after marshalling | |
credential | optional credential to supply signing key and related info |
MarshallingException | thrown if there is a problem marshalling the object | |
SignatureException | thrown if a problem occurs during signature creation |
void xmltooling::AbstractXMLObjectMarshaller::marshallNamespaces | ( | xercesc::DOMElement * | domElement | ) | const [protected] |
Creates the xmlns attributes for any namespaces set on the XMLObject.
domElement | the DOM element the namespaces will be added to |
void xmltooling::AbstractXMLObjectMarshaller::setDocumentElement | ( | xercesc::DOMDocument * | document, | |
xercesc::DOMElement * | element | |||
) | const [inline, protected] |
Sets the given element as the Document Element of the given Document.
If the document already has a Document Element it is replaced by the given element.
document | the document | |
element | the Element that will serve as the Document Element |