xmltooling 1.6.2

xmltooling Namespace Reference

Public namespace of XML Tooling library. More...

Classes

class  AbstractAttributeExtensibleXMLObject
 AbstractXMLObject mixin that implements AttributeExtensibleXMLObject. More...
class  AbstractComplexElement
 AbstractXMLObject mixin that implements children. More...
class  AbstractDOMCachingXMLObject
 AbstractXMLObject mixin that implements DOM caching. More...
class  AbstractSimpleElement
 AbstractXMLObject mixin that implements a simple string-based content model. More...
class  AbstractXMLObject
 An abstract implementation of XMLObject. More...
class  AttributeExtensibleXMLObject
 An XMLObject that supports arbitrary attributes. More...
struct  cleanup
 Functor for cleaning up heap objects in containers. More...
struct  cleanup_pair
 Functor for cleaning up heap objects in key/value containers. More...
struct  cleanup_const_pair
 Functor for cleaning up const heap objects in key/value containers. More...
class  ConcreteXMLObjectBuilder
 A factory interface for obtaining XMLObjects. More...
class  ElementExtensibleXMLObject
 An XMLObject that exposes arbitrary children via a mutable vector. More...
class  ElementProxy
 An XMLObject with an open content model. More...
class  params
 Wrapper around a variable number of arguments. More...
class  namedparams
 Wrapper around a variable number of name/value pairs. More...
class  UnknownElementBuilder
 Builder for UnknownElementImpl objects. More...
class  AbstractXMLObjectMarshaller
 A mix-in to implement object marshalling with DOM reuse. More...
class  AbstractXMLObjectUnmarshaller
 A mix-in to implement object unmarshalling. More...
class  GenericRequest
 Interface to generic protocol requests that transport XML messages. More...
class  GenericResponse
 Interface to generic protocol responses that transport XML messages. More...
class  HTTPRequest
 Interface to HTTP requests. More...
class  HTTPResponse
 Interface to HTTP response. More...
class  Lockable
 Abstract mixin interface for interfaces that support locking. More...
class  Locker
 RAII wrapper for lockable objects to ensure lock release. More...
class  Namespace
 A data structure for encapsulating XML Namespace attributes. More...
class  PluginManager
 Template for management/access to plugins constructed based on a Key type and arbitrary parameters. More...
class  QName
 A data structure for encapsulating XML QNames. More...
class  AbstractPKIXTrustEngine
 A trust engine that uses X.509 trust anchors and CRLs associated with a peer to perform PKIX validation of signatures and credentials. More...
class  BasicX509Credential
 Wraps an X.509-based Credential by storing key/cert objects inside. More...
class  ChainingTrustEngine
 OpenSSLTrustEngine that uses multiple engines in sequence. More...
class  Credential
 Wraps keys and related functionality. More...
class  CredentialContext
 Marker interface for implementations which hold information specific to a particular context within which a CredentialResolver resolves a Credential. More...
class  CredentialCriteria
 Class for specifying criteria by which a CredentialResolver should resolve credentials. More...
class  CredentialResolver
 An API for resolving keys and certificates based on application criteria. More...
class  KeyInfoCredentialContext
 Context for credentials resolved out of a KeyInfo. More...
class  KeyInfoResolver
 Resolves credentials from KeyInfo information. More...
class  OpenSSLCredential
 An OpenSSL-specific credential. More...
class  OpenSSLCryptoX509CRL
 OpenSSL-based class for handling X.509 CRLs. More...
class  OpenSSLPathValidator
 Extended PathValidator interface that adds validation using OpenSSL data types directly for efficiency. More...
class  OpenSSLTrustEngine
 Extended TrustEngine interface that adds validation of X.509 credentials using OpenSSL data types directly for efficiency. More...
class  PathValidator
 Plugin interface to certificate path validation, independent of context. More...
class  PKIXPathValidatorParams
 PKIX-specific parameters to a PathValidator. More...
class  SecurityHelper
 A helper class for working with keys, certificates, etc. More...
class  SignatureTrustEngine
 TrustEngine interface that adds validation of digital signatures. More...
class  TrustEngine
 Evaluates the trustworthiness and validity of security information against implementation-specific requirements. More...
class  X509Credential
 Wraps an X.509-based Credential. More...
class  X509TrustEngine
 TrustEngine interface that adds validation of X.509 credentials. More...
class  XSECCryptoX509CRL
 Interface class for X.509 CRLs The library uses classes derived from this to process X.509 CRLs. More...
class  HTTPSOAPTransport
 Encapsulates HTTP SOAP transport layer. More...
class  OpenSSLSOAPTransport
 Encapsulates OpenSSL-capable SOAP transport layer. More...
class  SOAPTransport
 Encapsulates a transport layer protocol for sending/receiving messages. More...
class  auto_ptr_char
 A minimal auto_ptr-like class that can copy or transcode a buffer into the local code page and free the result automatically. More...
class  auto_ptr_XMLCh
 A minimal auto_ptr-like class that can copy or transcode a buffer into 16-bit Unicode and free the result automatically. More...
class  auto_arrayptr
 An auto_ptr that uses array delete on its contents. More...
class  CloneInputStream
class  CurlURLInputStream
 Adapted from Xerces-C as a more advanced input stream implementation for subsequent use in parsing remote documents. More...
class  DateTime
 Class for manipulating XML date/time information. More...
class  NDC
 A portable stack-based context for diagnostic logging. More...
class  ParserPool
 A thread-safe pool of DOMBuilders that share characteristics. More...
class  StreamInputSource
 A parser source that wraps a C++ input stream. More...
class  URLInputSource
 A URL-based parser source that supports a more advanced input stream. More...
class  PathResolver
 Resolves local filenames into absolute pathnames. More...
class  hasQName
 Predicate that checks the QName of an XMLObject. More...
class  hasSchemaType
 Predicate that checks the xsi:type of an XMLObject. More...
class  ReloadableXMLFile
 Base class for file-based XML configuration. More...
class  ReplayCache
 Helper class on top of StorageService for detecting message replay. More...
class  StorageService
 Generic data storage facility for use by services that require some degree of persistence. More...
class  TemplateEngine
 Simple template replacement engine. More...
class  Thread
 A class for manual thread creation and synchronization. More...
class  ThreadKey
 A class for managing Thread Local Storage values. More...
class  Mutex
 A class for managing exclusive access to resources. More...
class  RWLock
 A class for managing shared and exclusive access to resources. More...
class  CondWait
 A class for establishing queues on a mutex based on a periodic condition. More...
class  Lock
 RAII wrapper for a mutex lock. More...
class  SharedLock
 RAII wrapper for a shared lock. More...
class  URLEncoder
 Interface to a URL-encoding mechanism along with a default implementation. More...
class  XercesJanitor
 RAII wrapper for Xerces resources. More...
class  XMLHelper
 A helper class for working with W3C DOM objects. More...
class  XMLObjectChildrenIterator
 STL iterator that mediates access to an iterator over typed XML children. More...
class  XMLObjectChildrenIterator< Container, _Ty * >
 STL iterator that mediates access to an iterator that's a pointer. More...
class  XMLObjectChildrenIterator< Container, const _Ty * >
 STL iterator that mediates access to an iterator that's a const pointer. More...
class  XMLObjectChildrenList
 STL-compatible container that mediates access to underlying lists of typed XML children. More...
class  XMLObjectPairList
 STL-compatible container that mediates access to underlying lists of typed XML children that come in pairs. More...
class  Validator
 An interface for classes that implement rules for checking the validity of XMLObjects. More...
class  ValidatorSuite
 A collection of validators that can be applied to an XMLObject and its children. More...
class  XMLObject
 Object that represents an XML Element that has been unmarshalled into this C++ object. More...
class  XMLObjectBuilder
 A factory interface for obtaining an XMLObject. More...
class  XMLToolingConfig
 Singleton object that manages library startup/shutdown.configuration. More...

Functions

template<class InputSequence , class OutputSequence >
void clone (const InputSequence &in, OutputSequence &out)
 Template function for cloning a sequence of XMLObjects.
class XMLTOOL_EXCEPTIONAPI (XMLTOOL_API) XMLToolingException
 Base exception class, supports parametrized messages and XML serialization.
 XMLTOOLING_DOXYGEN (Exceptions related to XML parsing) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) XMLParserException
 XMLTOOLING_DOXYGEN (Exceptions in basic object usage) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) XMLObjectException
 XMLTOOLING_DOXYGEN (Exceptions during object marshalling) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) MarshallingException
 XMLTOOLING_DOXYGEN (Exceptions due to processing of unknown element content) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) UnknownElementException
 XMLTOOLING_DOXYGEN (Exceptions due to processing of unknown attributes) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) UnknownAttributeException
 XMLTOOLING_DOXYGEN (Exceptions from use of an unrecognized extension/plugin) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) UnknownExtensionException
 XMLTOOLING_DOXYGEN (Exceptions related to physical input/output errors) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) IOException
 XMLTOOLING_DOXYGEN (Exceptions related to the XML security layer) class XMLTOOL_EXCEPTIONAPI(XMLTOOL_API) XMLSecurityException
XMLTOOL_API bool operator< (const Namespace &op1, const Namespace &op2)
 Returns true iff op1's namespace lexically compares less than op2's namespace, or if equal, iff op1's prefix lexically compares less than op2's prefix.
XMLTOOL_API bool operator== (const Namespace &op1, const Namespace &op2)
 Returns true iff op1's namespace and prefix are equal to op2's namespace and prefix.
XMLTOOL_API bool operator< (const QName &op1, const QName &op2)
 Returns true iff op1's namespace lexically compares less than op2's namespace, or if equal, iff op1's prefix lexically compares less than op2's prefix.
XMLTOOL_API bool operator== (const QName &op1, const QName &op2)
 Returns true iff op1's components are equal to op2's components, excluding prefix.
XMLTOOL_API bool operator!= (const QName &op1, const QName &op2)
 Returns true iff op1's components are not equal to op2's components, excluding prefix.
void XMLTOOL_API registerCredentialResolvers ()
 Registers CredentialResolver classes into the runtime.
void XMLTOOL_API registerKeyInfoResolvers ()
 Registers KeyInfoResolver classes into the runtime.
void XMLTOOL_API registerPathValidators ()
 Registers PathValidator classes into the runtime.
void XMLTOOL_API registerTrustEngines ()
 Registers TrustEngine classes into the runtime.
void XMLTOOL_API registerSOAPTransports ()
 Registers SOAPTransport classes into the runtime.
void XMLTOOL_API initSOAPTransports ()
 Notifies transport infrastructure to initialize.
void XMLTOOL_API termSOAPTransports ()
 Notifies transport infrastructure to shutdown.
XMLTOOL_API char * toUTF8 (const XMLCh *src, bool use_malloc=false)
 Transcodes a 16-bit Unicode string into UTF-8.
XMLTOOL_API XMLCh * fromUTF8 (const char *src, bool use_malloc=false)
 Transcodes a UTF-8 string into 16-bit Unicode.
XMLTOOL_API std::ostream & operator<< (std::ostream &ostr, const XMLCh *s)
 Writes a Unicode string to an ASCII stream by transcoding to UTF8.
XMLTOOL_API std::ostream & operator<< (std::ostream &ostr, const xstring &s)
 Writes a Unicode string to an ASCII stream by transcoding to UTF8.
template<typename Container , typename Predicate >
Container::value_type find_if (const Container &c, const Predicate &p)
 Template algorithm returns first pointer element from a container that matches a predicate.
template<typename Container , typename Predicate >
Container::value_type find_if (Container &c, const Predicate &p)
 Template algorithm returns first pointer element from a container that matches a predicate.
void XMLTOOL_API registerStorageServices ()
 Registers StorageService classes into the runtime.
 DECL_XMLTOOLING_EXCEPTION (ThreadingException, XMLTOOL_EXCEPTIONAPI(XMLTOOL_API), xmltooling, XMLToolingException, Exceptions during threading/locking operations)
XMLTOOL_API std::ostream & operator<< (std::ostream &ostr, const xercesc::DOMNode &n)
 Serializes the DOM node provided to a stream using UTF-8 encoding and the default XML serializer available.
XMLTOOL_API std::ostream & operator<< (std::ostream &ostr, const XMLObject &obj)
 Marshalls and serializes the XMLObject provided to a stream using UTF-8 encoding and the default XML serializer available.

Variables

usr src packages BUILD
xmltooling xmltooling unicode
h typedef std::basic_string
< XMLCh, char_traits< XMLCh > > 
xstring
 An STL string type that supports 16-bit Unicode.
class XMLTOOL_API CredentialCriteria
class XMLTOOL_API CredentialResolver
class XMLTOOL_API Credential
usr src packages BUILD
xmltooling xmltooling security
AbstractPKIXTrustEngine h usr
src packages BUILD xmltooling
xmltooling security
AbstractPKIXTrustEngine h
class XMLTOOL_API 
OpenSSLPathValidator
class XMLTOOL_API XSECCryptoX509CRL
class XMLTOOL_API CredentialContext
class XMLTOOL_API KeyInfoCredentialContext
class XMLTOOL_API SOAPTransport
class XMLTOOL_API KeyInfoResolver
class XMLTOOL_API X509TrustEngine
class XMLTOOL_API Mutex
class XMLTOOL_API CondWait
class XMLTOOL_API RWLock
class XMLTOOL_API Thread
class XMLTOOL_API SignatureTrustEngine
usr src packages BUILD
xmltooling xmltooling util
ReplayCache h class
XMLTOOL_API 
StorageService
class XMLTOOL_API GenericRequest
class XMLTOOL_API QName
class XMLTOOL_API XMLObject
class XMLTOOL_API Validator
XMLTOOL_API
xmltooling::ValidatorSuite 
SchemaValidators
 Validator suite for schema-style structural validation.
class XMLTOOL_API ParserPool
class XMLTOOL_API PathResolver
class XMLTOOL_API TemplateEngine
class XMLTOOL_API URLEncoder
class XMLTOOL_API ReplayCache
class XMLTOOL_API PathValidator
class XMLTOOL_API TrustEngine

Detailed Description

Public namespace of XML Tooling library.


Function Documentation

template<class InputSequence , class OutputSequence >
void xmltooling::clone ( const InputSequence &  in,
OutputSequence &  out 
)

Template function for cloning a sequence of XMLObjects.

Invokes the clone() member on each element of the input sequence and adds the copy to the output sequence. Order is preserved.

Parameters:
ininput sequence to clone
outoutput sequence to copy cloned pointers into
template<typename Container , typename Predicate >
Container::value_type xmltooling::find_if ( const Container &  c,
const Predicate &  p 
)

Template algorithm returns first pointer element from a container that matches a predicate.

Parameters:
cread-only container of pointer-based objects
pa predicate function
Returns:
the first object in the container matching the predicate, or nullptr
template<typename Container , typename Predicate >
Container::value_type xmltooling::find_if ( Container &  c,
const Predicate &  p 
)

Template algorithm returns first pointer element from a container that matches a predicate.

Parameters:
cread-only container of pointer-based objects
pa predicate function
Returns:
the first object in the container matching the predicate, or nullptr
XMLTOOL_API XMLCh* xmltooling::fromUTF8 ( const char *  src,
bool  use_malloc = false 
)

Transcodes a UTF-8 string into 16-bit Unicode.

Parameters:
srcthe UTF-8 string to transcode
use_malloctrue iff the result should be allocated with malloc, false to use new
Returns:
a 16-bit Unicode string allocated by new or malloc
XMLTOOL_API bool xmltooling::operator!= ( const QName &  op1,
const QName &  op2 
)

Returns true iff op1's components are not equal to op2's components, excluding prefix.

Parameters:
op1First qname to compare
op2Second qname to compare
XMLTOOL_API bool xmltooling::operator< ( const Namespace &  op1,
const Namespace &  op2 
)

Returns true iff op1's namespace lexically compares less than op2's namespace, or if equal, iff op1's prefix lexically compares less than op2's prefix.

Needed for use with sorted STL containers.

Parameters:
op1First namspace to compare
op2Second namespace to compare
XMLTOOL_API bool xmltooling::operator< ( const QName &  op1,
const QName &  op2 
)

Returns true iff op1's namespace lexically compares less than op2's namespace, or if equal, iff op1's prefix lexically compares less than op2's prefix.

Needed for use with sorted STL containers.

Parameters:
op1First qname to compare
op2Second qname to compare
XMLTOOL_API std::ostream& xmltooling::operator<< ( std::ostream &  ostr,
const XMLObject &  obj 
)

Marshalls and serializes the XMLObject provided to a stream using UTF-8 encoding and the default XML serializer available.

No manipulation or formatting is applied.

The marshaller operation takes no parameters.

Parameters:
objobject to serialize
ostrstream to serialize object into
Returns:
reference to output stream
XMLTOOL_API std::ostream& xmltooling::operator<< ( std::ostream &  ostr,
const XMLCh *  s 
)

Writes a Unicode string to an ASCII stream by transcoding to UTF8.

Parameters:
ostrstream to write to
sstring to write
Returns:
reference to output stream
XMLTOOL_API std::ostream& xmltooling::operator<< ( std::ostream &  ostr,
const xstring &  s 
)

Writes a Unicode string to an ASCII stream by transcoding to UTF8.

Parameters:
ostrstream to write to
sstring to write
Returns:
reference to output stream
XMLTOOL_API std::ostream& xmltooling::operator<< ( std::ostream &  ostr,
const xercesc::DOMNode &  n 
)

Serializes the DOM node provided to a stream using UTF-8 encoding and the default XML serializer available.

No manipulation or formatting is applied.

Parameters:
nnode to serialize
ostrstream to serialize element into
Returns:
reference to output stream
XMLTOOL_API bool xmltooling::operator== ( const Namespace &  op1,
const Namespace &  op2 
)

Returns true iff op1's namespace and prefix are equal to op2's namespace and prefix.

Parameters:
op1First namspace to compare
op2Second namespace to compare
XMLTOOL_API bool xmltooling::operator== ( const QName &  op1,
const QName &  op2 
)

Returns true iff op1's components are equal to op2's components, excluding prefix.

Parameters:
op1First qname to compare
op2Second qname to compare
XMLTOOL_API char* xmltooling::toUTF8 ( const XMLCh *  src,
bool  use_malloc = false 
)

Transcodes a 16-bit Unicode string into UTF-8.

Parameters:
srcthe 16-bit string to transcode
use_malloctrue iff the result should be allocated with malloc, false to use new
Returns:
a UTF-8 string allocated by new or malloc
class xmltooling::XMLTOOL_EXCEPTIONAPI ( XMLTOOL_API  )

Base exception class, supports parametrized messages and XML serialization.

Parameters are prefixed with a dollar sign ($) and can be positional ($1) or named ($info).

Constructs an exception using a message and positional parameters.

Parameters:
msgerror message
pan ordered set of positional parameter strings

Constructs an exception using a message and named parameters.

Parameters:
msgerror message
pa set of named parameter strings

Constructs an exception using a message and positional parameters.

Parameters:
msgerror message
pan ordered set of positional parameter strings

Constructs an exception using a message and named parameters.

Parameters:
msgerror message
pa set of named parameter strings

Returns the error message, after processing any parameter references.

Returns:
the processed message

Returns the error message, after processing any parameter references.

Returns:
the processed message

Sets the error message.

Parameters:
msgthe error message

Sets the error message.

Parameters:
msgthe error message

Attach a set of positional parameters to the exception.

Parameters:
pan ordered set of named parameter strings

Attach a set of named parameters to the exception.

Parameters:
pa set of named parameter strings

Attach a single positional parameter at the next available position.

Parameters:
valuethe parameter value

Attach a single named parameter.

Parameters:
namethe parameter name
valuethe parameter value

Returns the parameter property with the designated position (based from one).

Parameters:
indexposition to access
Returns:
the parameter property or nullptr

Returns the parameter property with the designated name.

Parameters:
namenamed parameter to access
Returns:
the parameter property or nullptr

Raises an exception using itself. Used to raise an exception of a derived type.

Returns a unique name for the exception class.

Returns:
class name

Returns a string containing a serialized representation of the exception.

Returns:
the serialization

Returns a set of query string name/value pairs, URL-encoded, representing the exception's type, message, and parameters.

Returns:
the query string representation

Builds an empty exception of the given type.

Parameters:
exceptionClassthe name of the exception type to build
Returns:
an empty exception object

Builds an exception from a serialized input stream.

Parameters:
ininput stream
Returns:
the exception object found in the stream

Builds an exception from a serialized input buffer.

Parameters:
sinput buffer
Returns:
the exception object found in the buffer

A factory function that returns an empty exception object of a given type.

Registers a factory to create exceptions of a given class name.

Parameters:
exceptionClassname of exception type
factoryfactory function to build exceptions with

Unregisters the factory for a given class name.

Parameters:
exceptionClassname of exception type

Unregisters all factories.


Variable Documentation

Validator suite for schema-style structural validation.

This is NOT a comprehensive replacement for real schema validation, but it does basic structural checking of overall element relationships and some basic attribute presence checking.