Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
HydraExpress XML Binding Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

rwsf::XmlMarshaller

Library:  XML Binding


Does not inherit

Local Index

Members

Header File

#include <rwsf/xmlbinding/XmlMarshaller.h>

Description

The base class for the generated marshalling 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.

Pure Virtual Methods

virtual void
marshal(rwsf::XmlWriter& writer,
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;

Static Public Member Functions

static bool
unmarshalFromXsiType(rwsf::XmlReader& reader,
    rwsf::XmlBindingHandle& aHandle,
    const std::string& marshalNameSuffix,
    const rwsf::XmlName& elementName);
static void
unmarshalXsiType(const rwsf::XmlReader& reader,
    std::string& localName,
    std::string& prefix,
    std::string& namespaceURI);
static void
unmarshalXsiAttributes(
rwsf::XmlReaderAttributeList& attrs, rwsf::XmlAttributeSet& attributes, rwsf::XmlBindingHandle& aHandle);


Previous fileTop of DocumentContentsIndex pageNext file

©2004-2007 Copyright Quovadx, Inc. All Rights Reserved.
Quovadx and Rogue Wave are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.