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 Details

  • Constructor Details

    • CanonicalizerBase

      public CanonicalizerBase​(boolean includeComments)
      Constructor CanonicalizerBase
      Parameters:
      includeComments -
  • Method Details

    • engineCanonicalizeSubTree

      public byte[] engineCanonicalizeSubTree​(org.w3c.dom.Node rootNode) throws CanonicalizationException
      Method engineCanonicalizeSubTree
      Specified by:
      engineCanonicalizeSubTree in class CanonicalizerSpi
      Returns:
      the c14n bytes
      Throws:
      CanonicalizationException
    • engineCanonicalizeXPathNodeSet

      public byte[] engineCanonicalizeXPathNodeSet​(java.util.Set<org.w3c.dom.Node> xpathNodeSet) throws CanonicalizationException
      Method engineCanonicalizeXPathNodeSet
      Specified by:
      engineCanonicalizeXPathNodeSet in class CanonicalizerSpi
      Returns:
      the c14n bytes
      Throws:
      CanonicalizationException
    • engineCanonicalize

      public byte[] engineCanonicalize​(XMLSignatureInput input) throws CanonicalizationException
      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: CanonicalizerSpi
      Sets the writer where the canonicalization ends. ByteArrayOutputStream if none is set.
      Specified by:
      setWriter in class CanonicalizerSpi
      Parameters:
      writer - The writer to set.
    • engineCanonicalizeSubTree

      protected byte[] engineCanonicalizeSubTree​(org.w3c.dom.Node rootNode, org.w3c.dom.Node excludeNode) throws CanonicalizationException
      Canonicalizes a Subtree node.
      Parameters:
      rootNode - the root of the subtree to canonicalize
      excludeNode - 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.IOException
      Method canonicalizeSubTree, this function is a recursive one.
      Parameters:
      currentNode -
      ns -
      endnode -
      Throws:
      CanonicalizationException
      java.io.IOException
    • canonicalizeXPathNodeSet

      protected final void canonicalizeXPathNodeSet​(org.w3c.dom.Node currentNode, org.w3c.dom.Node endnode) throws CanonicalizationException, java.io.IOException
      Canonicalizes all the nodes included in the currentNode and contained in the xpathNodeSet field.
      Parameters:
      currentNode -
      endnode -
      Throws:
      CanonicalizationException
      java.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

      protected void handleParent​(org.w3c.dom.Element e, NameSpaceSymbTable ns)
    • getParentNameSpaces

      protected final void getParentNameSpaces​(org.w3c.dom.Element el, NameSpaceSymbTable ns)
      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.IOException
      Outputs an Attribute to the internal Writer. The string value of the node is modified by replacing
      • all ampersands (&) with &amp;
      • all open angle brackets (<) with &lt;
      • all quotation mark characters with &quot;
      • 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, #xD is represented by the character reference &#xD;)
      Parameters:
      name -
      value -
      writer -
      Throws:
      java.io.IOException
    • outputPItoWriter

      protected void outputPItoWriter​(org.w3c.dom.ProcessingInstruction currentPI, java.io.OutputStream writer, int position) throws java.io.IOException
      Outputs 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.IOException
      Method 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.IOException
      Outputs 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)