org.apache.xml.security.c14n.implementations
Class Canonicalizer11

java.lang.Object
  extended by org.apache.xml.security.c14n.CanonicalizerSpi
      extended by org.apache.xml.security.c14n.implementations.CanonicalizerBase
          extended by org.apache.xml.security.c14n.implementations.Canonicalizer11
Direct Known Subclasses:
Canonicalizer11_OmitComments, Canonicalizer11_WithComments

public abstract class Canonicalizer11
extends CanonicalizerBase

Implements Canonical XML Version 1.1, a W3C Proposed Recommendation from 29 January 2008.

Author:
Sean Mullan, Raul Benito

Field Summary
 
Fields inherited from class org.apache.xml.security.c14n.implementations.CanonicalizerBase
COMPARE, NODE_AFTER_DOCUMENT_ELEMENT, NODE_BEFORE_DOCUMENT_ELEMENT, NODE_NOT_BEFORE_OR_AFTER_DOCUMENT_ELEMENT, XML, XMLNS
 
Fields inherited from class org.apache.xml.security.c14n.CanonicalizerSpi
reset, secureValidation
 
Constructor Summary
Canonicalizer11(boolean includeComments)
          Constructor Canonicalizer11
 
Method Summary
protected  void circumventBugIfNeeded(XMLSignatureInput input)
           
 byte[] engineCanonicalizeSubTree(Node rootNode, String inclusiveNamespaces)
          Always throws a CanonicalizationException because this is inclusive c14n.
 byte[] engineCanonicalizeSubTree(Node rootNode, String inclusiveNamespaces, boolean propagateDefaultNamespace)
          Always throws a CanonicalizationException because this is inclusive c14n.
 byte[] engineCanonicalizeXPathNodeSet(Set<Node> xpathNodeSet, String inclusiveNamespaces)
          Always throws a CanonicalizationException because this is inclusive c14n.
protected  Iterator<Attr> handleAttributes(Element element, NameSpaceSymbTable ns)
          Returns the Attr[]s to be output for the given element.
protected  Iterator<Attr> handleAttributesSubtree(Element element, NameSpaceSymbTable ns)
          Returns the Attr[]s to be output for the given element.
protected  void handleParent(Element e, NameSpaceSymbTable ns)
           
 
Methods inherited from class org.apache.xml.security.c14n.implementations.CanonicalizerBase
canonicalizeSubTree, canonicalizeXPathNodeSet, engineCanonicalize, engineCanonicalizeSubTree, engineCanonicalizeSubTree, engineCanonicalizeXPathNodeSet, getNullNode, getParentNameSpaces, isVisible, isVisibleDO, isVisibleInt, outputAttrToWriter, outputCommentToWriter, outputPItoWriter, outputTextToWriter, setWriter
 
Methods inherited from class org.apache.xml.security.c14n.CanonicalizerSpi
engineCanonicalize, engineCanonicalizeXPathNodeSet, engineCanonicalizeXPathNodeSet, engineGetIncludeComments, engineGetURI, isSecureValidation, setSecureValidation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Canonicalizer11

public Canonicalizer11(boolean includeComments)
Constructor Canonicalizer11

Parameters:
includeComments -
Method Detail

engineCanonicalizeXPathNodeSet

public byte[] engineCanonicalizeXPathNodeSet(Set<Node> xpathNodeSet,
                                             String inclusiveNamespaces)
                                      throws CanonicalizationException
Always throws a CanonicalizationException because this is inclusive c14n.

Specified by:
engineCanonicalizeXPathNodeSet in class CanonicalizerSpi
Parameters:
xpathNodeSet -
inclusiveNamespaces -
Returns:
none it always fails
Throws:
CanonicalizationException - always

engineCanonicalizeSubTree

public byte[] engineCanonicalizeSubTree(Node rootNode,
                                        String inclusiveNamespaces)
                                 throws CanonicalizationException
Always throws a CanonicalizationException because this is inclusive c14n.

Specified by:
engineCanonicalizeSubTree in class CanonicalizerSpi
Parameters:
rootNode -
inclusiveNamespaces -
Returns:
none it always fails
Throws:
CanonicalizationException

engineCanonicalizeSubTree

public byte[] engineCanonicalizeSubTree(Node rootNode,
                                        String inclusiveNamespaces,
                                        boolean propagateDefaultNamespace)
                                 throws CanonicalizationException
Always throws a CanonicalizationException because this is inclusive c14n.

Specified by:
engineCanonicalizeSubTree in class CanonicalizerSpi
Parameters:
rootNode -
inclusiveNamespaces -
propagateDefaultNamespace - If true the default namespace will be propagated to the c14n-ized root element
Returns:
none it always fails
Throws:
CanonicalizationException

handleAttributesSubtree

protected Iterator<Attr> handleAttributesSubtree(Element element,
                                                 NameSpaceSymbTable ns)
                                          throws CanonicalizationException
Returns the Attr[]s to be output for the given element.
The code of this method is a copy of handleAttributes(Element, NameSpaceSymbTable), whereas it takes into account that subtree-c14n is -- well -- subtree-based. So if the element in question isRoot of c14n, it's parent is not in the node set, as well as all other ancestors.

Parameters:
element -
ns -
Returns:
the Attr[]s to be output
Throws:
CanonicalizationException

handleAttributes

protected Iterator<Attr> handleAttributes(Element element,
                                          NameSpaceSymbTable ns)
                                   throws CanonicalizationException
Returns the Attr[]s to be output for the given element.
IMPORTANT: This method expects to work on a modified DOM tree, i.e. a DOM which has been prepared using XMLUtils.circumventBug2650( org.w3c.dom.Document).

Parameters:
element -
ns -
Returns:
the Attr[]s to be output
Throws:
CanonicalizationException

circumventBugIfNeeded

protected void circumventBugIfNeeded(XMLSignatureInput input)
                              throws CanonicalizationException,
                                     ParserConfigurationException,
                                     IOException,
                                     SAXException
Throws:
CanonicalizationException
ParserConfigurationException
IOException
SAXException

handleParent

protected void handleParent(Element e,
                            NameSpaceSymbTable ns)
Overrides:
handleParent in class CanonicalizerBase


Copyright © 2000–2014 The Apache Software Foundation. All rights reserved.