xmltooling::AttributeExtensibleXMLObject Class Referenceabstract

An XMLObject that supports arbitrary attributes. More...

`#include <xmltooling/AttributeExtensibleXMLObject.h>`

Inheritance diagram for xmltooling::AttributeExtensibleXMLObject:

## Public Member Functions

virtual const XMLCh * | getAttribute (const QName &qualifiedName) const =0
| Gets the value of an XML attribute of the object.
virtual void | setAttribute (const QName &qualifiedName, const XMLCh *value, bool ID=false)=0
| Sets (or clears) an XML attribute of the object.
virtual void | setAttribute (const QName &qualifiedName, const QName &value)
| Sets a QName-valued XML attribute of the object.
virtual const std::map< QName, XMLCh * > & | getExtensionAttributes () const =0
| Gets an immutable map of the extended XML attributes of the object.
Public Member Functions inherited from xmltooling::XMLObject
virtual XMLObject * | clone () const =0
| Creates a copy of the object, along with all of its children.
virtual void | detach ()=0
| Specialized function for detaching a child object from its parent while disposing of the parent.
virtual const QName & | getElementQName () const =0
| Gets the QName for this element.
virtual const std::set< Namespace > & | getNamespaces () const =0
| Gets the namespaces that are scoped to this element.
virtual void | addNamespace (const Namespace &ns) const =0
| Adds a namespace to the ones already scoped to this element.
virtual void | removeNamespace (const Namespace &ns)=0
| Removes a namespace from this element.
virtual const QName * | getSchemaType () const =0
| Gets the XML schema type of this element.
virtual const XMLCh * | getXMLID () const =0
| Gets the value of the ID attribute set on this object, if any.
virtual const XMLCh * | getLang () const
| Returns the xml:lang property of the object, if any.
bool | nil () const
| Returns the xsi:nil property of the object, or false if not set.
virtual xmlconstants::xmltooling_bool_t | getNil () const =0
| Returns the xsi:nil property as an explicit enumerated value.
virtual void | nil (xmlconstants::xmltooling_bool_t value)=0
| Sets the xsi:nil property using an enumerated value.
void | nil (bool value)
| Sets the xsi:nil property.
void | setNil (const XMLCh *value)
| Sets the xsi:nil property using a string constant.
virtual bool | hasParent () const =0
| Checks to see if this object has a parent.
virtual XMLObject * | getParent () const =0
| Gets the parent of this element or null if there is no parent.
virtual void | setParent (XMLObject *parent)=0
| Sets the parent of this element.
virtual bool | hasChildren () const =0
| Checks if this XMLObject has children.
virtual const std::list< XMLObject * > & | getOrderedChildren () const =0
| Returns an unmodifiable list of child objects in the order that they should appear in the serialized representation.
virtual void | removeChild (XMLObject *child)=0
| Used by a child's detach method to isolate the child from this parent object in preparation for destroying the parent (this object).
virtual const XMLCh * | getTextContent (unsigned int position=0) const =0
| Returns the text content at the specified position relative to any child elements.
virtual void | setTextContent (const XMLCh *value, unsigned int position=0)=0
| Sets (or clears) text content relative to a child element's position.
virtual xercesc::DOMElement * | getDOM () const =0
| Gets the DOM representation of this XMLObject, if one exists.
virtual void | setDOM (xercesc::DOMElement *dom, bool bindDocument=false) const =0
| Sets the DOM representation of this XMLObject.
virtual void | setDocument (xercesc::DOMDocument *doc) const =0
| Assigns ownership of a DOM document to the XMLObject.
virtual void | releaseDOM () const =0
| Releases the DOM representation of this XMLObject, if there is one.
virtual void | releaseParentDOM (bool propagateRelease=true) const =0
| Releases the DOM representation of this XMLObject's parent.
virtual void | releaseChildrenDOM (bool propagateRelease=true) const =0
| Releases the DOM representation of this XMLObject's children.
void | releaseThisandParentDOM () const
| A convenience method that is equal to calling releaseDOM() then releaseParentDOM(true).
void | releaseThisAndChildrenDOM () const
| A convenience method that is equal to calling releaseChildrenDOM(true) then releaseDOM().
virtual xercesc::DOMElement * | marshall (xercesc::DOMDocument *document=0, const std::vector< xmlsignature::Signature * > *sigs=0, const Credential *credential=0) const =0
| Marshalls the XMLObject, and its children, into a DOM element.
virtual xercesc::DOMElement * | marshall (xercesc::DOMElement *parentElement, const std::vector< xmlsignature::Signature * > *sigs=0, const Credential *credential=0) const =0
| Marshalls the XMLObject and appends it as a child of the given parent element.
virtual XMLObject * | unmarshall (xercesc::DOMElement *element, bool bindDocument=false)=0
| Unmarshalls the given W3C DOM element into the XMLObject.

## Static Public Member Functions

static const std::set< QName > & | getRegisteredIDAttributes ()
| Gets an immutable list of all the ID attributes currently registered.
static bool | isRegisteredIDAttribute (const QName &name)
| Tests whether an XML attribute is registered as an XML ID.
static void | registerIDAttribute (const QName &name)
| Registers a new attribute as being of XML ID type.
static void | deregisterIDAttribute (const QName &name)
| Deregisters an ID attribute.
static void | deregisterIDAttributes ()
| Deregisters all ID attributes.

## Detailed Description

An XMLObject that supports arbitrary attributes.

## Member Function Documentation

## deregisterIDAttribute()

static void xmltooling::AttributeExtensibleXMLObject::deregisterIDAttribute | ( | const QName & | name | ) |

static

Deregisters an ID attribute.

Parameters

  name | the qualified attribute name

## getAttribute()

virtual const XMLCh * xmltooling::AttributeExtensibleXMLObject::getAttribute | ( | const QName & | qualifiedName | ) | const

pure virtual

Gets the value of an XML attribute of the object.

Parameters

  qualifiedName | qualified name of the attribute

Returns
  the attribute value, or nullptr

Implemented in xmltooling::AbstractAttributeExtensibleXMLObject.

## getExtensionAttributes()

virtual const std::map< QName, XMLCh * > & xmltooling::AttributeExtensibleXMLObject::getExtensionAttributes | ( |  | ) | const

pure virtual

Gets an immutable map of the extended XML attributes of the object.

This set is not guaranteed to (and generally will not) include attributes defined directly on the object's "type".

Implemented in xmltooling::AbstractAttributeExtensibleXMLObject.

## getRegisteredIDAttributes()

static const std::set< QName > & xmltooling::AttributeExtensibleXMLObject::getRegisteredIDAttributes | ( |  | ) |

static

Gets an immutable list of all the ID attributes currently registered.

Returns
  list of all the ID attributes currently registered

## isRegisteredIDAttribute()

static bool xmltooling::AttributeExtensibleXMLObject::isRegisteredIDAttribute | ( | const QName & | name | ) |

static

Tests whether an XML attribute is registered as an XML ID.

Returns
  true iff the attribute name matches a registered XML ID attribute

## registerIDAttribute()

static void xmltooling::AttributeExtensibleXMLObject::registerIDAttribute | ( | const QName & | name | ) |

static

Registers a new attribute as being of XML ID type.

Parameters

  name | the qualified attribute name

## setAttribute() [1/2]

virtual void xmltooling::AttributeExtensibleXMLObject::setAttribute | ( | const QName & | qualifiedName,
|  | const QName & | value )

virtual

Sets a QName-valued XML attribute of the object.

Parameters

  qualifiedName | qualified name of the attribute
  value | value to set

## setAttribute() [2/2]

virtual void xmltooling::AttributeExtensibleXMLObject::setAttribute | ( | const QName & | qualifiedName,
|  | const XMLCh * | value,
|  | bool | ID = false )

pure virtual

Sets (or clears) an XML attribute of the object.

Parameters

  qualifiedName | qualified name of the attribute
  value | value to set, or nullptr to clear
  ID | true iff the attribute is an XML ID

Implemented in xmltooling::AbstractAttributeExtensibleXMLObject.

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

- xmltooling/AttributeExtensibleXMLObject.h