HydraExpress™ C++ API Reference Guide

Product Documentation:
   HydraExpress C++
Documentation Home
List of all members | Public Member Functions
rwsf::XmlMarshaller Class Referenceabstract

Base class for generated marshaling classes. More...

#include <rwsf/xmlbinding/XmlMarshaller.h>

Inherits rwsf::Marshaller.

Inherited by rwsf::DatabaseMarshaller.

Public Member Functions

virtual const char * getFormat () const
virtual void marshal (rwsf::XmlWriter &writer, const rwsf::XmlBindingHandle &aHandle, bool includeChildTypeAttributes, const rwsf::XmlName &elementName, bool includeSelfTypeAttribute=false, bool nilValue=false)=0
virtual void unmarshal (rwsf::XmlReader &reader, rwsf::XmlBindingHandle &aHandle, const rwsf::XmlName &elementName)=0
virtual rwsf::XmlBindingHandle unmarshal (rwsf::XmlReader &reader, const rwsf::XmlName &elementName)=0

Detailed Description

The base class for the generated marshaling classes that marshal and unmarshal XML documents.

The pure virtual methods dispatch to the static member functions in the generated classes. These methods are used in cases where the schema allows substitutability via sub-typing or substitution groups.

The static methods are used to unmarshal elements whose type is ambiguous because they may be a base type or one of its derived types. Such elements require an xsi:type attribute in the instance document, and the element is unmarshaled into the correct type based on this attribute value.

Member Function Documentation

virtual const char* rwsf::XmlMarshaller::getFormat ( ) const

Returns the format that data is serialized to. In this case the data is serialized to xml; so xml is returned.

virtual void rwsf::XmlMarshaller::marshal ( rwsf::XmlWriter writer,
const rwsf::XmlBindingHandle aHandle,
bool  includeChildTypeAttributes,
const rwsf::XmlName elementName,
bool  includeSelfTypeAttribute = false,
bool  nilValue = false 
pure virtual

Dispatches to the implemented method in the generated marshaling class.

Creates an XML element from the handle provided, using writer as the destination for the XML. When includeChildTypeAttributes is true, the element includes type attributes on each contained element. The elementName parameter sets the name of the XML element. When includeSelfTypeAttribute is true, the element itself contains a type attribute.

The nilValue parameter controls the marshaling of schema elements with a nillable=true attribute. The nilValue parameter is set by the generated code when calling this method to create correct marshaling behavior. For information on how to control nillable elements in your code, see the section on nillable elements in the HydraExpress XML Binding Development Guide.

virtual void rwsf::XmlMarshaller::unmarshal ( rwsf::XmlReader reader,
rwsf::XmlBindingHandle aHandle,
const rwsf::XmlName elementName 
pure virtual

Populates the provided handle instance from the reader provided. Uses elementName as the name of the element to unmarshal, or DefaultElementName if no elementName is provided.

virtual rwsf::XmlBindingHandle rwsf::XmlMarshaller::unmarshal ( rwsf::XmlReader reader,
const rwsf::XmlName elementName 
pure virtual

Populates and returns an rwsf::XmlBindingHandle instance from the reader provided. Uses elementName as the name of the element to unmarshal, or DefaultElementName if no elementName is provided.

Copyright © 2020 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is registered trademark of Rogue Wave Software, Inc. in the United States and other countries, and HydraExpress is a trademark of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.