Class Canonicalizer11
- java.lang.Object
-
- org.apache.xml.security.c14n.CanonicalizerSpi
-
- org.apache.xml.security.c14n.implementations.CanonicalizerBase
-
- 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
Constructors Constructor Description Canonicalizer11(boolean includeComments)
Constructor Canonicalizer11
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 classCanonicalizerSpi
- 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 classCanonicalizerSpi
- 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 classCanonicalizerSpi
- 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 ofhandleAttributes(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 usingXMLUtils.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
-
handleParent
protected void handleParent(Element e, NameSpaceSymbTable ns)
- Overrides:
handleParent
in classCanonicalizerBase
-
-