Class CanonicalizerBase
java.lang.Object
org.docx4j.org.apache.xml.security.c14n.CanonicalizerSpi
org.docx4j.org.apache.xml.security.c14n.implementations.CanonicalizerBase
- Direct Known Subclasses:
Canonicalizer11,Canonicalizer20010315,Canonicalizer20010315Excl,CanonicalizerPhysical
public abstract class CanonicalizerBase extends CanonicalizerSpi
Abstract base class for canonicalization algorithms.
- Author:
- Christian Geuer-Pollmann
-
Field Summary
Fields Modifier and Type Field Description protected static AttrCompareCOMPAREprotected static intNODE_AFTER_DOCUMENT_ELEMENTprotected static intNODE_BEFORE_DOCUMENT_ELEMENTprotected static intNODE_NOT_BEFORE_OR_AFTER_DOCUMENT_ELEMENTstatic java.lang.StringXMLstatic java.lang.StringXMLNSFields inherited from class org.docx4j.org.apache.xml.security.c14n.CanonicalizerSpi
reset, secureValidation -
Constructor Summary
Constructors Constructor Description CanonicalizerBase(boolean includeComments)Constructor CanonicalizerBase -
Method Summary
Modifier and Type Method Description protected voidcanonicalizeSubTree(org.w3c.dom.Node currentNode, NameSpaceSymbTable ns, org.w3c.dom.Node endnode, int documentLevel)Method canonicalizeSubTree, this function is a recursive one.protected voidcanonicalizeXPathNodeSet(org.w3c.dom.Node currentNode, org.w3c.dom.Node endnode)Canonicalizes all the nodes included in the currentNode and contained in the xpathNodeSet field.byte[]engineCanonicalize(XMLSignatureInput input)Canonicalizes a Subtree node.byte[]engineCanonicalizeSubTree(org.w3c.dom.Node rootNode)Method engineCanonicalizeSubTreeprotected byte[]engineCanonicalizeSubTree(org.w3c.dom.Node rootNode, org.w3c.dom.Node excludeNode)Canonicalizes a Subtree node.byte[]engineCanonicalizeXPathNodeSet(java.util.Set<org.w3c.dom.Node> xpathNodeSet)Method engineCanonicalizeXPathNodeSetprotected org.w3c.dom.AttrgetNullNode(org.w3c.dom.Document ownerDocument)protected voidgetParentNameSpaces(org.w3c.dom.Element el, NameSpaceSymbTable ns)Adds to ns the definitions from the parent elements of elprotected voidhandleParent(org.w3c.dom.Element e, NameSpaceSymbTable ns)protected booleanisVisible(org.w3c.dom.Node currentNode)protected intisVisibleDO(org.w3c.dom.Node currentNode, int level)protected intisVisibleInt(org.w3c.dom.Node currentNode)protected static voidoutputAttrToWriter(java.lang.String name, java.lang.String value, java.io.OutputStream writer, java.util.Map<java.lang.String,byte[]> cache)Outputs an Attribute to the internal Writer.protected voidoutputCommentToWriter(org.w3c.dom.Comment currentComment, java.io.OutputStream writer, int position)Method outputCommentToWriterprotected voidoutputPItoWriter(org.w3c.dom.ProcessingInstruction currentPI, java.io.OutputStream writer, int position)Outputs a PI to the internal Writer.protected static voidoutputTextToWriter(java.lang.String text, java.io.OutputStream writer)Outputs a Text of CDATA section to the internal Writer.voidsetWriter(java.io.OutputStream writer)Sets the writer where the canonicalization ends.Methods inherited from class org.docx4j.org.apache.xml.security.c14n.CanonicalizerSpi
engineCanonicalize, engineCanonicalizeSubTree, engineCanonicalizeSubTree, engineCanonicalizeXPathNodeSet, engineCanonicalizeXPathNodeSet, engineCanonicalizeXPathNodeSet, engineGetIncludeComments, engineGetURI, isSecureValidation, setSecureValidation
-
Field Details
-
XML
public static final java.lang.String XML- See Also:
- Constant Field Values
-
XMLNS
public static final java.lang.String XMLNS- See Also:
- Constant Field Values
-
COMPARE
-
NODE_BEFORE_DOCUMENT_ELEMENT
protected static final int NODE_BEFORE_DOCUMENT_ELEMENT- See Also:
- Constant Field Values
-
NODE_NOT_BEFORE_OR_AFTER_DOCUMENT_ELEMENT
protected static final int NODE_NOT_BEFORE_OR_AFTER_DOCUMENT_ELEMENT- See Also:
- Constant Field Values
-
NODE_AFTER_DOCUMENT_ELEMENT
protected static final int NODE_AFTER_DOCUMENT_ELEMENT- See Also:
- Constant Field Values
-
-
Constructor Details
-
CanonicalizerBase
public CanonicalizerBase(boolean includeComments)Constructor CanonicalizerBase- Parameters:
includeComments-
-
-
Method Details
-
engineCanonicalizeSubTree
public byte[] engineCanonicalizeSubTree(org.w3c.dom.Node rootNode) throws CanonicalizationExceptionMethod engineCanonicalizeSubTree- Specified by:
engineCanonicalizeSubTreein classCanonicalizerSpi- Returns:
- the c14n bytes
- Throws:
CanonicalizationException
-
engineCanonicalizeXPathNodeSet
public byte[] engineCanonicalizeXPathNodeSet(java.util.Set<org.w3c.dom.Node> xpathNodeSet) throws CanonicalizationExceptionMethod engineCanonicalizeXPathNodeSet- Specified by:
engineCanonicalizeXPathNodeSetin classCanonicalizerSpi- Returns:
- the c14n bytes
- Throws:
CanonicalizationException
-
engineCanonicalize
Canonicalizes a Subtree node.- Parameters:
input- the root of the subtree to canicalize- Returns:
- The canonicalize stream.
- Throws:
CanonicalizationException
-
setWriter
public void setWriter(java.io.OutputStream writer)Description copied from class:CanonicalizerSpiSets the writer where the canonicalization ends. ByteArrayOutputStream if none is set.- Specified by:
setWriterin classCanonicalizerSpi- Parameters:
writer- The writer to set.
-
engineCanonicalizeSubTree
protected byte[] engineCanonicalizeSubTree(org.w3c.dom.Node rootNode, org.w3c.dom.Node excludeNode) throws CanonicalizationExceptionCanonicalizes a Subtree node.- Parameters:
rootNode- the root of the subtree to canonicalizeexcludeNode- a node to be excluded from the canonicalize operation- Returns:
- The canonicalize stream.
- Throws:
CanonicalizationException
-
canonicalizeSubTree
protected final void canonicalizeSubTree(org.w3c.dom.Node currentNode, NameSpaceSymbTable ns, org.w3c.dom.Node endnode, int documentLevel) throws CanonicalizationException, java.io.IOExceptionMethod canonicalizeSubTree, this function is a recursive one.- Parameters:
currentNode-ns-endnode-- Throws:
CanonicalizationExceptionjava.io.IOException
-
canonicalizeXPathNodeSet
protected final void canonicalizeXPathNodeSet(org.w3c.dom.Node currentNode, org.w3c.dom.Node endnode) throws CanonicalizationException, java.io.IOExceptionCanonicalizes all the nodes included in the currentNode and contained in the xpathNodeSet field.- Parameters:
currentNode-endnode-- Throws:
CanonicalizationExceptionjava.io.IOException
-
isVisibleDO
protected int isVisibleDO(org.w3c.dom.Node currentNode, int level) -
isVisibleInt
protected int isVisibleInt(org.w3c.dom.Node currentNode) -
isVisible
protected boolean isVisible(org.w3c.dom.Node currentNode) -
handleParent
-
getParentNameSpaces
Adds to ns the definitions from the parent elements of el- Parameters:
el-ns-
-
outputAttrToWriter
protected static final void outputAttrToWriter(java.lang.String name, java.lang.String value, java.io.OutputStream writer, java.util.Map<java.lang.String,byte[]> cache) throws java.io.IOExceptionOutputs an Attribute to the internal Writer. The string value of the node is modified by replacing- all ampersands (&) with
& - all open angle brackets (<) with
< - all quotation mark characters with
" - and the whitespace characters
#x9, #xA, and #xD, with character references. The character references are written in uppercase hexadecimal with no leading zeroes (for example,#xDis represented by the character reference
)
- Parameters:
name-value-writer-- Throws:
java.io.IOException
- all ampersands (&) with
-
outputPItoWriter
protected void outputPItoWriter(org.w3c.dom.ProcessingInstruction currentPI, java.io.OutputStream writer, int position) throws java.io.IOExceptionOutputs a PI to the internal Writer.- Parameters:
currentPI-writer- where to write the things- Throws:
java.io.IOException
-
outputCommentToWriter
protected void outputCommentToWriter(org.w3c.dom.Comment currentComment, java.io.OutputStream writer, int position) throws java.io.IOExceptionMethod outputCommentToWriter- Parameters:
currentComment-writer- writer where to write the things- Throws:
java.io.IOException
-
outputTextToWriter
protected static final void outputTextToWriter(java.lang.String text, java.io.OutputStream writer) throws java.io.IOExceptionOutputs a Text of CDATA section to the internal Writer.- Parameters:
text-writer- writer where to write the things- Throws:
java.io.IOException
-
getNullNode
protected org.w3c.dom.Attr getNullNode(org.w3c.dom.Document ownerDocument)
-