xmltooling  3.2.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  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. More...
 
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. More...
 
bool operator== (const Namespace &op1, const Namespace &op2)
 Returns true iff op1's namespace and prefix are equal to op2's namespace and prefix. More...
 
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. More...
 
bool operator== (const QName &op1, const QName &op2)
 Returns true iff op1's components are equal to op2's components, excluding prefix. More...
 
bool operator!= (const QName &op1, const QName &op2)
 Returns true iff op1's components are not equal to op2's components, excluding prefix. More...
 
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. More...
 
XMLCh * fromUTF8 (const char *src, bool use_malloc=false)
 Transcodes a UTF-8 string into 16-bit Unicode. More...
 
std::ostream & operator<< (std::ostream &ostr, const XMLCh *s)
 Writes a Unicode string to an ASCII stream by transcoding to UTF8. More...
 
std::ostream & operator<< (std::ostream &ostr, const xstring &s)
 Writes a Unicode string to an ASCII stream by transcoding to UTF8. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Variables

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

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
ininput sequence to clone
outoutput 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
cread-only container of pointer-based objects
pa 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
cread-only container of pointer-based objects
pa 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 
)

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

◆ operator!=()

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

◆ operator<() [1/2]

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

◆ operator<() [2/2]

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

◆ operator<<() [1/4]

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

◆ operator<<() [2/4]

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

◆ operator<<() [3/4]

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

◆ operator<<() [4/4]

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

◆ operator==() [1/2]

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

◆ operator==() [2/2]

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

◆ toUTF8()

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

Variable Documentation

◆ SchemaValidators

xmltooling::ValidatorSuite xmltooling::SchemaValidators

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.