Methods Summary |
---|
public byte[] | engineCanonicalize(byte[] inputBytes)Method canonicalize
java.io.ByteArrayInputStream bais = new ByteArrayInputStream(inputBytes);
InputSource in = new InputSource(bais);
DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
// needs to validate for ID attribute nomalization
dfactory.setNamespaceAware(true);
DocumentBuilder db = dfactory.newDocumentBuilder();
/*
* for some of the test vectors from the specification,
* there has to be a validatin parser for ID attributes, default
* attribute values, NMTOKENS, etc.
* Unfortunaltely, the test vectors do use different DTDs or
* even no DTD. So Xerces 1.3.1 fires many warnings about using
* ErrorHandlers.
*
* Text from the spec:
*
* The input octet stream MUST contain a well-formed XML document,
* but the input need not be validated. However, the attribute
* value normalization and entity reference resolution MUST be
* performed in accordance with the behaviors of a validating
* XML processor. As well, nodes for default attributes (declared
* in the ATTLIST with an AttValue but not specified) are created
* in each element. Thus, the declarations in the document type
* declaration are used to help create the canonical form, even
* though the document type declaration is not retained in the
* canonical form.
*
*/
// ErrorHandler eh = new C14NErrorHandler();
// db.setErrorHandler(eh);
Document document = db.parse(in);
byte result[] = this.engineCanonicalizeSubTree(document);
return result;
|
public abstract byte[] | engineCanonicalizeSubTree(org.w3c.dom.Node rootNode)C14n a node tree.
|
public abstract byte[] | engineCanonicalizeSubTree(org.w3c.dom.Node rootNode, java.lang.String inclusiveNamespaces)C14n a node tree.
|
public byte[] | engineCanonicalizeXPathNodeSet(org.w3c.dom.NodeList xpathNodeSet)Method engineCanonicalizeXPathNodeSet
return this
.engineCanonicalizeXPathNodeSet(XMLUtils
.convertNodelistToSet(xpathNodeSet));
|
public byte[] | engineCanonicalizeXPathNodeSet(org.w3c.dom.NodeList xpathNodeSet, java.lang.String inclusiveNamespaces)Method engineCanonicalizeXPathNodeSet
return this
.engineCanonicalizeXPathNodeSet(XMLUtils
.convertNodelistToSet(xpathNodeSet), inclusiveNamespaces);
|
public abstract byte[] | engineCanonicalizeXPathNodeSet(java.util.Set xpathNodeSet)C14n a nodeset
|
public abstract byte[] | engineCanonicalizeXPathNodeSet(java.util.Set xpathNodeSet, java.lang.String inclusiveNamespaces)C14n a nodeset
|
public abstract boolean | engineGetIncludeComments()Returns the URI if include comments
|
public abstract java.lang.String | engineGetURI()Returns the URI of this engine.
|
public abstract void | setWriter(java.io.OutputStream os)Sets the writter where the cannocalization ends. ByteArrayOutputStream if
none is setted.
|