[xsd-users] Re: FpML output is not being produced properly

Cuneyt.Karadag at akbank.com Cuneyt.Karadag at akbank.com
Fri Apr 29 10:50:27 EDT 2011


Hi Boris,

When I would like to generate the .cc & .h files of the xsd of xmldsig-core-schema.xsd I am getting the messages as below.

sumbo at hazdev1% xsd cxx-tree --hxx-suffix .h --cxx-suffix .cc --generate-serialization --type-naming ucc --namespace-map http://www.fpml.org/2009/FpML-4-7=fpml47 --namespace-map http://www.w3.org/2000/09/xmldsig#=xmldsig xmldsig-core-schema.xsd

xmldsig-core-schema.xsd: warning T004: generating parsing and serialization functions for 24 global elements

xmldsig-core-schema.xsd: info: use --root-element-* options to specify document root(s)

sumbo at hazdev1%





Is this normal? If it is I am still getting errors

sumbo at hazdev1% make

/opt/SUNWspro/bin/CC -D_RWCONFIG=12d -features=no%localfor -features=no%conststrings -library=no%rwtools7 -erroff=nonewline -I. -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include  -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/suthreads -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/sutools  -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/ie -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include/suthreads  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include/sutools  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/ie  -I/opt/SUNWspro/include/CC -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/xml  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include/xml  -I/export/home/misys/SUMMIT_V531/summittools/xercesc-2_8_0-icu3.8.1-Sol10-Studio11/include  -I/export/home/misys/SUMMIT_V531/summittools/xercesc-2_8_0-icu3.8.1-Sol10-Studio11/include/xercesc   -g  -DSU_FEAT005  -DSU_TTRS -DSU_MKV  -DSU_SOLARIS_8 -DRELEASE5 -DDEBUG   -DRW_NO_OVERLOAD_SCHAR -DSUMMITBASE=\"V51\"  -c -KPIC xmldsig-core-schema.cc

"xmldsig-core-schema.cc", line 13086: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 13086: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 13101: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 13101: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 13116: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 13116: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 13131: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 13131: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 13146: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 13146: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 13161: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 13161: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 14024: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 14024: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 14039: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 14039: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 14054: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 14054: Error: Multiple declaration for n.

"xmldsig-core-schema.cc", line 14069: Error: Multiple declaration for b.

"xmldsig-core-schema.cc", line 14069: Error: Multiple declaration for n.

20 Error(s) detected.

*** Error code 20

make: Fatal error: Command failed for target `xmldsig-core-schema.o'

sumbo at hazdev1%





I have fixed these errors by changing the latter variables as n1 b1, n2 b2, ... and compiled again. Finally I got the same error as below like my previous error.

sumbo at hazdev1% make

/opt/SUNWspro/bin/CC -D_RWCONFIG=12d -features=no%localfor -features=no%conststrings -library=no%rwtools7 -erroff=nonewline -I. -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include  -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/suthreads -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/sutools  -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/ie -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include/suthreads  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include/sutools  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/ie  -I/opt/SUNWspro/include/CC -I/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/xml  -I/export/home/misys/SUMMIT_V531/summit/CORE_AND_PATCHES_V5_3_1/include/xml  -I/export/home/misys/SUMMIT_V531/summittools/xercesc-2_8_0-icu3.8.1-Sol10-Studio11/include  -I/export/home/misys/SUMMIT_V531/summittools/xercesc-2_8_0-icu3.8.1-Sol10-Studio11/include/xercesc   -g  -DSU_FEAT005  -DSU_TTRS -DSU_MKV  -DSU_SOLARIS_8 -DRELEASE5 -DDEBUG   -DRW_NO_OVERLOAD_SCHAR -DSUMMITBASE=\"V51\"  -c -KPIC xmldsig-core-schema.cc

"/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/xsd/cxx/tree/serialization.txx", line 678: Error: The operation "DOMAttr<<std::string " is illegal.

"/export/home/misys/SUMMIT_V531/summit/sumbo_V5_3_1/include/xsd/cxx/tree/serialization.txx", line 671: Error: The operation "DOMElement<<std::string " is illegal.

2 Error(s) detected.

*** Error code 2

make: Fatal error: Command failed for target `xmldsig-core-schema.o'

sumbo at hazdev1%





I am sending my generated source files, makefile and xsd file.

Thanks for your helps.

Cuneyt.





-----Original Message-----
From: Boris Kolpackov [mailto:boris at codesynthesis.com]<mailto:[mailto:boris at codesynthesis.com]>
Sent: Friday, April 29, 2011 1:08 PM
To: Cüneyt Karadağ (BT Uygulama Geliştirme Bölümü)
Cc: Şenel Hiçyılmaz (BT Uygulama Geliştirme Bölümü); xsd-users at codesynthesis.com<mailto:xsd-users at codesynthesis.com>
Subject: Re: [xsd-users] Re: FpML output is not being produced properly



Hi Cuneyt,



I tried to reproduce your error messages using the same compiler version.

I assume you are getting them when compiling xmldsig-core-schema.cc. Here

is what I tried. I compiled the schema like this:



xsd cxx-tree --hxx-suffix .h --cxx-suffix .cc --generate-serialization \

--type-naming ucc --namespace-map http://www.fpml.org/2009/FpML-4-7=fpml47 \

--namespace-map http://www.w3.org/2000/09/xmldsig#=xmldsig \

xmldsig-core-schema.xsd



I then compiled the generated source file like this:



/opt/studio12u1/sunstudio12.1/bin/CC -Ixsd-3.3.0-i686-solaris/libxsd \

-Ixerces-c_2_8_0-x86-solaris-cc_5_7/include -features=no%conststrings \

-library=no%rwtools7 -erroff=nonewline -g -DSU_FEAT005 -DSU_TTRS \

-DSU_MKV -DSU_SOLARIS_8 -DRELEASE5 -DDEBUG -DRW_NO_OVERLOAD_SCHAR \

-DSUMMITBASE="V51" -c -KPIC -c xmldsig-core-schema.cc



I tried to use the same options/defines as you showed in one of your

previous emails.



However, with all this, I don't get any errors. Everything compiles

successfully.



If you are still getting the error, I will need the following from

you:



0. Confirm that you get the error when compiling xmldsig-core-schema.cc



1. The exact XSD command line used to compile xmldsig-core-schema.xsd



2. The exact CC command line used to compile xmldsig-core-schema.cc



Boris







________________________________
[http://www.akbank.com/images/disclaimer.jpg]<http://www.akbank.com/disclaimer.asp>

Bu e-posta ve muhtemel eklerinde verilen bilgiler kişiye özel ve gizli olup, yalnızca mesajda belirlenen alıcı ile ilgilidir. Size yanlışlıkla ulaşmışsa lütfen göndericiye bilgi veriniz, mesajı siliniz ve içeriğini başka bir kişiye açıklamayınız, herhangi bir ortama kopyalamayınız. Bu mesaj aksi sözleşme ile belirtilmedikçe herhangi bir finansal işlem teklifi, alımı, satımı veya herhangi bir havalenin teyidi gibi bankacılık işlemi yapılması amacını taşımamaktadır. Verilen tüm bilgilerin doğruluğu ve bütünlüğünün garantisi verilmemekte olup, önceden bildirilmeksizin değiştirilebilecektir. Bu mesajın içeriği Bankamızın resmi görüşlerini yansıtmayabileceğinden Akbank T.A.Ş. hiçbir hukuki sorumluluğu kabul etmez.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xmldsig-core-schema.xsd
Type: text/xml
Size: 10779 bytes
Desc: xmldsig-core-schema.xsd
Url : http://codesynthesis.com/pipermail/xsd-users/attachments/20110429/178252c3/xmldsig-core-schema-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xmldsig-core-schema.cc
Type: application/octet-stream
Size: 429334 bytes
Desc: xmldsig-core-schema.cc
Url : http://codesynthesis.com/pipermail/xsd-users/attachments/20110429/178252c3/xmldsig-core-schema-0001.obj
-------------- next part --------------
// Copyright (C) 2005-2010 Code Synthesis Tools CC
//
// This program was generated by CodeSynthesis XSD, an XML Schema to
// C++ data binding compiler.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
// In addition, as a special exception, Code Synthesis Tools CC gives
// permission to link this program with the Xerces-C++ library (or with
// modified versions of Xerces-C++ that use the same license as Xerces-C++),
// and distribute linked combinations including the two. You must obey
// the GNU General Public License version 2 in all respects for all of
// the code used other than Xerces-C++. If you modify this copy of the
// program, you may extend this exception to your version of the program,
// but you are not obligated to do so. If you do not wish to do so, delete
// this exception statement from your version.
//
// Furthermore, Code Synthesis Tools CC makes a special exception for
// the Free/Libre and Open Source Software (FLOSS) which is described
// in the accompanying FLOSSE file.
//

#ifndef XMLDSIG_CORE_SCHEMA_H
#define XMLDSIG_CORE_SCHEMA_H

// Begin prologue.
//
//
// End prologue.

#include <xsd/cxx/config.hxx>

#if (XSD_INT_VERSION != 3030000L)
#error XSD runtime version mismatch
#endif

#include <xsd/cxx/pre.hxx>

#ifndef XSD_USE_CHAR
#define XSD_USE_CHAR
#endif

#ifndef XSD_CXX_TREE_USE_CHAR
#define XSD_CXX_TREE_USE_CHAR
#endif

#include <xsd/cxx/xml/char-utf8.hxx>

#include <xsd/cxx/tree/exceptions.hxx>
#include <xsd/cxx/tree/elements.hxx>
#include <xsd/cxx/tree/types.hxx>

#include <xsd/cxx/xml/error-handler.hxx>

#include <xsd/cxx/xml/dom/auto-ptr.hxx>

#include <xsd/cxx/tree/parsing.hxx>
#include <xsd/cxx/tree/parsing/byte.hxx>
#include <xsd/cxx/tree/parsing/unsigned-byte.hxx>
#include <xsd/cxx/tree/parsing/short.hxx>
#include <xsd/cxx/tree/parsing/unsigned-short.hxx>
#include <xsd/cxx/tree/parsing/int.hxx>
#include <xsd/cxx/tree/parsing/unsigned-int.hxx>
#include <xsd/cxx/tree/parsing/long.hxx>
#include <xsd/cxx/tree/parsing/unsigned-long.hxx>
#include <xsd/cxx/tree/parsing/boolean.hxx>
#include <xsd/cxx/tree/parsing/float.hxx>
#include <xsd/cxx/tree/parsing/double.hxx>
#include <xsd/cxx/tree/parsing/decimal.hxx>

#include <xsd/cxx/xml/dom/serialization-header.hxx>
#include <xsd/cxx/tree/serialization.hxx>
#include <xsd/cxx/tree/serialization/byte.hxx>
#include <xsd/cxx/tree/serialization/unsigned-byte.hxx>
#include <xsd/cxx/tree/serialization/short.hxx>
#include <xsd/cxx/tree/serialization/unsigned-short.hxx>
#include <xsd/cxx/tree/serialization/int.hxx>
#include <xsd/cxx/tree/serialization/unsigned-int.hxx>
#include <xsd/cxx/tree/serialization/long.hxx>
#include <xsd/cxx/tree/serialization/unsigned-long.hxx>
#include <xsd/cxx/tree/serialization/boolean.hxx>
#include <xsd/cxx/tree/serialization/float.hxx>
#include <xsd/cxx/tree/serialization/double.hxx>
#include <xsd/cxx/tree/serialization/decimal.hxx>

namespace xml_schema
{
  // anyType and anySimpleType.
  //
  typedef ::xsd::cxx::tree::type Type;
  typedef ::xsd::cxx::tree::simple_type< Type > SimpleType;
  typedef ::xsd::cxx::tree::type Container;

  // 8-bit
  //
  typedef signed char Byte;
  typedef unsigned char UnsignedByte;

  // 16-bit
  //
  typedef short Short;
  typedef unsigned short UnsignedShort;

  // 32-bit
  //
  typedef int Int;
  typedef unsigned int UnsignedInt;

  // 64-bit
  //
  typedef long long Long;
  typedef unsigned long long UnsignedLong;

  // Supposed to be arbitrary-length integral types.
  //
  typedef long long Integer;
  typedef long long NonPositiveInteger;
  typedef unsigned long long NonNegativeInteger;
  typedef unsigned long long PositiveInteger;
  typedef long long NegativeInteger;

  // Boolean.
  //
  typedef bool Boolean;

  // Floating-point types.
  //
  typedef float Float;
  typedef double Double;
  typedef double Decimal;

  // String types.
  //
  typedef ::xsd::cxx::tree::string< char, SimpleType > String;
  typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString;
  typedef ::xsd::cxx::tree::token< char, NormalizedString > Token;
  typedef ::xsd::cxx::tree::name< char, Token > Name;
  typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken;
  typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens;
  typedef ::xsd::cxx::tree::ncname< char, Name > Ncname;
  typedef ::xsd::cxx::tree::language< char, Token > Language;

  // ID/IDREF.
  //
  typedef ::xsd::cxx::tree::id< char, Ncname > Id;
  typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref;
  typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs;

  // URI.
  //
  typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri;

  // Qualified name.
  //
  typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname;

  // Binary.
  //
  typedef ::xsd::cxx::tree::buffer< char > Buffer;
  typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary;
  typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary;

  // Date/time.
  //
  typedef ::xsd::cxx::tree::time_zone TimeZone;
  typedef ::xsd::cxx::tree::date< char, SimpleType > Date;
  typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime;
  typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration;
  typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday;
  typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth;
  typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay;
  typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear;
  typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth;
  typedef ::xsd::cxx::tree::time< char, SimpleType > Time;

  // Entity.
  //
  typedef ::xsd::cxx::tree::entity< char, Ncname > Entity;
  typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities;

  // Namespace information and list stream. Used in
  // serialization functions.
  //
  typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo;
  typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap;
  typedef ::xsd::cxx::tree::list_stream< char > ListStream;
  typedef ::xsd::cxx::tree::as_double< Double > AsDouble;
  typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal;
  typedef ::xsd::cxx::tree::facet Facet;

  // Flags and properties.
  //
  typedef ::xsd::cxx::tree::flags Flags;
  typedef ::xsd::cxx::tree::properties< char > Properties;

  // Parsing/serialization diagnostics.
  //
  typedef ::xsd::cxx::tree::severity Severity;
  typedef ::xsd::cxx::tree::error< char > Error;
  typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics;

  // Exceptions.
  //
  typedef ::xsd::cxx::tree::exception< char > Exception;
  typedef ::xsd::cxx::tree::bounds< char > Bounds;
  typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId;
  typedef ::xsd::cxx::tree::parsing< char > Parsing;
  typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement;
  typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement;
  typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute;
  typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator;
  typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent;
  typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping;
  typedef ::xsd::cxx::tree::serialization< char > Serialization;

  // Error handler callback interface.
  //
  typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler;

  // DOM interaction.
  //
  namespace dom
  {
    // Automatic pointer for DOMDocument.
    //
    using ::xsd::cxx::xml::dom::auto_ptr;

#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA
#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA
    // DOM user data key for back pointers to tree nodes.
    //
    const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node;
#endif
  }
}

// Forward declarations.
//
namespace xmldsig
{
  class CryptoBinary;
  class SignatureType;
  class SignatureValueType;
  class SignedInfoType;
  class CanonicalizationMethodType;
  class SignatureMethodType;
  class ReferenceType;
  class TransformsType;
  class TransformType;
  class DigestMethodType;
  class DigestValueType;
  class KeyInfoType;
  class KeyValueType;
  class RetrievalMethodType;
  class X509DataType;
  class X509IssuerSerialType;
  class PGPDataType;
  class SPKIDataType;
  class ObjectType;
  class ManifestType;
  class SignaturePropertiesType;
  class SignaturePropertyType;
  class HMACOutputLengthType;
  class DSAKeyValueType;
  class RSAKeyValueType;
}


#include <memory>    // std::auto_ptr
#include <limits>    // std::numeric_limits
#include <algorithm> // std::binary_search

#include <xsd/cxx/xml/char-utf8.hxx>

#include <xsd/cxx/tree/exceptions.hxx>
#include <xsd/cxx/tree/elements.hxx>
#include <xsd/cxx/tree/containers.hxx>
#include <xsd/cxx/tree/list.hxx>

#include <xsd/cxx/xml/dom/parsing-header.hxx>

namespace xmldsig
{
  class CryptoBinary: public ::xml_schema::Base64Binary
  {
    public:
    // Constructors.
    //
    CryptoBinary ();

    CryptoBinary (const ::xml_schema::Base64Binary&);

    CryptoBinary (const ::DOMElement& e,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    CryptoBinary (const ::DOMAttr& a,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    CryptoBinary (const ::std::string& s,
                  const ::DOMElement* e,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    CryptoBinary (const CryptoBinary& x,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    virtual CryptoBinary*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~CryptoBinary ();
  };

  class SignatureType: public ::xml_schema::Type
  {
    public:
    // SignedInfo
    // 
    typedef ::xmldsig::SignedInfoType SignedInfoType;
    typedef ::xsd::cxx::tree::traits< SignedInfoType, char > SignedInfoTraits;

    const SignedInfoType&
    SignedInfo () const;

    SignedInfoType&
    SignedInfo ();

    void
    SignedInfo (const SignedInfoType& x);

    void
    SignedInfo (::std::auto_ptr< SignedInfoType > p);

    // SignatureValue
    // 
    typedef ::xmldsig::SignatureValueType SignatureValueType;
    typedef ::xsd::cxx::tree::traits< SignatureValueType, char > SignatureValueTraits;

    const SignatureValueType&
    SignatureValue () const;

    SignatureValueType&
    SignatureValue ();

    void
    SignatureValue (const SignatureValueType& x);

    void
    SignatureValue (::std::auto_ptr< SignatureValueType > p);

    // KeyInfo
    // 
    typedef ::xmldsig::KeyInfoType KeyInfoType;
    typedef ::xsd::cxx::tree::optional< KeyInfoType > KeyInfoOptional;
    typedef ::xsd::cxx::tree::traits< KeyInfoType, char > KeyInfoTraits;

    const KeyInfoOptional&
    KeyInfo () const;

    KeyInfoOptional&
    KeyInfo ();

    void
    KeyInfo (const KeyInfoType& x);

    void
    KeyInfo (const KeyInfoOptional& x);

    void
    KeyInfo (::std::auto_ptr< KeyInfoType > p);

    // Object
    // 
    typedef ::xmldsig::ObjectType ObjectType;
    typedef ::xsd::cxx::tree::sequence< ObjectType > ObjectSequence;
    typedef ObjectSequence::iterator ObjectIterator;
    typedef ObjectSequence::const_iterator ObjectConstIterator;
    typedef ::xsd::cxx::tree::traits< ObjectType, char > ObjectTraits;

    const ObjectSequence&
    Object () const;

    ObjectSequence&
    Object ();

    void
    Object (const ObjectSequence& s);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    SignatureType (const SignedInfoType&,
                   const SignatureValueType&);

    SignatureType (::std::auto_ptr< SignedInfoType >&,
                   ::std::auto_ptr< SignatureValueType >&);

    SignatureType (const ::DOMElement& e,
                   ::xml_schema::Flags f = 0,
                   ::xml_schema::Container* c = 0);

    SignatureType (const SignatureType& x,
                   ::xml_schema::Flags f = 0,
                   ::xml_schema::Container* c = 0);

    virtual SignatureType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SignatureType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< SignedInfoType > SignedInfo_;
    ::xsd::cxx::tree::one< SignatureValueType > SignatureValue_;
    KeyInfoOptional KeyInfo_;
    ObjectSequence Object_;
    IdOptional Id_;
  };

  class SignatureValueType: public ::xml_schema::Base64Binary
  {
    public:
    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    SignatureValueType ();

    SignatureValueType (const ::xml_schema::Base64Binary&);

    SignatureValueType (const ::DOMElement& e,
                        ::xml_schema::Flags f = 0,
                        ::xml_schema::Container* c = 0);

    SignatureValueType (const SignatureValueType& x,
                        ::xml_schema::Flags f = 0,
                        ::xml_schema::Container* c = 0);

    virtual SignatureValueType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SignatureValueType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    IdOptional Id_;
  };

  class SignedInfoType: public ::xml_schema::Type
  {
    public:
    // CanonicalizationMethod
    // 
    typedef ::xmldsig::CanonicalizationMethodType CanonicalizationMethodType;
    typedef ::xsd::cxx::tree::traits< CanonicalizationMethodType, char > CanonicalizationMethodTraits;

    const CanonicalizationMethodType&
    CanonicalizationMethod () const;

    CanonicalizationMethodType&
    CanonicalizationMethod ();

    void
    CanonicalizationMethod (const CanonicalizationMethodType& x);

    void
    CanonicalizationMethod (::std::auto_ptr< CanonicalizationMethodType > p);

    // SignatureMethod
    // 
    typedef ::xmldsig::SignatureMethodType SignatureMethodType;
    typedef ::xsd::cxx::tree::traits< SignatureMethodType, char > SignatureMethodTraits;

    const SignatureMethodType&
    SignatureMethod () const;

    SignatureMethodType&
    SignatureMethod ();

    void
    SignatureMethod (const SignatureMethodType& x);

    void
    SignatureMethod (::std::auto_ptr< SignatureMethodType > p);

    // Reference
    // 
    typedef ::xmldsig::ReferenceType ReferenceType;
    typedef ::xsd::cxx::tree::sequence< ReferenceType > ReferenceSequence;
    typedef ReferenceSequence::iterator ReferenceIterator;
    typedef ReferenceSequence::const_iterator ReferenceConstIterator;
    typedef ::xsd::cxx::tree::traits< ReferenceType, char > ReferenceTraits;

    const ReferenceSequence&
    Reference () const;

    ReferenceSequence&
    Reference ();

    void
    Reference (const ReferenceSequence& s);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    SignedInfoType (const CanonicalizationMethodType&,
                    const SignatureMethodType&);

    SignedInfoType (::std::auto_ptr< CanonicalizationMethodType >&,
                    ::std::auto_ptr< SignatureMethodType >&);

    SignedInfoType (const ::DOMElement& e,
                    ::xml_schema::Flags f = 0,
                    ::xml_schema::Container* c = 0);

    SignedInfoType (const SignedInfoType& x,
                    ::xml_schema::Flags f = 0,
                    ::xml_schema::Container* c = 0);

    virtual SignedInfoType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SignedInfoType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< CanonicalizationMethodType > CanonicalizationMethod_;
    ::xsd::cxx::tree::one< SignatureMethodType > SignatureMethod_;
    ReferenceSequence Reference_;
    IdOptional Id_;
  };

  class CanonicalizationMethodType: public ::xml_schema::Type
  {
    public:
    // Algorithm
    // 
    typedef ::xml_schema::Uri AlgorithmType;
    typedef ::xsd::cxx::tree::traits< AlgorithmType, char > AlgorithmTraits;

    const AlgorithmType&
    Algorithm () const;

    AlgorithmType&
    Algorithm ();

    void
    Algorithm (const AlgorithmType& x);

    void
    Algorithm (::std::auto_ptr< AlgorithmType > p);

    // Constructors.
    //
    CanonicalizationMethodType (const AlgorithmType&);

    CanonicalizationMethodType (const ::DOMElement& e,
                                ::xml_schema::Flags f = 0,
                                ::xml_schema::Container* c = 0);

    CanonicalizationMethodType (const CanonicalizationMethodType& x,
                                ::xml_schema::Flags f = 0,
                                ::xml_schema::Container* c = 0);

    virtual CanonicalizationMethodType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~CanonicalizationMethodType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< AlgorithmType > Algorithm_;
  };

  class SignatureMethodType: public ::xml_schema::Type
  {
    public:
    // HMACOutputLength
    // 
    typedef ::xmldsig::HMACOutputLengthType HMACOutputLengthType;
    typedef ::xsd::cxx::tree::optional< HMACOutputLengthType > HMACOutputLengthOptional;
    typedef ::xsd::cxx::tree::traits< HMACOutputLengthType, char > HMACOutputLengthTraits;

    const HMACOutputLengthOptional&
    HMACOutputLength () const;

    HMACOutputLengthOptional&
    HMACOutputLength ();

    void
    HMACOutputLength (const HMACOutputLengthType& x);

    void
    HMACOutputLength (const HMACOutputLengthOptional& x);

    void
    HMACOutputLength (::std::auto_ptr< HMACOutputLengthType > p);

    // Algorithm
    // 
    typedef ::xml_schema::Uri AlgorithmType;
    typedef ::xsd::cxx::tree::traits< AlgorithmType, char > AlgorithmTraits;

    const AlgorithmType&
    Algorithm () const;

    AlgorithmType&
    Algorithm ();

    void
    Algorithm (const AlgorithmType& x);

    void
    Algorithm (::std::auto_ptr< AlgorithmType > p);

    // Constructors.
    //
    SignatureMethodType (const AlgorithmType&);

    SignatureMethodType (const ::DOMElement& e,
                         ::xml_schema::Flags f = 0,
                         ::xml_schema::Container* c = 0);

    SignatureMethodType (const SignatureMethodType& x,
                         ::xml_schema::Flags f = 0,
                         ::xml_schema::Container* c = 0);

    virtual SignatureMethodType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SignatureMethodType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    HMACOutputLengthOptional HMACOutputLength_;
    ::xsd::cxx::tree::one< AlgorithmType > Algorithm_;
  };

  class ReferenceType: public ::xml_schema::Type
  {
    public:
    // Transforms
    // 
    typedef ::xmldsig::TransformsType TransformsType;
    typedef ::xsd::cxx::tree::optional< TransformsType > TransformsOptional;
    typedef ::xsd::cxx::tree::traits< TransformsType, char > TransformsTraits;

    const TransformsOptional&
    Transforms () const;

    TransformsOptional&
    Transforms ();

    void
    Transforms (const TransformsType& x);

    void
    Transforms (const TransformsOptional& x);

    void
    Transforms (::std::auto_ptr< TransformsType > p);

    // DigestMethod
    // 
    typedef ::xmldsig::DigestMethodType DigestMethodType;
    typedef ::xsd::cxx::tree::traits< DigestMethodType, char > DigestMethodTraits;

    const DigestMethodType&
    DigestMethod () const;

    DigestMethodType&
    DigestMethod ();

    void
    DigestMethod (const DigestMethodType& x);

    void
    DigestMethod (::std::auto_ptr< DigestMethodType > p);

    // DigestValue
    // 
    typedef ::xmldsig::DigestValueType DigestValueType;
    typedef ::xsd::cxx::tree::traits< DigestValueType, char > DigestValueTraits;

    const DigestValueType&
    DigestValue () const;

    DigestValueType&
    DigestValue ();

    void
    DigestValue (const DigestValueType& x);

    void
    DigestValue (::std::auto_ptr< DigestValueType > p);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // URI
    // 
    typedef ::xml_schema::Uri URIType;
    typedef ::xsd::cxx::tree::optional< URIType > URIOptional;
    typedef ::xsd::cxx::tree::traits< URIType, char > URITraits;

    const URIOptional&
    URI () const;

    URIOptional&
    URI ();

    void
    URI (const URIType& x);

    void
    URI (const URIOptional& x);

    void
    URI (::std::auto_ptr< URIType > p);

    // Type
    // 
    typedef ::xml_schema::Uri TypeType;
    typedef ::xsd::cxx::tree::optional< TypeType > TypeOptional;
    typedef ::xsd::cxx::tree::traits< TypeType, char > TypeTraits;

    const TypeOptional&
    Type () const;

    TypeOptional&
    Type ();

    void
    Type (const TypeType& x);

    void
    Type (const TypeOptional& x);

    void
    Type (::std::auto_ptr< TypeType > p);

    // Constructors.
    //
    ReferenceType (const DigestMethodType&,
                   const DigestValueType&);

    ReferenceType (::std::auto_ptr< DigestMethodType >&,
                   const DigestValueType&);

    ReferenceType (const ::DOMElement& e,
                   ::xml_schema::Flags f = 0,
                   ::xml_schema::Container* c = 0);

    ReferenceType (const ReferenceType& x,
                   ::xml_schema::Flags f = 0,
                   ::xml_schema::Container* c = 0);

    virtual ReferenceType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~ReferenceType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    TransformsOptional Transforms_;
    ::xsd::cxx::tree::one< DigestMethodType > DigestMethod_;
    ::xsd::cxx::tree::one< DigestValueType > DigestValue_;
    IdOptional Id_;
    URIOptional URI_;
    TypeOptional Type_;
  };

  class TransformsType: public ::xml_schema::Type
  {
    public:
    // Transform
    // 
    typedef ::xmldsig::TransformType TransformType;
    typedef ::xsd::cxx::tree::sequence< TransformType > TransformSequence;
    typedef TransformSequence::iterator TransformIterator;
    typedef TransformSequence::const_iterator TransformConstIterator;
    typedef ::xsd::cxx::tree::traits< TransformType, char > TransformTraits;

    const TransformSequence&
    Transform () const;

    TransformSequence&
    Transform ();

    void
    Transform (const TransformSequence& s);

    // Constructors.
    //
    TransformsType ();

    TransformsType (const ::DOMElement& e,
                    ::xml_schema::Flags f = 0,
                    ::xml_schema::Container* c = 0);

    TransformsType (const TransformsType& x,
                    ::xml_schema::Flags f = 0,
                    ::xml_schema::Container* c = 0);

    virtual TransformsType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~TransformsType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    TransformSequence Transform_;
  };

  class TransformType: public ::xml_schema::Type
  {
    public:
    // XPath
    // 
    typedef ::xml_schema::String XPathType;
    typedef ::xsd::cxx::tree::sequence< XPathType > XPathSequence;
    typedef XPathSequence::iterator XPathIterator;
    typedef XPathSequence::const_iterator XPathConstIterator;
    typedef ::xsd::cxx::tree::traits< XPathType, char > XPathTraits;

    const XPathSequence&
    XPath () const;

    XPathSequence&
    XPath ();

    void
    XPath (const XPathSequence& s);

    // Algorithm
    // 
    typedef ::xml_schema::Uri AlgorithmType;
    typedef ::xsd::cxx::tree::traits< AlgorithmType, char > AlgorithmTraits;

    const AlgorithmType&
    Algorithm () const;

    AlgorithmType&
    Algorithm ();

    void
    Algorithm (const AlgorithmType& x);

    void
    Algorithm (::std::auto_ptr< AlgorithmType > p);

    // Constructors.
    //
    TransformType (const AlgorithmType&);

    TransformType (const ::DOMElement& e,
                   ::xml_schema::Flags f = 0,
                   ::xml_schema::Container* c = 0);

    TransformType (const TransformType& x,
                   ::xml_schema::Flags f = 0,
                   ::xml_schema::Container* c = 0);

    virtual TransformType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~TransformType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    XPathSequence XPath_;
    ::xsd::cxx::tree::one< AlgorithmType > Algorithm_;
  };

  class DigestMethodType: public ::xml_schema::Type
  {
    public:
    // Algorithm
    // 
    typedef ::xml_schema::Uri AlgorithmType;
    typedef ::xsd::cxx::tree::traits< AlgorithmType, char > AlgorithmTraits;

    const AlgorithmType&
    Algorithm () const;

    AlgorithmType&
    Algorithm ();

    void
    Algorithm (const AlgorithmType& x);

    void
    Algorithm (::std::auto_ptr< AlgorithmType > p);

    // Constructors.
    //
    DigestMethodType (const AlgorithmType&);

    DigestMethodType (const ::DOMElement& e,
                      ::xml_schema::Flags f = 0,
                      ::xml_schema::Container* c = 0);

    DigestMethodType (const DigestMethodType& x,
                      ::xml_schema::Flags f = 0,
                      ::xml_schema::Container* c = 0);

    virtual DigestMethodType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~DigestMethodType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< AlgorithmType > Algorithm_;
  };

  class DigestValueType: public ::xml_schema::Base64Binary
  {
    public:
    // Constructors.
    //
    DigestValueType ();

    DigestValueType (const ::xml_schema::Base64Binary&);

    DigestValueType (const ::DOMElement& e,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    DigestValueType (const ::DOMAttr& a,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    DigestValueType (const ::std::string& s,
                     const ::DOMElement* e,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    DigestValueType (const DigestValueType& x,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    virtual DigestValueType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~DigestValueType ();
  };

  class KeyInfoType: public ::xml_schema::Type
  {
    public:
    // KeyName
    // 
    typedef ::xml_schema::String KeyNameType;
    typedef ::xsd::cxx::tree::sequence< KeyNameType > KeyNameSequence;
    typedef KeyNameSequence::iterator KeyNameIterator;
    typedef KeyNameSequence::const_iterator KeyNameConstIterator;
    typedef ::xsd::cxx::tree::traits< KeyNameType, char > KeyNameTraits;

    const KeyNameSequence&
    KeyName () const;

    KeyNameSequence&
    KeyName ();

    void
    KeyName (const KeyNameSequence& s);

    // KeyValue
    // 
    typedef ::xmldsig::KeyValueType KeyValueType;
    typedef ::xsd::cxx::tree::sequence< KeyValueType > KeyValueSequence;
    typedef KeyValueSequence::iterator KeyValueIterator;
    typedef KeyValueSequence::const_iterator KeyValueConstIterator;
    typedef ::xsd::cxx::tree::traits< KeyValueType, char > KeyValueTraits;

    const KeyValueSequence&
    KeyValue () const;

    KeyValueSequence&
    KeyValue ();

    void
    KeyValue (const KeyValueSequence& s);

    // RetrievalMethod
    // 
    typedef ::xmldsig::RetrievalMethodType RetrievalMethodType;
    typedef ::xsd::cxx::tree::sequence< RetrievalMethodType > RetrievalMethodSequence;
    typedef RetrievalMethodSequence::iterator RetrievalMethodIterator;
    typedef RetrievalMethodSequence::const_iterator RetrievalMethodConstIterator;
    typedef ::xsd::cxx::tree::traits< RetrievalMethodType, char > RetrievalMethodTraits;

    const RetrievalMethodSequence&
    RetrievalMethod () const;

    RetrievalMethodSequence&
    RetrievalMethod ();

    void
    RetrievalMethod (const RetrievalMethodSequence& s);

    // X509Data
    // 
    typedef ::xmldsig::X509DataType X509DataType;
    typedef ::xsd::cxx::tree::sequence< X509DataType > X509DataSequence;
    typedef X509DataSequence::iterator X509DataIterator;
    typedef X509DataSequence::const_iterator X509DataConstIterator;
    typedef ::xsd::cxx::tree::traits< X509DataType, char > X509DataTraits;

    const X509DataSequence&
    X509Data () const;

    X509DataSequence&
    X509Data ();

    void
    X509Data (const X509DataSequence& s);

    // PGPData
    // 
    typedef ::xmldsig::PGPDataType PGPDataType;
    typedef ::xsd::cxx::tree::sequence< PGPDataType > PGPDataSequence;
    typedef PGPDataSequence::iterator PGPDataIterator;
    typedef PGPDataSequence::const_iterator PGPDataConstIterator;
    typedef ::xsd::cxx::tree::traits< PGPDataType, char > PGPDataTraits;

    const PGPDataSequence&
    PGPData () const;

    PGPDataSequence&
    PGPData ();

    void
    PGPData (const PGPDataSequence& s);

    // SPKIData
    // 
    typedef ::xmldsig::SPKIDataType SPKIDataType;
    typedef ::xsd::cxx::tree::sequence< SPKIDataType > SPKIDataSequence;
    typedef SPKIDataSequence::iterator SPKIDataIterator;
    typedef SPKIDataSequence::const_iterator SPKIDataConstIterator;
    typedef ::xsd::cxx::tree::traits< SPKIDataType, char > SPKIDataTraits;

    const SPKIDataSequence&
    SPKIData () const;

    SPKIDataSequence&
    SPKIData ();

    void
    SPKIData (const SPKIDataSequence& s);

    // MgmtData
    // 
    typedef ::xml_schema::String MgmtDataType;
    typedef ::xsd::cxx::tree::sequence< MgmtDataType > MgmtDataSequence;
    typedef MgmtDataSequence::iterator MgmtDataIterator;
    typedef MgmtDataSequence::const_iterator MgmtDataConstIterator;
    typedef ::xsd::cxx::tree::traits< MgmtDataType, char > MgmtDataTraits;

    const MgmtDataSequence&
    MgmtData () const;

    MgmtDataSequence&
    MgmtData ();

    void
    MgmtData (const MgmtDataSequence& s);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    KeyInfoType ();

    KeyInfoType (const ::DOMElement& e,
                 ::xml_schema::Flags f = 0,
                 ::xml_schema::Container* c = 0);

    KeyInfoType (const KeyInfoType& x,
                 ::xml_schema::Flags f = 0,
                 ::xml_schema::Container* c = 0);

    virtual KeyInfoType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~KeyInfoType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    KeyNameSequence KeyName_;
    KeyValueSequence KeyValue_;
    RetrievalMethodSequence RetrievalMethod_;
    X509DataSequence X509Data_;
    PGPDataSequence PGPData_;
    SPKIDataSequence SPKIData_;
    MgmtDataSequence MgmtData_;
    IdOptional Id_;
  };

  class KeyValueType: public ::xml_schema::Type
  {
    public:
    // DSAKeyValue
    // 
    typedef ::xmldsig::DSAKeyValueType DSAKeyValueType;
    typedef ::xsd::cxx::tree::optional< DSAKeyValueType > DSAKeyValueOptional;
    typedef ::xsd::cxx::tree::traits< DSAKeyValueType, char > DSAKeyValueTraits;

    const DSAKeyValueOptional&
    DSAKeyValue () const;

    DSAKeyValueOptional&
    DSAKeyValue ();

    void
    DSAKeyValue (const DSAKeyValueType& x);

    void
    DSAKeyValue (const DSAKeyValueOptional& x);

    void
    DSAKeyValue (::std::auto_ptr< DSAKeyValueType > p);

    // RSAKeyValue
    // 
    typedef ::xmldsig::RSAKeyValueType RSAKeyValueType;
    typedef ::xsd::cxx::tree::optional< RSAKeyValueType > RSAKeyValueOptional;
    typedef ::xsd::cxx::tree::traits< RSAKeyValueType, char > RSAKeyValueTraits;

    const RSAKeyValueOptional&
    RSAKeyValue () const;

    RSAKeyValueOptional&
    RSAKeyValue ();

    void
    RSAKeyValue (const RSAKeyValueType& x);

    void
    RSAKeyValue (const RSAKeyValueOptional& x);

    void
    RSAKeyValue (::std::auto_ptr< RSAKeyValueType > p);

    // Constructors.
    //
    KeyValueType ();

    KeyValueType (const ::DOMElement& e,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    KeyValueType (const KeyValueType& x,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    virtual KeyValueType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~KeyValueType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    DSAKeyValueOptional DSAKeyValue_;
    RSAKeyValueOptional RSAKeyValue_;
  };

  class RetrievalMethodType: public ::xml_schema::Type
  {
    public:
    // Transforms
    // 
    typedef ::xmldsig::TransformsType TransformsType;
    typedef ::xsd::cxx::tree::optional< TransformsType > TransformsOptional;
    typedef ::xsd::cxx::tree::traits< TransformsType, char > TransformsTraits;

    const TransformsOptional&
    Transforms () const;

    TransformsOptional&
    Transforms ();

    void
    Transforms (const TransformsType& x);

    void
    Transforms (const TransformsOptional& x);

    void
    Transforms (::std::auto_ptr< TransformsType > p);

    // URI
    // 
    typedef ::xml_schema::Uri URIType;
    typedef ::xsd::cxx::tree::optional< URIType > URIOptional;
    typedef ::xsd::cxx::tree::traits< URIType, char > URITraits;

    const URIOptional&
    URI () const;

    URIOptional&
    URI ();

    void
    URI (const URIType& x);

    void
    URI (const URIOptional& x);

    void
    URI (::std::auto_ptr< URIType > p);

    // Type
    // 
    typedef ::xml_schema::Uri TypeType;
    typedef ::xsd::cxx::tree::optional< TypeType > TypeOptional;
    typedef ::xsd::cxx::tree::traits< TypeType, char > TypeTraits;

    const TypeOptional&
    Type () const;

    TypeOptional&
    Type ();

    void
    Type (const TypeType& x);

    void
    Type (const TypeOptional& x);

    void
    Type (::std::auto_ptr< TypeType > p);

    // Constructors.
    //
    RetrievalMethodType ();

    RetrievalMethodType (const ::DOMElement& e,
                         ::xml_schema::Flags f = 0,
                         ::xml_schema::Container* c = 0);

    RetrievalMethodType (const RetrievalMethodType& x,
                         ::xml_schema::Flags f = 0,
                         ::xml_schema::Container* c = 0);

    virtual RetrievalMethodType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~RetrievalMethodType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    TransformsOptional Transforms_;
    URIOptional URI_;
    TypeOptional Type_;
  };

  class X509DataType: public ::xml_schema::Type
  {
    public:
    // X509IssuerSerial
    // 
    typedef ::xmldsig::X509IssuerSerialType X509IssuerSerialType;
    typedef ::xsd::cxx::tree::sequence< X509IssuerSerialType > X509IssuerSerialSequence;
    typedef X509IssuerSerialSequence::iterator X509IssuerSerialIterator;
    typedef X509IssuerSerialSequence::const_iterator X509IssuerSerialConstIterator;
    typedef ::xsd::cxx::tree::traits< X509IssuerSerialType, char > X509IssuerSerialTraits;

    const X509IssuerSerialSequence&
    X509IssuerSerial () const;

    X509IssuerSerialSequence&
    X509IssuerSerial ();

    void
    X509IssuerSerial (const X509IssuerSerialSequence& s);

    // X509SKI
    // 
    typedef ::xml_schema::Base64Binary X509SKIType;
    typedef ::xsd::cxx::tree::sequence< X509SKIType > X509SKISequence;
    typedef X509SKISequence::iterator X509SKIIterator;
    typedef X509SKISequence::const_iterator X509SKIConstIterator;
    typedef ::xsd::cxx::tree::traits< X509SKIType, char > X509SKITraits;

    const X509SKISequence&
    X509SKI () const;

    X509SKISequence&
    X509SKI ();

    void
    X509SKI (const X509SKISequence& s);

    // X509SubjectName
    // 
    typedef ::xml_schema::String X509SubjectNameType;
    typedef ::xsd::cxx::tree::sequence< X509SubjectNameType > X509SubjectNameSequence;
    typedef X509SubjectNameSequence::iterator X509SubjectNameIterator;
    typedef X509SubjectNameSequence::const_iterator X509SubjectNameConstIterator;
    typedef ::xsd::cxx::tree::traits< X509SubjectNameType, char > X509SubjectNameTraits;

    const X509SubjectNameSequence&
    X509SubjectName () const;

    X509SubjectNameSequence&
    X509SubjectName ();

    void
    X509SubjectName (const X509SubjectNameSequence& s);

    // X509Certificate
    // 
    typedef ::xml_schema::Base64Binary X509CertificateType;
    typedef ::xsd::cxx::tree::sequence< X509CertificateType > X509CertificateSequence;
    typedef X509CertificateSequence::iterator X509CertificateIterator;
    typedef X509CertificateSequence::const_iterator X509CertificateConstIterator;
    typedef ::xsd::cxx::tree::traits< X509CertificateType, char > X509CertificateTraits;

    const X509CertificateSequence&
    X509Certificate () const;

    X509CertificateSequence&
    X509Certificate ();

    void
    X509Certificate (const X509CertificateSequence& s);

    // X509CRL
    // 
    typedef ::xml_schema::Base64Binary X509CRLType;
    typedef ::xsd::cxx::tree::sequence< X509CRLType > X509CRLSequence;
    typedef X509CRLSequence::iterator X509CRLIterator;
    typedef X509CRLSequence::const_iterator X509CRLConstIterator;
    typedef ::xsd::cxx::tree::traits< X509CRLType, char > X509CRLTraits;

    const X509CRLSequence&
    X509CRL () const;

    X509CRLSequence&
    X509CRL ();

    void
    X509CRL (const X509CRLSequence& s);

    // Constructors.
    //
    X509DataType ();

    X509DataType (const ::DOMElement& e,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    X509DataType (const X509DataType& x,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    virtual X509DataType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~X509DataType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    X509IssuerSerialSequence X509IssuerSerial_;
    X509SKISequence X509SKI_;
    X509SubjectNameSequence X509SubjectName_;
    X509CertificateSequence X509Certificate_;
    X509CRLSequence X509CRL_;
  };

  class X509IssuerSerialType: public ::xml_schema::Type
  {
    public:
    // X509IssuerName
    // 
    typedef ::xml_schema::String X509IssuerNameType;
    typedef ::xsd::cxx::tree::traits< X509IssuerNameType, char > X509IssuerNameTraits;

    const X509IssuerNameType&
    X509IssuerName () const;

    X509IssuerNameType&
    X509IssuerName ();

    void
    X509IssuerName (const X509IssuerNameType& x);

    void
    X509IssuerName (::std::auto_ptr< X509IssuerNameType > p);

    // X509SerialNumber
    // 
    typedef ::xml_schema::Integer X509SerialNumberType;
    typedef ::xsd::cxx::tree::traits< X509SerialNumberType, char > X509SerialNumberTraits;

    const X509SerialNumberType&
    X509SerialNumber () const;

    X509SerialNumberType&
    X509SerialNumber ();

    void
    X509SerialNumber (const X509SerialNumberType& x);

    // Constructors.
    //
    X509IssuerSerialType (const X509IssuerNameType&,
                          const X509SerialNumberType&);

    X509IssuerSerialType (const ::DOMElement& e,
                          ::xml_schema::Flags f = 0,
                          ::xml_schema::Container* c = 0);

    X509IssuerSerialType (const X509IssuerSerialType& x,
                          ::xml_schema::Flags f = 0,
                          ::xml_schema::Container* c = 0);

    virtual X509IssuerSerialType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~X509IssuerSerialType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< X509IssuerNameType > X509IssuerName_;
    ::xsd::cxx::tree::one< X509SerialNumberType > X509SerialNumber_;
  };

  class PGPDataType: public ::xml_schema::Type
  {
    public:
    // PGPKeyID
    // 
    typedef ::xml_schema::Base64Binary PGPKeyIDType;
    typedef ::xsd::cxx::tree::optional< PGPKeyIDType > PGPKeyIDOptional;
    typedef ::xsd::cxx::tree::traits< PGPKeyIDType, char > PGPKeyIDTraits;

    const PGPKeyIDOptional&
    PGPKeyID () const;

    PGPKeyIDOptional&
    PGPKeyID ();

    void
    PGPKeyID (const PGPKeyIDType& x);

    void
    PGPKeyID (const PGPKeyIDOptional& x);

    void
    PGPKeyID (::std::auto_ptr< PGPKeyIDType > p);

    // PGPKeyPacket
    // 
    typedef ::xml_schema::Base64Binary PGPKeyPacketType;
    typedef ::xsd::cxx::tree::optional< PGPKeyPacketType > PGPKeyPacketOptional;
    typedef ::xsd::cxx::tree::traits< PGPKeyPacketType, char > PGPKeyPacketTraits;

    const PGPKeyPacketOptional&
    PGPKeyPacket () const;

    PGPKeyPacketOptional&
    PGPKeyPacket ();

    void
    PGPKeyPacket (const PGPKeyPacketType& x);

    void
    PGPKeyPacket (const PGPKeyPacketOptional& x);

    void
    PGPKeyPacket (::std::auto_ptr< PGPKeyPacketType > p);

    // Constructors.
    //
    PGPDataType ();

    PGPDataType (const ::DOMElement& e,
                 ::xml_schema::Flags f = 0,
                 ::xml_schema::Container* c = 0);

    PGPDataType (const PGPDataType& x,
                 ::xml_schema::Flags f = 0,
                 ::xml_schema::Container* c = 0);

    virtual PGPDataType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~PGPDataType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    PGPKeyIDOptional PGPKeyID_;
    PGPKeyPacketOptional PGPKeyPacket_;
  };

  class SPKIDataType: public ::xml_schema::Type
  {
    public:
    // SPKISexp
    // 
    typedef ::xml_schema::Base64Binary SPKISexpType;
    typedef ::xsd::cxx::tree::sequence< SPKISexpType > SPKISexpSequence;
    typedef SPKISexpSequence::iterator SPKISexpIterator;
    typedef SPKISexpSequence::const_iterator SPKISexpConstIterator;
    typedef ::xsd::cxx::tree::traits< SPKISexpType, char > SPKISexpTraits;

    const SPKISexpSequence&
    SPKISexp () const;

    SPKISexpSequence&
    SPKISexp ();

    void
    SPKISexp (const SPKISexpSequence& s);

    // Constructors.
    //
    SPKIDataType ();

    SPKIDataType (const ::DOMElement& e,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    SPKIDataType (const SPKIDataType& x,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    virtual SPKIDataType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SPKIDataType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    SPKISexpSequence SPKISexp_;
  };

  class ObjectType: public ::xml_schema::Type
  {
    public:
    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // MimeType
    // 
    typedef ::xml_schema::String MimeTypeType;
    typedef ::xsd::cxx::tree::optional< MimeTypeType > MimeTypeOptional;
    typedef ::xsd::cxx::tree::traits< MimeTypeType, char > MimeTypeTraits;

    const MimeTypeOptional&
    MimeType () const;

    MimeTypeOptional&
    MimeType ();

    void
    MimeType (const MimeTypeType& x);

    void
    MimeType (const MimeTypeOptional& x);

    void
    MimeType (::std::auto_ptr< MimeTypeType > p);

    // Encoding
    // 
    typedef ::xml_schema::Uri EncodingType;
    typedef ::xsd::cxx::tree::optional< EncodingType > EncodingOptional;
    typedef ::xsd::cxx::tree::traits< EncodingType, char > EncodingTraits;

    const EncodingOptional&
    Encoding () const;

    EncodingOptional&
    Encoding ();

    void
    Encoding (const EncodingType& x);

    void
    Encoding (const EncodingOptional& x);

    void
    Encoding (::std::auto_ptr< EncodingType > p);

    // Constructors.
    //
    ObjectType ();

    ObjectType (const ::DOMElement& e,
                ::xml_schema::Flags f = 0,
                ::xml_schema::Container* c = 0);

    ObjectType (const ObjectType& x,
                ::xml_schema::Flags f = 0,
                ::xml_schema::Container* c = 0);

    virtual ObjectType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~ObjectType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    IdOptional Id_;
    MimeTypeOptional MimeType_;
    EncodingOptional Encoding_;
  };

  class ManifestType: public ::xml_schema::Type
  {
    public:
    // Reference
    // 
    typedef ::xmldsig::ReferenceType ReferenceType;
    typedef ::xsd::cxx::tree::sequence< ReferenceType > ReferenceSequence;
    typedef ReferenceSequence::iterator ReferenceIterator;
    typedef ReferenceSequence::const_iterator ReferenceConstIterator;
    typedef ::xsd::cxx::tree::traits< ReferenceType, char > ReferenceTraits;

    const ReferenceSequence&
    Reference () const;

    ReferenceSequence&
    Reference ();

    void
    Reference (const ReferenceSequence& s);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    ManifestType ();

    ManifestType (const ::DOMElement& e,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    ManifestType (const ManifestType& x,
                  ::xml_schema::Flags f = 0,
                  ::xml_schema::Container* c = 0);

    virtual ManifestType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~ManifestType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ReferenceSequence Reference_;
    IdOptional Id_;
  };

  class SignaturePropertiesType: public ::xml_schema::Type
  {
    public:
    // SignatureProperty
    // 
    typedef ::xmldsig::SignaturePropertyType SignaturePropertyType;
    typedef ::xsd::cxx::tree::sequence< SignaturePropertyType > SignaturePropertySequence;
    typedef SignaturePropertySequence::iterator SignaturePropertyIterator;
    typedef SignaturePropertySequence::const_iterator SignaturePropertyConstIterator;
    typedef ::xsd::cxx::tree::traits< SignaturePropertyType, char > SignaturePropertyTraits;

    const SignaturePropertySequence&
    SignatureProperty () const;

    SignaturePropertySequence&
    SignatureProperty ();

    void
    SignatureProperty (const SignaturePropertySequence& s);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    SignaturePropertiesType ();

    SignaturePropertiesType (const ::DOMElement& e,
                             ::xml_schema::Flags f = 0,
                             ::xml_schema::Container* c = 0);

    SignaturePropertiesType (const SignaturePropertiesType& x,
                             ::xml_schema::Flags f = 0,
                             ::xml_schema::Container* c = 0);

    virtual SignaturePropertiesType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SignaturePropertiesType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    SignaturePropertySequence SignatureProperty_;
    IdOptional Id_;
  };

  class SignaturePropertyType: public ::xml_schema::Type
  {
    public:
    // Target
    // 
    typedef ::xml_schema::Uri TargetType;
    typedef ::xsd::cxx::tree::traits< TargetType, char > TargetTraits;

    const TargetType&
    Target () const;

    TargetType&
    Target ();

    void
    Target (const TargetType& x);

    void
    Target (::std::auto_ptr< TargetType > p);

    // Id
    // 
    typedef ::xml_schema::Id IdType;
    typedef ::xsd::cxx::tree::optional< IdType > IdOptional;
    typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits;

    const IdOptional&
    Id () const;

    IdOptional&
    Id ();

    void
    Id (const IdType& x);

    void
    Id (const IdOptional& x);

    void
    Id (::std::auto_ptr< IdType > p);

    // Constructors.
    //
    SignaturePropertyType (const TargetType&);

    SignaturePropertyType (const ::DOMElement& e,
                           ::xml_schema::Flags f = 0,
                           ::xml_schema::Container* c = 0);

    SignaturePropertyType (const SignaturePropertyType& x,
                           ::xml_schema::Flags f = 0,
                           ::xml_schema::Container* c = 0);

    virtual SignaturePropertyType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~SignaturePropertyType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< TargetType > Target_;
    IdOptional Id_;
  };

  class HMACOutputLengthType: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::Integer, char, ::xml_schema::SimpleType >
  {
    public:
    // Constructors.
    //
    HMACOutputLengthType (const ::xml_schema::Integer&);

    HMACOutputLengthType (const ::DOMElement& e,
                          ::xml_schema::Flags f = 0,
                          ::xml_schema::Container* c = 0);

    HMACOutputLengthType (const ::DOMAttr& a,
                          ::xml_schema::Flags f = 0,
                          ::xml_schema::Container* c = 0);

    HMACOutputLengthType (const ::std::string& s,
                          const ::DOMElement* e,
                          ::xml_schema::Flags f = 0,
                          ::xml_schema::Container* c = 0);

    HMACOutputLengthType (const HMACOutputLengthType& x,
                          ::xml_schema::Flags f = 0,
                          ::xml_schema::Container* c = 0);

    virtual HMACOutputLengthType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~HMACOutputLengthType ();
  };

  class DSAKeyValueType: public ::xml_schema::Type
  {
    public:
    // P
    // 
    typedef ::xmldsig::CryptoBinary PType;
    typedef ::xsd::cxx::tree::optional< PType > POptional;
    typedef ::xsd::cxx::tree::traits< PType, char > PTraits;

    const POptional&
    P () const;

    POptional&
    P ();

    void
    P (const PType& x);

    void
    P (const POptional& x);

    void
    P (::std::auto_ptr< PType > p);

    // Q
    // 
    typedef ::xmldsig::CryptoBinary QType;
    typedef ::xsd::cxx::tree::optional< QType > QOptional;
    typedef ::xsd::cxx::tree::traits< QType, char > QTraits;

    const QOptional&
    Q () const;

    QOptional&
    Q ();

    void
    Q (const QType& x);

    void
    Q (const QOptional& x);

    void
    Q (::std::auto_ptr< QType > p);

    // G
    // 
    typedef ::xmldsig::CryptoBinary GType;
    typedef ::xsd::cxx::tree::optional< GType > GOptional;
    typedef ::xsd::cxx::tree::traits< GType, char > GTraits;

    const GOptional&
    G () const;

    GOptional&
    G ();

    void
    G (const GType& x);

    void
    G (const GOptional& x);

    void
    G (::std::auto_ptr< GType > p);

    // Y
    // 
    typedef ::xmldsig::CryptoBinary YType;
    typedef ::xsd::cxx::tree::traits< YType, char > YTraits;

    const YType&
    Y () const;

    YType&
    Y ();

    void
    Y (const YType& x);

    void
    Y (::std::auto_ptr< YType > p);

    // J
    // 
    typedef ::xmldsig::CryptoBinary JType;
    typedef ::xsd::cxx::tree::optional< JType > JOptional;
    typedef ::xsd::cxx::tree::traits< JType, char > JTraits;

    const JOptional&
    J () const;

    JOptional&
    J ();

    void
    J (const JType& x);

    void
    J (const JOptional& x);

    void
    J (::std::auto_ptr< JType > p);

    // Seed
    // 
    typedef ::xmldsig::CryptoBinary SeedType;
    typedef ::xsd::cxx::tree::optional< SeedType > SeedOptional;
    typedef ::xsd::cxx::tree::traits< SeedType, char > SeedTraits;

    const SeedOptional&
    Seed () const;

    SeedOptional&
    Seed ();

    void
    Seed (const SeedType& x);

    void
    Seed (const SeedOptional& x);

    void
    Seed (::std::auto_ptr< SeedType > p);

    // PgenCounter
    // 
    typedef ::xmldsig::CryptoBinary PgenCounterType;
    typedef ::xsd::cxx::tree::optional< PgenCounterType > PgenCounterOptional;
    typedef ::xsd::cxx::tree::traits< PgenCounterType, char > PgenCounterTraits;

    const PgenCounterOptional&
    PgenCounter () const;

    PgenCounterOptional&
    PgenCounter ();

    void
    PgenCounter (const PgenCounterType& x);

    void
    PgenCounter (const PgenCounterOptional& x);

    void
    PgenCounter (::std::auto_ptr< PgenCounterType > p);

    // Constructors.
    //
    DSAKeyValueType (const YType&);

    DSAKeyValueType (const ::DOMElement& e,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    DSAKeyValueType (const DSAKeyValueType& x,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    virtual DSAKeyValueType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~DSAKeyValueType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    POptional P_;
    QOptional Q_;
    GOptional G_;
    ::xsd::cxx::tree::one< YType > Y_;
    JOptional J_;
    SeedOptional Seed_;
    PgenCounterOptional PgenCounter_;
  };

  class RSAKeyValueType: public ::xml_schema::Type
  {
    public:
    // Modulus
    // 
    typedef ::xmldsig::CryptoBinary ModulusType;
    typedef ::xsd::cxx::tree::traits< ModulusType, char > ModulusTraits;

    const ModulusType&
    Modulus () const;

    ModulusType&
    Modulus ();

    void
    Modulus (const ModulusType& x);

    void
    Modulus (::std::auto_ptr< ModulusType > p);

    // Exponent
    // 
    typedef ::xmldsig::CryptoBinary ExponentType;
    typedef ::xsd::cxx::tree::traits< ExponentType, char > ExponentTraits;

    const ExponentType&
    Exponent () const;

    ExponentType&
    Exponent ();

    void
    Exponent (const ExponentType& x);

    void
    Exponent (::std::auto_ptr< ExponentType > p);

    // Constructors.
    //
    RSAKeyValueType (const ModulusType&,
                     const ExponentType&);

    RSAKeyValueType (const ::DOMElement& e,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    RSAKeyValueType (const RSAKeyValueType& x,
                     ::xml_schema::Flags f = 0,
                     ::xml_schema::Container* c = 0);

    virtual RSAKeyValueType*
    _clone (::xml_schema::Flags f = 0,
            ::xml_schema::Container* c = 0) const;

    virtual 
    ~RSAKeyValueType ();

    // Implementation.
    //
    protected:
    void
    parse (::xsd::cxx::xml::dom::parser< char >&,
           ::xml_schema::Flags);

    protected:
    ::xsd::cxx::tree::one< ModulusType > Modulus_;
    ::xsd::cxx::tree::one< ExponentType > Exponent_;
  };
}

#include <iosfwd>

#include <xercesc/sax/InputSource.hpp>
#include <xercesc/dom/DOMDocument.hpp>
#include <xercesc/dom/DOMErrorHandler.hpp>

namespace xmldsig
{
  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (const ::std::string& uri,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (const ::std::string& uri,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (const ::std::string& uri,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::std::istream& is,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::std::istream& is,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::std::istream& is,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::std::istream& is,
             const ::std::string& id,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::std::istream& is,
             const ::std::string& id,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::std::istream& is,
             const ::std::string& id,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::InputSource& is,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::InputSource& is,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::InputSource& is,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (const ::DOMDocument& d,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureType >
  Signature (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (const ::std::string& uri,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (const ::std::string& uri,
                  ::xml_schema::ErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (const ::std::string& uri,
                  ::DOMErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::std::istream& is,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::std::istream& is,
                  ::xml_schema::ErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::std::istream& is,
                  ::DOMErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::std::istream& is,
                  const ::std::string& id,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::std::istream& is,
                  const ::std::string& id,
                  ::xml_schema::ErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::std::istream& is,
                  const ::std::string& id,
                  ::DOMErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::InputSource& is,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::InputSource& is,
                  ::xml_schema::ErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::InputSource& is,
                  ::DOMErrorHandler& eh,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (const ::DOMDocument& d,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureValueType >
  SignatureValue (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                  ::xml_schema::Flags f = 0,
                  const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (const ::std::string& uri,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (const ::std::string& uri,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (const ::std::string& uri,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::std::istream& is,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::std::istream& is,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::std::istream& is,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::std::istream& is,
              const ::std::string& id,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::std::istream& is,
              const ::std::string& id,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::std::istream& is,
              const ::std::string& id,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::InputSource& is,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::InputSource& is,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::InputSource& is,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (const ::DOMDocument& d,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignedInfoType >
  SignedInfo (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (const ::std::string& uri,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (const ::std::string& uri,
                          ::xml_schema::ErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (const ::std::string& uri,
                          ::DOMErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::std::istream& is,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::std::istream& is,
                          ::xml_schema::ErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::std::istream& is,
                          ::DOMErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::std::istream& is,
                          const ::std::string& id,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::std::istream& is,
                          const ::std::string& id,
                          ::xml_schema::ErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::std::istream& is,
                          const ::std::string& id,
                          ::DOMErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::InputSource& is,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::InputSource& is,
                          ::xml_schema::ErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::InputSource& is,
                          ::DOMErrorHandler& eh,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (const ::DOMDocument& d,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::CanonicalizationMethodType >
  CanonicalizationMethod (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                          ::xml_schema::Flags f = 0,
                          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (const ::std::string& uri,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (const ::std::string& uri,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (const ::std::string& uri,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::std::istream& is,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::std::istream& is,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::std::istream& is,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::std::istream& is,
                   const ::std::string& id,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::std::istream& is,
                   const ::std::string& id,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::std::istream& is,
                   const ::std::string& id,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::InputSource& is,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::InputSource& is,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::InputSource& is,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (const ::DOMDocument& d,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignatureMethodType >
  SignatureMethod (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (const ::std::string& uri,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (const ::std::string& uri,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (const ::std::string& uri,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::std::istream& is,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::std::istream& is,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::std::istream& is,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::std::istream& is,
             const ::std::string& id,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::std::istream& is,
             const ::std::string& id,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::std::istream& is,
             const ::std::string& id,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::InputSource& is,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::InputSource& is,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::InputSource& is,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (const ::DOMDocument& d,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ReferenceType >
  Reference (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (const ::std::string& uri,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (const ::std::string& uri,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (const ::std::string& uri,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::std::istream& is,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::std::istream& is,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::std::istream& is,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::std::istream& is,
              const ::std::string& id,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::std::istream& is,
              const ::std::string& id,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::std::istream& is,
              const ::std::string& id,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::InputSource& is,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::InputSource& is,
              ::xml_schema::ErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::InputSource& is,
              ::DOMErrorHandler& eh,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (const ::DOMDocument& d,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformsType >
  Transforms (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
              ::xml_schema::Flags f = 0,
              const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (const ::std::string& uri,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (const ::std::string& uri,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (const ::std::string& uri,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::std::istream& is,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::std::istream& is,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::std::istream& is,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::std::istream& is,
             const ::std::string& id,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::std::istream& is,
             const ::std::string& id,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::std::istream& is,
             const ::std::string& id,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::InputSource& is,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::InputSource& is,
             ::xml_schema::ErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::InputSource& is,
             ::DOMErrorHandler& eh,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (const ::DOMDocument& d,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::TransformType >
  Transform (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
             ::xml_schema::Flags f = 0,
             const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (const ::std::string& uri,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (const ::std::string& uri,
                ::xml_schema::ErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (const ::std::string& uri,
                ::DOMErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::std::istream& is,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::std::istream& is,
                ::xml_schema::ErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::std::istream& is,
                ::DOMErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::std::istream& is,
                const ::std::string& id,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::std::istream& is,
                const ::std::string& id,
                ::xml_schema::ErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::std::istream& is,
                const ::std::string& id,
                ::DOMErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::InputSource& is,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::InputSource& is,
                ::xml_schema::ErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::InputSource& is,
                ::DOMErrorHandler& eh,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (const ::DOMDocument& d,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestMethodType >
  DigestMethod (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                ::xml_schema::Flags f = 0,
                const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (const ::std::string& uri,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (const ::std::string& uri,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (const ::std::string& uri,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::std::istream& is,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::std::istream& is,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::std::istream& is,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::std::istream& is,
               const ::std::string& id,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::std::istream& is,
               const ::std::string& id,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::std::istream& is,
               const ::std::string& id,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::InputSource& is,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::InputSource& is,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::InputSource& is,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (const ::DOMDocument& d,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DigestValueType >
  DigestValue (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (const ::std::string& uri,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (const ::std::string& uri,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (const ::std::string& uri,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::std::istream& is,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::std::istream& is,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::std::istream& is,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::std::istream& is,
           const ::std::string& id,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::std::istream& is,
           const ::std::string& id,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::std::istream& is,
           const ::std::string& id,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::InputSource& is,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::InputSource& is,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::InputSource& is,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (const ::DOMDocument& d,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyInfoType >
  KeyInfo (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (const ::std::string& uri,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (const ::std::string& uri,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (const ::std::string& uri,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::std::istream& is,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::std::istream& is,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::std::istream& is,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::std::istream& is,
           const ::std::string& id,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::std::istream& is,
           const ::std::string& id,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::std::istream& is,
           const ::std::string& id,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::InputSource& is,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::InputSource& is,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::InputSource& is,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (const ::DOMDocument& d,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  KeyName (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (const ::std::string& uri,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (const ::std::string& uri,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (const ::std::string& uri,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::std::istream& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::std::istream& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::std::istream& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::std::istream& is,
            const ::std::string& id,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::InputSource& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::InputSource& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::InputSource& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (const ::DOMDocument& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xml_schema::String >
  MgmtData (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (const ::std::string& uri,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (const ::std::string& uri,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (const ::std::string& uri,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::std::istream& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::std::istream& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::std::istream& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::std::istream& is,
            const ::std::string& id,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::InputSource& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::InputSource& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::InputSource& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (const ::DOMDocument& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::KeyValueType >
  KeyValue (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (const ::std::string& uri,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (const ::std::string& uri,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (const ::std::string& uri,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::std::istream& is,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::std::istream& is,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::std::istream& is,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::std::istream& is,
                   const ::std::string& id,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::std::istream& is,
                   const ::std::string& id,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::std::istream& is,
                   const ::std::string& id,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::InputSource& is,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::InputSource& is,
                   ::xml_schema::ErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::InputSource& is,
                   ::DOMErrorHandler& eh,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (const ::DOMDocument& d,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RetrievalMethodType >
  RetrievalMethod (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                   ::xml_schema::Flags f = 0,
                   const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (const ::std::string& uri,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (const ::std::string& uri,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (const ::std::string& uri,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::std::istream& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::std::istream& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::std::istream& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::std::istream& is,
            const ::std::string& id,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::InputSource& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::InputSource& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::InputSource& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (const ::DOMDocument& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::X509DataType >
  X509Data (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (const ::std::string& uri,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (const ::std::string& uri,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (const ::std::string& uri,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::std::istream& is,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::std::istream& is,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::std::istream& is,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::std::istream& is,
           const ::std::string& id,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::std::istream& is,
           const ::std::string& id,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::std::istream& is,
           const ::std::string& id,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::InputSource& is,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::InputSource& is,
           ::xml_schema::ErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::InputSource& is,
           ::DOMErrorHandler& eh,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (const ::DOMDocument& d,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::PGPDataType >
  PGPData (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
           ::xml_schema::Flags f = 0,
           const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (const ::std::string& uri,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (const ::std::string& uri,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (const ::std::string& uri,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::std::istream& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::std::istream& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::std::istream& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::std::istream& is,
            const ::std::string& id,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::InputSource& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::InputSource& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::InputSource& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (const ::DOMDocument& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SPKIDataType >
  SPKIData (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (const ::std::string& uri,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (const ::std::string& uri,
          ::xml_schema::ErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (const ::std::string& uri,
          ::DOMErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::std::istream& is,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::std::istream& is,
          ::xml_schema::ErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::std::istream& is,
          ::DOMErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::std::istream& is,
          const ::std::string& id,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::std::istream& is,
          const ::std::string& id,
          ::xml_schema::ErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::std::istream& is,
          const ::std::string& id,
          ::DOMErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::InputSource& is,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::InputSource& is,
          ::xml_schema::ErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::InputSource& is,
          ::DOMErrorHandler& eh,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (const ::DOMDocument& d,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ObjectType >
  Object (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
          ::xml_schema::Flags f = 0,
          const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (const ::std::string& uri,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (const ::std::string& uri,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (const ::std::string& uri,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::std::istream& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::std::istream& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::std::istream& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::std::istream& is,
            const ::std::string& id,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::std::istream& is,
            const ::std::string& id,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::InputSource& is,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::InputSource& is,
            ::xml_schema::ErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::InputSource& is,
            ::DOMErrorHandler& eh,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (const ::DOMDocument& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::ManifestType >
  Manifest (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
            ::xml_schema::Flags f = 0,
            const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (const ::std::string& uri,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (const ::std::string& uri,
                       ::xml_schema::ErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (const ::std::string& uri,
                       ::DOMErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::std::istream& is,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::std::istream& is,
                       ::xml_schema::ErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::std::istream& is,
                       ::DOMErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::std::istream& is,
                       const ::std::string& id,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::std::istream& is,
                       const ::std::string& id,
                       ::xml_schema::ErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::std::istream& is,
                       const ::std::string& id,
                       ::DOMErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::InputSource& is,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::InputSource& is,
                       ::xml_schema::ErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::InputSource& is,
                       ::DOMErrorHandler& eh,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (const ::DOMDocument& d,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertiesType >
  SignatureProperties (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                       ::xml_schema::Flags f = 0,
                       const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (const ::std::string& uri,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (const ::std::string& uri,
                     ::xml_schema::ErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (const ::std::string& uri,
                     ::DOMErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::std::istream& is,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::std::istream& is,
                     ::xml_schema::ErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::std::istream& is,
                     ::DOMErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::std::istream& is,
                     const ::std::string& id,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::std::istream& is,
                     const ::std::string& id,
                     ::xml_schema::ErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::std::istream& is,
                     const ::std::string& id,
                     ::DOMErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::InputSource& is,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::InputSource& is,
                     ::xml_schema::ErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::InputSource& is,
                     ::DOMErrorHandler& eh,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (const ::DOMDocument& d,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::SignaturePropertyType >
  SignatureProperty (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
                     ::xml_schema::Flags f = 0,
                     const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (const ::std::string& uri,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (const ::std::string& uri,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (const ::std::string& uri,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::std::istream& is,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::std::istream& is,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::std::istream& is,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::std::istream& is,
               const ::std::string& id,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::std::istream& is,
               const ::std::string& id,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::std::istream& is,
               const ::std::string& id,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::InputSource& is,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::InputSource& is,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::InputSource& is,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (const ::DOMDocument& d,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::DSAKeyValueType >
  DSAKeyValue (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse a URI or a local file.
  //

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (const ::std::string& uri,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (const ::std::string& uri,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (const ::std::string& uri,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse std::istream.
  //

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::std::istream& is,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::std::istream& is,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::std::istream& is,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::std::istream& is,
               const ::std::string& id,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::std::istream& is,
               const ::std::string& id,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::std::istream& is,
               const ::std::string& id,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse InputSource.
  //

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::InputSource& is,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::InputSource& is,
               ::xml_schema::ErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::InputSource& is,
               ::DOMErrorHandler& eh,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  // Parse DOMDocument.
  //

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (const ::DOMDocument& d,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());

  ::std::auto_ptr< ::xmldsig::RSAKeyValueType >
  RSAKeyValue (::xml_schema::dom::auto_ptr< ::DOMDocument >& d,
               ::xml_schema::Flags f = 0,
               const ::xml_schema::Properties& p = ::xml_schema::Properties ());
}

#include <iosfwd>

#include <xercesc/dom/DOMDocument.hpp>
#include <xercesc/dom/DOMErrorHandler.hpp>
#include <xercesc/framework/XMLFormatter.hpp>

#include <xsd/cxx/xml/dom/auto-ptr.hxx>

namespace xmldsig
{
  void
  operator<< (::DOMElement&, const CryptoBinary&);

  void
  operator<< (::DOMAttr&, const CryptoBinary&);

  void
  operator<< (::xml_schema::ListStream&,
              const CryptoBinary&);

  // Serialize to std::ostream.
  //

  void
  Signature (::std::ostream& os,
             const ::xmldsig::SignatureType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Signature (::std::ostream& os,
             const ::xmldsig::SignatureType& x, 
             ::xml_schema::ErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Signature (::std::ostream& os,
             const ::xmldsig::SignatureType& x, 
             ::DOMErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  Signature (::XMLFormatTarget& ft,
             const ::xmldsig::SignatureType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Signature (::XMLFormatTarget& ft,
             const ::xmldsig::SignatureType& x, 
             ::xml_schema::ErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Signature (::XMLFormatTarget& ft,
             const ::xmldsig::SignatureType& x, 
             ::DOMErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  Signature (::DOMDocument& d,
             const ::xmldsig::SignatureType& x,
             ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  Signature (const ::xmldsig::SignatureType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SignatureType&);

  // Serialize to std::ostream.
  //

  void
  SignatureValue (::std::ostream& os,
                  const ::xmldsig::SignatureValueType& x, 
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  const ::std::string& e = "UTF-8",
                  ::xml_schema::Flags f = 0);

  void
  SignatureValue (::std::ostream& os,
                  const ::xmldsig::SignatureValueType& x, 
                  ::xml_schema::ErrorHandler& eh,
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  const ::std::string& e = "UTF-8",
                  ::xml_schema::Flags f = 0);

  void
  SignatureValue (::std::ostream& os,
                  const ::xmldsig::SignatureValueType& x, 
                  ::DOMErrorHandler& eh,
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  const ::std::string& e = "UTF-8",
                  ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  SignatureValue (::XMLFormatTarget& ft,
                  const ::xmldsig::SignatureValueType& x, 
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  const ::std::string& e = "UTF-8",
                  ::xml_schema::Flags f = 0);

  void
  SignatureValue (::XMLFormatTarget& ft,
                  const ::xmldsig::SignatureValueType& x, 
                  ::xml_schema::ErrorHandler& eh,
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  const ::std::string& e = "UTF-8",
                  ::xml_schema::Flags f = 0);

  void
  SignatureValue (::XMLFormatTarget& ft,
                  const ::xmldsig::SignatureValueType& x, 
                  ::DOMErrorHandler& eh,
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  const ::std::string& e = "UTF-8",
                  ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  SignatureValue (::DOMDocument& d,
                  const ::xmldsig::SignatureValueType& x,
                  ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  SignatureValue (const ::xmldsig::SignatureValueType& x, 
                  const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                  ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SignatureValueType&);

  // Serialize to std::ostream.
  //

  void
  SignedInfo (::std::ostream& os,
              const ::xmldsig::SignedInfoType& x, 
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  SignedInfo (::std::ostream& os,
              const ::xmldsig::SignedInfoType& x, 
              ::xml_schema::ErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  SignedInfo (::std::ostream& os,
              const ::xmldsig::SignedInfoType& x, 
              ::DOMErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  SignedInfo (::XMLFormatTarget& ft,
              const ::xmldsig::SignedInfoType& x, 
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  SignedInfo (::XMLFormatTarget& ft,
              const ::xmldsig::SignedInfoType& x, 
              ::xml_schema::ErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  SignedInfo (::XMLFormatTarget& ft,
              const ::xmldsig::SignedInfoType& x, 
              ::DOMErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  SignedInfo (::DOMDocument& d,
              const ::xmldsig::SignedInfoType& x,
              ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  SignedInfo (const ::xmldsig::SignedInfoType& x, 
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SignedInfoType&);

  // Serialize to std::ostream.
  //

  void
  CanonicalizationMethod (::std::ostream& os,
                          const ::xmldsig::CanonicalizationMethodType& x, 
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          const ::std::string& e = "UTF-8",
                          ::xml_schema::Flags f = 0);

  void
  CanonicalizationMethod (::std::ostream& os,
                          const ::xmldsig::CanonicalizationMethodType& x, 
                          ::xml_schema::ErrorHandler& eh,
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          const ::std::string& e = "UTF-8",
                          ::xml_schema::Flags f = 0);

  void
  CanonicalizationMethod (::std::ostream& os,
                          const ::xmldsig::CanonicalizationMethodType& x, 
                          ::DOMErrorHandler& eh,
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          const ::std::string& e = "UTF-8",
                          ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  CanonicalizationMethod (::XMLFormatTarget& ft,
                          const ::xmldsig::CanonicalizationMethodType& x, 
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          const ::std::string& e = "UTF-8",
                          ::xml_schema::Flags f = 0);

  void
  CanonicalizationMethod (::XMLFormatTarget& ft,
                          const ::xmldsig::CanonicalizationMethodType& x, 
                          ::xml_schema::ErrorHandler& eh,
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          const ::std::string& e = "UTF-8",
                          ::xml_schema::Flags f = 0);

  void
  CanonicalizationMethod (::XMLFormatTarget& ft,
                          const ::xmldsig::CanonicalizationMethodType& x, 
                          ::DOMErrorHandler& eh,
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          const ::std::string& e = "UTF-8",
                          ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  CanonicalizationMethod (::DOMDocument& d,
                          const ::xmldsig::CanonicalizationMethodType& x,
                          ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  CanonicalizationMethod (const ::xmldsig::CanonicalizationMethodType& x, 
                          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                          ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const CanonicalizationMethodType&);

  // Serialize to std::ostream.
  //

  void
  SignatureMethod (::std::ostream& os,
                   const ::xmldsig::SignatureMethodType& x, 
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  SignatureMethod (::std::ostream& os,
                   const ::xmldsig::SignatureMethodType& x, 
                   ::xml_schema::ErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  SignatureMethod (::std::ostream& os,
                   const ::xmldsig::SignatureMethodType& x, 
                   ::DOMErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  SignatureMethod (::XMLFormatTarget& ft,
                   const ::xmldsig::SignatureMethodType& x, 
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  SignatureMethod (::XMLFormatTarget& ft,
                   const ::xmldsig::SignatureMethodType& x, 
                   ::xml_schema::ErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  SignatureMethod (::XMLFormatTarget& ft,
                   const ::xmldsig::SignatureMethodType& x, 
                   ::DOMErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  SignatureMethod (::DOMDocument& d,
                   const ::xmldsig::SignatureMethodType& x,
                   ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  SignatureMethod (const ::xmldsig::SignatureMethodType& x, 
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SignatureMethodType&);

  // Serialize to std::ostream.
  //

  void
  Reference (::std::ostream& os,
             const ::xmldsig::ReferenceType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Reference (::std::ostream& os,
             const ::xmldsig::ReferenceType& x, 
             ::xml_schema::ErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Reference (::std::ostream& os,
             const ::xmldsig::ReferenceType& x, 
             ::DOMErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  Reference (::XMLFormatTarget& ft,
             const ::xmldsig::ReferenceType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Reference (::XMLFormatTarget& ft,
             const ::xmldsig::ReferenceType& x, 
             ::xml_schema::ErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Reference (::XMLFormatTarget& ft,
             const ::xmldsig::ReferenceType& x, 
             ::DOMErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  Reference (::DOMDocument& d,
             const ::xmldsig::ReferenceType& x,
             ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  Reference (const ::xmldsig::ReferenceType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const ReferenceType&);

  // Serialize to std::ostream.
  //

  void
  Transforms (::std::ostream& os,
              const ::xmldsig::TransformsType& x, 
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  Transforms (::std::ostream& os,
              const ::xmldsig::TransformsType& x, 
              ::xml_schema::ErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  Transforms (::std::ostream& os,
              const ::xmldsig::TransformsType& x, 
              ::DOMErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  Transforms (::XMLFormatTarget& ft,
              const ::xmldsig::TransformsType& x, 
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  Transforms (::XMLFormatTarget& ft,
              const ::xmldsig::TransformsType& x, 
              ::xml_schema::ErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  void
  Transforms (::XMLFormatTarget& ft,
              const ::xmldsig::TransformsType& x, 
              ::DOMErrorHandler& eh,
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              const ::std::string& e = "UTF-8",
              ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  Transforms (::DOMDocument& d,
              const ::xmldsig::TransformsType& x,
              ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  Transforms (const ::xmldsig::TransformsType& x, 
              const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
              ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const TransformsType&);

  // Serialize to std::ostream.
  //

  void
  Transform (::std::ostream& os,
             const ::xmldsig::TransformType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Transform (::std::ostream& os,
             const ::xmldsig::TransformType& x, 
             ::xml_schema::ErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Transform (::std::ostream& os,
             const ::xmldsig::TransformType& x, 
             ::DOMErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  Transform (::XMLFormatTarget& ft,
             const ::xmldsig::TransformType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Transform (::XMLFormatTarget& ft,
             const ::xmldsig::TransformType& x, 
             ::xml_schema::ErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  void
  Transform (::XMLFormatTarget& ft,
             const ::xmldsig::TransformType& x, 
             ::DOMErrorHandler& eh,
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             const ::std::string& e = "UTF-8",
             ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  Transform (::DOMDocument& d,
             const ::xmldsig::TransformType& x,
             ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  Transform (const ::xmldsig::TransformType& x, 
             const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
             ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const TransformType&);

  // Serialize to std::ostream.
  //

  void
  DigestMethod (::std::ostream& os,
                const ::xmldsig::DigestMethodType& x, 
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                const ::std::string& e = "UTF-8",
                ::xml_schema::Flags f = 0);

  void
  DigestMethod (::std::ostream& os,
                const ::xmldsig::DigestMethodType& x, 
                ::xml_schema::ErrorHandler& eh,
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                const ::std::string& e = "UTF-8",
                ::xml_schema::Flags f = 0);

  void
  DigestMethod (::std::ostream& os,
                const ::xmldsig::DigestMethodType& x, 
                ::DOMErrorHandler& eh,
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                const ::std::string& e = "UTF-8",
                ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  DigestMethod (::XMLFormatTarget& ft,
                const ::xmldsig::DigestMethodType& x, 
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                const ::std::string& e = "UTF-8",
                ::xml_schema::Flags f = 0);

  void
  DigestMethod (::XMLFormatTarget& ft,
                const ::xmldsig::DigestMethodType& x, 
                ::xml_schema::ErrorHandler& eh,
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                const ::std::string& e = "UTF-8",
                ::xml_schema::Flags f = 0);

  void
  DigestMethod (::XMLFormatTarget& ft,
                const ::xmldsig::DigestMethodType& x, 
                ::DOMErrorHandler& eh,
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                const ::std::string& e = "UTF-8",
                ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  DigestMethod (::DOMDocument& d,
                const ::xmldsig::DigestMethodType& x,
                ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  DigestMethod (const ::xmldsig::DigestMethodType& x, 
                const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const DigestMethodType&);

  // Serialize to std::ostream.
  //

  void
  DigestValue (::std::ostream& os,
               const ::xmldsig::DigestValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DigestValue (::std::ostream& os,
               const ::xmldsig::DigestValueType& x, 
               ::xml_schema::ErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DigestValue (::std::ostream& os,
               const ::xmldsig::DigestValueType& x, 
               ::DOMErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  DigestValue (::XMLFormatTarget& ft,
               const ::xmldsig::DigestValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DigestValue (::XMLFormatTarget& ft,
               const ::xmldsig::DigestValueType& x, 
               ::xml_schema::ErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DigestValue (::XMLFormatTarget& ft,
               const ::xmldsig::DigestValueType& x, 
               ::DOMErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  DigestValue (::DOMDocument& d,
               const ::xmldsig::DigestValueType& x,
               ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  DigestValue (const ::xmldsig::DigestValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const DigestValueType&);

  void
  operator<< (::DOMAttr&, const DigestValueType&);

  void
  operator<< (::xml_schema::ListStream&,
              const DigestValueType&);

  // Serialize to std::ostream.
  //

  void
  KeyInfo (::std::ostream& os,
           const ::xmldsig::KeyInfoType& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyInfo (::std::ostream& os,
           const ::xmldsig::KeyInfoType& x, 
           ::xml_schema::ErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyInfo (::std::ostream& os,
           const ::xmldsig::KeyInfoType& x, 
           ::DOMErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  KeyInfo (::XMLFormatTarget& ft,
           const ::xmldsig::KeyInfoType& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyInfo (::XMLFormatTarget& ft,
           const ::xmldsig::KeyInfoType& x, 
           ::xml_schema::ErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyInfo (::XMLFormatTarget& ft,
           const ::xmldsig::KeyInfoType& x, 
           ::DOMErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  KeyInfo (::DOMDocument& d,
           const ::xmldsig::KeyInfoType& x,
           ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  KeyInfo (const ::xmldsig::KeyInfoType& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const KeyInfoType&);

  // Serialize to std::ostream.
  //

  void
  KeyName (::std::ostream& os,
           const ::xml_schema::String& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyName (::std::ostream& os,
           const ::xml_schema::String& x, 
           ::xml_schema::ErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyName (::std::ostream& os,
           const ::xml_schema::String& x, 
           ::DOMErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  KeyName (::XMLFormatTarget& ft,
           const ::xml_schema::String& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyName (::XMLFormatTarget& ft,
           const ::xml_schema::String& x, 
           ::xml_schema::ErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  KeyName (::XMLFormatTarget& ft,
           const ::xml_schema::String& x, 
           ::DOMErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  KeyName (::DOMDocument& d,
           const ::xml_schema::String& x,
           ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  KeyName (const ::xml_schema::String& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           ::xml_schema::Flags f = 0);

  // Serialize to std::ostream.
  //

  void
  MgmtData (::std::ostream& os,
            const ::xml_schema::String& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  MgmtData (::std::ostream& os,
            const ::xml_schema::String& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  MgmtData (::std::ostream& os,
            const ::xml_schema::String& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  MgmtData (::XMLFormatTarget& ft,
            const ::xml_schema::String& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  MgmtData (::XMLFormatTarget& ft,
            const ::xml_schema::String& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  MgmtData (::XMLFormatTarget& ft,
            const ::xml_schema::String& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  MgmtData (::DOMDocument& d,
            const ::xml_schema::String& x,
            ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  MgmtData (const ::xml_schema::String& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            ::xml_schema::Flags f = 0);

  // Serialize to std::ostream.
  //

  void
  KeyValue (::std::ostream& os,
            const ::xmldsig::KeyValueType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  KeyValue (::std::ostream& os,
            const ::xmldsig::KeyValueType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  KeyValue (::std::ostream& os,
            const ::xmldsig::KeyValueType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  KeyValue (::XMLFormatTarget& ft,
            const ::xmldsig::KeyValueType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  KeyValue (::XMLFormatTarget& ft,
            const ::xmldsig::KeyValueType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  KeyValue (::XMLFormatTarget& ft,
            const ::xmldsig::KeyValueType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  KeyValue (::DOMDocument& d,
            const ::xmldsig::KeyValueType& x,
            ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  KeyValue (const ::xmldsig::KeyValueType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const KeyValueType&);

  // Serialize to std::ostream.
  //

  void
  RetrievalMethod (::std::ostream& os,
                   const ::xmldsig::RetrievalMethodType& x, 
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  RetrievalMethod (::std::ostream& os,
                   const ::xmldsig::RetrievalMethodType& x, 
                   ::xml_schema::ErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  RetrievalMethod (::std::ostream& os,
                   const ::xmldsig::RetrievalMethodType& x, 
                   ::DOMErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  RetrievalMethod (::XMLFormatTarget& ft,
                   const ::xmldsig::RetrievalMethodType& x, 
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  RetrievalMethod (::XMLFormatTarget& ft,
                   const ::xmldsig::RetrievalMethodType& x, 
                   ::xml_schema::ErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  void
  RetrievalMethod (::XMLFormatTarget& ft,
                   const ::xmldsig::RetrievalMethodType& x, 
                   ::DOMErrorHandler& eh,
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   const ::std::string& e = "UTF-8",
                   ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  RetrievalMethod (::DOMDocument& d,
                   const ::xmldsig::RetrievalMethodType& x,
                   ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  RetrievalMethod (const ::xmldsig::RetrievalMethodType& x, 
                   const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                   ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const RetrievalMethodType&);

  // Serialize to std::ostream.
  //

  void
  X509Data (::std::ostream& os,
            const ::xmldsig::X509DataType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  X509Data (::std::ostream& os,
            const ::xmldsig::X509DataType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  X509Data (::std::ostream& os,
            const ::xmldsig::X509DataType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  X509Data (::XMLFormatTarget& ft,
            const ::xmldsig::X509DataType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  X509Data (::XMLFormatTarget& ft,
            const ::xmldsig::X509DataType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  X509Data (::XMLFormatTarget& ft,
            const ::xmldsig::X509DataType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  X509Data (::DOMDocument& d,
            const ::xmldsig::X509DataType& x,
            ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  X509Data (const ::xmldsig::X509DataType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const X509DataType&);

  void
  operator<< (::DOMElement&, const X509IssuerSerialType&);

  // Serialize to std::ostream.
  //

  void
  PGPData (::std::ostream& os,
           const ::xmldsig::PGPDataType& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  PGPData (::std::ostream& os,
           const ::xmldsig::PGPDataType& x, 
           ::xml_schema::ErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  PGPData (::std::ostream& os,
           const ::xmldsig::PGPDataType& x, 
           ::DOMErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  PGPData (::XMLFormatTarget& ft,
           const ::xmldsig::PGPDataType& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  PGPData (::XMLFormatTarget& ft,
           const ::xmldsig::PGPDataType& x, 
           ::xml_schema::ErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  void
  PGPData (::XMLFormatTarget& ft,
           const ::xmldsig::PGPDataType& x, 
           ::DOMErrorHandler& eh,
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           const ::std::string& e = "UTF-8",
           ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  PGPData (::DOMDocument& d,
           const ::xmldsig::PGPDataType& x,
           ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  PGPData (const ::xmldsig::PGPDataType& x, 
           const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
           ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const PGPDataType&);

  // Serialize to std::ostream.
  //

  void
  SPKIData (::std::ostream& os,
            const ::xmldsig::SPKIDataType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  SPKIData (::std::ostream& os,
            const ::xmldsig::SPKIDataType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  SPKIData (::std::ostream& os,
            const ::xmldsig::SPKIDataType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  SPKIData (::XMLFormatTarget& ft,
            const ::xmldsig::SPKIDataType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  SPKIData (::XMLFormatTarget& ft,
            const ::xmldsig::SPKIDataType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  SPKIData (::XMLFormatTarget& ft,
            const ::xmldsig::SPKIDataType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  SPKIData (::DOMDocument& d,
            const ::xmldsig::SPKIDataType& x,
            ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  SPKIData (const ::xmldsig::SPKIDataType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SPKIDataType&);

  // Serialize to std::ostream.
  //

  void
  Object (::std::ostream& os,
          const ::xmldsig::ObjectType& x, 
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          const ::std::string& e = "UTF-8",
          ::xml_schema::Flags f = 0);

  void
  Object (::std::ostream& os,
          const ::xmldsig::ObjectType& x, 
          ::xml_schema::ErrorHandler& eh,
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          const ::std::string& e = "UTF-8",
          ::xml_schema::Flags f = 0);

  void
  Object (::std::ostream& os,
          const ::xmldsig::ObjectType& x, 
          ::DOMErrorHandler& eh,
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          const ::std::string& e = "UTF-8",
          ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  Object (::XMLFormatTarget& ft,
          const ::xmldsig::ObjectType& x, 
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          const ::std::string& e = "UTF-8",
          ::xml_schema::Flags f = 0);

  void
  Object (::XMLFormatTarget& ft,
          const ::xmldsig::ObjectType& x, 
          ::xml_schema::ErrorHandler& eh,
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          const ::std::string& e = "UTF-8",
          ::xml_schema::Flags f = 0);

  void
  Object (::XMLFormatTarget& ft,
          const ::xmldsig::ObjectType& x, 
          ::DOMErrorHandler& eh,
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          const ::std::string& e = "UTF-8",
          ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  Object (::DOMDocument& d,
          const ::xmldsig::ObjectType& x,
          ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  Object (const ::xmldsig::ObjectType& x, 
          const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
          ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const ObjectType&);

  // Serialize to std::ostream.
  //

  void
  Manifest (::std::ostream& os,
            const ::xmldsig::ManifestType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  Manifest (::std::ostream& os,
            const ::xmldsig::ManifestType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  Manifest (::std::ostream& os,
            const ::xmldsig::ManifestType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  Manifest (::XMLFormatTarget& ft,
            const ::xmldsig::ManifestType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  Manifest (::XMLFormatTarget& ft,
            const ::xmldsig::ManifestType& x, 
            ::xml_schema::ErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  void
  Manifest (::XMLFormatTarget& ft,
            const ::xmldsig::ManifestType& x, 
            ::DOMErrorHandler& eh,
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            const ::std::string& e = "UTF-8",
            ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  Manifest (::DOMDocument& d,
            const ::xmldsig::ManifestType& x,
            ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  Manifest (const ::xmldsig::ManifestType& x, 
            const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
            ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const ManifestType&);

  // Serialize to std::ostream.
  //

  void
  SignatureProperties (::std::ostream& os,
                       const ::xmldsig::SignaturePropertiesType& x, 
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       const ::std::string& e = "UTF-8",
                       ::xml_schema::Flags f = 0);

  void
  SignatureProperties (::std::ostream& os,
                       const ::xmldsig::SignaturePropertiesType& x, 
                       ::xml_schema::ErrorHandler& eh,
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       const ::std::string& e = "UTF-8",
                       ::xml_schema::Flags f = 0);

  void
  SignatureProperties (::std::ostream& os,
                       const ::xmldsig::SignaturePropertiesType& x, 
                       ::DOMErrorHandler& eh,
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       const ::std::string& e = "UTF-8",
                       ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  SignatureProperties (::XMLFormatTarget& ft,
                       const ::xmldsig::SignaturePropertiesType& x, 
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       const ::std::string& e = "UTF-8",
                       ::xml_schema::Flags f = 0);

  void
  SignatureProperties (::XMLFormatTarget& ft,
                       const ::xmldsig::SignaturePropertiesType& x, 
                       ::xml_schema::ErrorHandler& eh,
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       const ::std::string& e = "UTF-8",
                       ::xml_schema::Flags f = 0);

  void
  SignatureProperties (::XMLFormatTarget& ft,
                       const ::xmldsig::SignaturePropertiesType& x, 
                       ::DOMErrorHandler& eh,
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       const ::std::string& e = "UTF-8",
                       ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  SignatureProperties (::DOMDocument& d,
                       const ::xmldsig::SignaturePropertiesType& x,
                       ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  SignatureProperties (const ::xmldsig::SignaturePropertiesType& x, 
                       const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                       ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SignaturePropertiesType&);

  // Serialize to std::ostream.
  //

  void
  SignatureProperty (::std::ostream& os,
                     const ::xmldsig::SignaturePropertyType& x, 
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     const ::std::string& e = "UTF-8",
                     ::xml_schema::Flags f = 0);

  void
  SignatureProperty (::std::ostream& os,
                     const ::xmldsig::SignaturePropertyType& x, 
                     ::xml_schema::ErrorHandler& eh,
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     const ::std::string& e = "UTF-8",
                     ::xml_schema::Flags f = 0);

  void
  SignatureProperty (::std::ostream& os,
                     const ::xmldsig::SignaturePropertyType& x, 
                     ::DOMErrorHandler& eh,
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     const ::std::string& e = "UTF-8",
                     ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  SignatureProperty (::XMLFormatTarget& ft,
                     const ::xmldsig::SignaturePropertyType& x, 
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     const ::std::string& e = "UTF-8",
                     ::xml_schema::Flags f = 0);

  void
  SignatureProperty (::XMLFormatTarget& ft,
                     const ::xmldsig::SignaturePropertyType& x, 
                     ::xml_schema::ErrorHandler& eh,
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     const ::std::string& e = "UTF-8",
                     ::xml_schema::Flags f = 0);

  void
  SignatureProperty (::XMLFormatTarget& ft,
                     const ::xmldsig::SignaturePropertyType& x, 
                     ::DOMErrorHandler& eh,
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     const ::std::string& e = "UTF-8",
                     ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  SignatureProperty (::DOMDocument& d,
                     const ::xmldsig::SignaturePropertyType& x,
                     ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  SignatureProperty (const ::xmldsig::SignaturePropertyType& x, 
                     const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
                     ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const SignaturePropertyType&);

  void
  operator<< (::DOMElement&, const HMACOutputLengthType&);

  void
  operator<< (::DOMAttr&, const HMACOutputLengthType&);

  void
  operator<< (::xml_schema::ListStream&,
              const HMACOutputLengthType&);

  // Serialize to std::ostream.
  //

  void
  DSAKeyValue (::std::ostream& os,
               const ::xmldsig::DSAKeyValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DSAKeyValue (::std::ostream& os,
               const ::xmldsig::DSAKeyValueType& x, 
               ::xml_schema::ErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DSAKeyValue (::std::ostream& os,
               const ::xmldsig::DSAKeyValueType& x, 
               ::DOMErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  DSAKeyValue (::XMLFormatTarget& ft,
               const ::xmldsig::DSAKeyValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DSAKeyValue (::XMLFormatTarget& ft,
               const ::xmldsig::DSAKeyValueType& x, 
               ::xml_schema::ErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  DSAKeyValue (::XMLFormatTarget& ft,
               const ::xmldsig::DSAKeyValueType& x, 
               ::DOMErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  DSAKeyValue (::DOMDocument& d,
               const ::xmldsig::DSAKeyValueType& x,
               ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  DSAKeyValue (const ::xmldsig::DSAKeyValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const DSAKeyValueType&);

  // Serialize to std::ostream.
  //

  void
  RSAKeyValue (::std::ostream& os,
               const ::xmldsig::RSAKeyValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  RSAKeyValue (::std::ostream& os,
               const ::xmldsig::RSAKeyValueType& x, 
               ::xml_schema::ErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  RSAKeyValue (::std::ostream& os,
               const ::xmldsig::RSAKeyValueType& x, 
               ::DOMErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  // Serialize to XMLFormatTarget.
  //

  void
  RSAKeyValue (::XMLFormatTarget& ft,
               const ::xmldsig::RSAKeyValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  RSAKeyValue (::XMLFormatTarget& ft,
               const ::xmldsig::RSAKeyValueType& x, 
               ::xml_schema::ErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  void
  RSAKeyValue (::XMLFormatTarget& ft,
               const ::xmldsig::RSAKeyValueType& x, 
               ::DOMErrorHandler& eh,
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               const ::std::string& e = "UTF-8",
               ::xml_schema::Flags f = 0);

  // Serialize to an existing DOMDocument.
  //

  void
  RSAKeyValue (::DOMDocument& d,
               const ::xmldsig::RSAKeyValueType& x,
               ::xml_schema::Flags f = 0);

  // Serialize to a new DOMDocument.
  //

  ::xml_schema::dom::auto_ptr< ::DOMDocument >
  RSAKeyValue (const ::xmldsig::RSAKeyValueType& x, 
               const ::xml_schema::NamespaceInfomap& m = ::xml_schema::NamespaceInfomap (),
               ::xml_schema::Flags f = 0);

  void
  operator<< (::DOMElement&, const RSAKeyValueType&);
}

#include <xsd/cxx/post.hxx>

// Begin epilogue.
//
//
// End epilogue.

#endif // XMLDSIG_CORE_SCHEMA_H
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: application/octet-stream
Size: 35409 bytes
Desc: Makefile
Url : http://codesynthesis.com/pipermail/xsd-users/attachments/20110429/178252c3/Makefile-0001.obj


More information about the xsd-users mailing list