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 | XMLToolingException
| Base exception class, supports parametrized messages and XML serialization. More...
class | XMLParserException
| Exceptions related to XML parsing. More...
class | XMLObjectException
| Exceptions in basic object usage. More...
class | MarshallingException
| Exceptions during object marshalling. More...
class | UnmarshallingException
| Exceptions during object unmarshalling. More...
class | UnknownElementException
| Exceptions due to processing of unknown element content. More...
class | UnknownAttributeException
| Exceptions due to processing of unknown attributes. More...
class | UnknownExtensionException
| Exceptions from use of an unrecognized extension/plugin. More...
class | ValidationException
| Exceptions during object validation. More...
class | IOException
| Exceptions related to physical input/output errors. More...
class | XMLSecurityException
| Exceptions related to the XML security layer. 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 | DataSealerKeyStrategy
class | DataSealer
| Interface to a data integrity and confidentiality tool, and a default implementation. More...
class | ManagedResource
class | X509StoreCtxRAII
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 | 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 | 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 | ThreadingException
| Exceptions during threading/locking operations. 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 | 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 | XMLObjectChildrenIterator
| STL iterator that mediates access to an iterator over typed XML children. 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...

## 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.