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 | 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 | AbstractSimpleElement
| AbstractXMLObject mixin that implements a simple string-based content model. More...
class | AbstractXMLObject
| An abstract implementation of XMLObject. 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 | AttributeExtensibleXMLObject
| An XMLObject that supports arbitrary attributes. More...
class | auto_arrayptr
| An auto_ptr that uses array delete on its contents. 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 | BasicX509Credential
| Wraps an X.509-based Credential by storing key/cert objects inside. More...
class | ChainingTrustEngine
| OpenSSLTrustEngine that uses multiple engines in sequence. More...
struct | cleanup
| Functor for cleaning up heap objects in containers. More...
struct | cleanup_const_pair
| Functor for cleaning up const heap objects in key/value containers. More...
struct | cleanup_pair
| Functor for cleaning up heap objects in key/value containers. More...
class | CloneInputStream
class | ConcreteXMLObjectBuilder
| A factory interface for obtaining XMLObjects. More...
class | CondWait
| A class for establishing queues on a mutex based on a periodic condition. 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 | CurlURLInputStream
| Adapted from Xerces-C as a more advanced input stream implementation for subsequent use in parsing remote documents. More...
class | DataSealer
| Interface to a data integrity and confidentiality tool, and a default implementation. More...
class | DataSealerKeyStrategy
class | DirectoryWalker
| Portable directory walker that invokes a callback function for every file in a directory, optionally doing depth-first recursion of nested directories. 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 | GenericRequest
| Interface to generic protocol requests that transport XML messages. More...
class | GenericResponse
| Interface to generic protocol responses that transport XML messages. 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 | HTTPRequest
| Interface to HTTP requests. More...
class | HTTPResponse
| Interface to HTTP response. More...
class | HTTPSOAPTransport
| Encapsulates HTTP SOAP transport layer. More...
class | IOException
| Exceptions related to physical input/output errors. More...
class | KeyInfoCredentialContext
| Context for credentials resolved out of a KeyInfo. More...
class | KeyInfoResolver
| Resolves credentials from KeyInfo information. More...
class | Lock
| RAII wrapper for a mutex lock. 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 | ManagedResource
class | MarshallingException
| Exceptions during object marshalling. More...
class | Mutex
| A class for managing exclusive access to resources. More...
class | namedparams
| Wrapper around a variable number of name/value pairs. More...
class | Namespace
| A data structure for encapsulating XML Namespace attributes. More...
class | NDC
| A portable stack-based context for diagnostic logging. 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 | OpenSSLSOAPTransport
| Encapsulates OpenSSL-capable SOAP transport layer. More...
class | OpenSSLTrustEngine
| Extended TrustEngine interface that adds validation of X.509 credentials using OpenSSL data types directly for efficiency. More...
class | params
| Wrapper around a variable number of arguments. More...
class | ParserPool
| A thread-safe pool of DOMBuilders that share characteristics. More...
class | PathResolver
| Resolves local filenames into absolute pathnames. More...
class | PathValidator
| Plugin interface to certificate path validation, independent of context. More...
class | PKIXPathValidatorParams
| PKIX-specific parameters to a PathValidator. 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 | ReloadableXMLFile
| Base class for file-based XML configuration. More...
class | ReplayCache
| Helper class on top of StorageService for detecting message replay. More...
class | RWLock
| A class for managing shared and exclusive access to resources. More...
class | SecurityHelper
| A helper class for working with keys, certificates, etc. More...
class | SharedLock
| RAII wrapper for a shared lock. More...
class | SignatureTrustEngine
| TrustEngine interface that adds validation of digital signatures. More...
class | SOAPTransport
| Encapsulates a transport layer protocol for sending/receiving messages. More...
class | StorageService
| Generic data storage facility for use by services that require some degree of persistence. More...
class | StreamInputSource
| A parser source that wraps a C++ input stream. More...
class | TemplateEngine
| Simple template replacement engine. More...
class | Thread
| A class for manual thread creation and synchronization. More...
class | ThreadingException
| Exceptions during threading/locking operations. More...
class | ThreadKey
| A class for managing Thread Local Storage values. More...
class | TrustEngine
| Evaluates the trustworthiness and validity of security information against implementation-specific requirements. More...
class | UnknownAttributeException
| Exceptions due to processing of unknown attributes. More...
class | UnknownElementBuilder
| Builder for UnknownElementImpl objects. More...
class | UnknownElementException
| Exceptions due to processing of unknown element content. More...
class | UnknownExtensionException
| Exceptions from use of an unrecognized extension/plugin. More...
class | UnmarshallingException
| Exceptions during object unmarshalling. More...
class | URLEncoder
| Interface to a URL-encoding mechanism along with a default implementation. More...
class | URLInputSource
| A URL-based parser source that supports a more advanced input stream. More...
class | ValidationException
| Exceptions during object validation. 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 | X509Credential
| Wraps an X.509-based Credential. More...
class | X509StoreCtxRAII
class | X509TrustEngine
| TrustEngine interface that adds validation of X.509 credentials. More...
class | XercesJanitor
| RAII wrapper for Xerces resources. More...
class | XMLHelper
| A helper class for working with W3C DOM objects. 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 | XMLObjectChildrenIterator
| STL iterator that mediates access to an iterator over typed XML children. More...
class | XMLObjectChildrenList
| STL-compatible container that mediates access to underlying lists of typed XML children. More...
class | XMLObjectException
| Exceptions in basic object usage. More...
class | XMLObjectPairList
| STL-compatible container that mediates access to underlying lists of typed XML children that come in pairs. More...
class | XMLParserException
| Exceptions related to XML parsing. More...
class | XMLSecurityException
| Exceptions related to the XML security layer. More...
class | XMLToolingConfig
| Singleton object that manages library startup/shutdown.configuration. More...
class | XMLToolingException
| Base exception class, supports parametrized messages and XML serialization. More...
class | XSECCryptoX509CRL
| Interface class for X.509 CRLs The library uses classes derived from this to process X.509 CRLs. More...

## Typedefs

typedef std::basic_string< XMLCh > | xstring
| An STL string type that supports 16-bit Unicode.

## Functions

template<class InputSequence , class OutputSequence >
void | clone (const InputSequence &in, OutputSequence &out)
| Template function for cloning a sequence of XMLObjects.
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.
bool | operator== (const Namespace &op1, const Namespace &op2)
| Returns true iff op1's namespace and prefix are equal to op2's namespace and prefix.
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.
bool | operator== (const QName &op1, const QName &op2)
| Returns true iff op1's components are equal to op2's components, excluding prefix.
bool | operator!= (const QName &op1, const QName &op2)
| Returns true iff op1's components are not equal to op2's components, excluding prefix.
void | registerCredentialResolvers ()
| Registers CredentialResolver classes into the runtime.
void | registerDataSealerKeyStrategies ()
| Registers DataSealerKeyStrategy classes into the runtime.
const BIGNUM * | DSA_get0_pubkey (const DSA *dsa)
const BIGNUM * | DSA_get0_privkey (const DSA *dsa)
const BIGNUM * | RSA_get0_n (const RSA *rsa)
const BIGNUM * | RSA_get0_d (const RSA *rsa)
const BIGNUM * | RSA_get0_e (const RSA *rsa)
void | registerKeyInfoResolvers ()
| Registers KeyInfoResolver classes into the runtime.
void XMLTOOL_API | registerPathValidators ()
| Registers PathValidator classes into the runtime.
void | registerTrustEngines ()
| Registers TrustEngine classes into the runtime.
void | registerSOAPTransports ()
| Registers SOAPTransport classes into the runtime.
void | initSOAPTransports ()
| Notifies transport infrastructure to initialize.
void | termSOAPTransports ()
| Notifies transport infrastructure to shutdown.
char * | toUTF8 (const XMLCh *src, bool use_malloc=false)
| Transcodes a 16-bit Unicode string into UTF-8.
XMLCh * | fromUTF8 (const char *src, bool use_malloc=false)
| Transcodes a UTF-8 string into 16-bit Unicode.
std::ostream & | operator<< (std::ostream &ostr, const XMLCh *s)
| Writes a Unicode string to an ASCII stream by transcoding to UTF8.
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 | registerStorageServices ()
| Registers StorageService classes into the runtime.
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.
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

class XMLTOOL_API | XSECCryptoX509CRL
xmltooling::ValidatorSuite | SchemaValidators
| Validator suite for schema-style structural validation.

## Detailed Description

Public namespace of XML Tooling library.

Licensed to the University Corporation for Advanced Internet Development, Inc.

(UCAID) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership.

UCAID licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ManagedResource.h

Internal helper for managing local/remote sources of information.

## Function Documentation

## clone()

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

  in | input sequence to clone
  out | output sequence to copy cloned pointers into

## find_if() [1/2]

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

  c | read-only container of pointer-based objects
  p | a predicate function

Returns
  the first object in the container matching the predicate, or nullptr

## find_if() [2/2]

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

  c | read-only container of pointer-based objects
  p | a predicate function

Returns
  the first object in the container matching the predicate, or nullptr

## fromUTF8()

XMLCh * xmltooling::fromUTF8 | ( | const char * | src,
|  | bool | use_malloc = false )

extern

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

Parameters

  src | the UTF-8 string to transcode
  use_malloc | true iff the result should be allocated with malloc, false to use new

Returns
  a 16-bit Unicode string allocated by new or malloc

## operator!=()

bool xmltooling::operator!= | ( | const QName & | op1,
|  | const QName & | op2 )

extern

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

Parameters

  op1 | First qname to compare
  op2 | Second qname to compare

## operator<() [1/2]

bool xmltooling::operator< | ( | const Namespace & | op1,
|  | const Namespace & | op2 )

extern

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

  op1 | First namspace to compare
  op2 | Second namespace to compare

## operator<() [2/2]

bool xmltooling::operator< | ( | const QName & | op1,
|  | const QName & | op2 )

extern

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

  op1 | First qname to compare
  op2 | Second qname to compare

## operator<<() [1/4]

std::ostream & xmltooling::operator<< | ( | std::ostream & | ostr,
|  | const xercesc::DOMNode & | n )

extern

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

  n | node to serialize
  ostr | stream to serialize element into

Returns
  reference to output stream

## operator<<() [2/4]

std::ostream & xmltooling::operator<< | ( | std::ostream & | ostr,
|  | const XMLCh * | s )

extern

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

Parameters

  ostr | stream to write to
  s | string to write

Returns
  reference to output stream

## operator<<() [3/4]

std::ostream & xmltooling::operator<< | ( | std::ostream & | ostr,
|  | const XMLObject & | obj )

extern

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

  obj | object to serialize
  ostr | stream to serialize object into

Returns
  reference to output stream

## operator<<() [4/4]

std::ostream & xmltooling::operator<< | ( | std::ostream & | ostr,
|  | const xstring & | s )

extern

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

Parameters

  ostr | stream to write to
  s | string to write

Returns
  reference to output stream

## operator==() [1/2]

bool xmltooling::operator== | ( | const Namespace & | op1,
|  | const Namespace & | op2 )

extern

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

Parameters

  op1 | First namspace to compare
  op2 | Second namespace to compare

## operator==() [2/2]

bool xmltooling::operator== | ( | const QName & | op1,
|  | const QName & | op2 )

extern

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

Parameters

  op1 | First qname to compare
  op2 | Second qname to compare

## toUTF8()

char * xmltooling::toUTF8 | ( | const XMLCh * | src,
|  | bool | use_malloc = false )

extern

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

Parameters

  src | the 16-bit string to transcode
  use_malloc | true iff the result should be allocated with malloc, false to use new

Returns
  a UTF-8 string allocated by new or malloc

## Variable Documentation

## SchemaValidators

xmltooling::ValidatorSuite xmltooling::SchemaValidators

extern

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.