You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2011/01/24 12:31:02 UTC

svn commit: r1062736 [1/2] - in /santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples: keys/ transforms/

Author: coheigea
Date: Mon Jan 24 11:31:01 2011
New Revision: 1062736

URL: http://svn.apache.org/viewvc?rev=1062736&view=rev
Log:
[SANTUARIO-257] - More refactoring of the samples.

Modified:
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/CreateKeyInfo.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/RetrievePublicKeys.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformChaining.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformEnvelopedSignature.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformNone.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter2.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPathFilterCHGP.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPathHereFunc.java
    santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXSLT.java

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/CreateKeyInfo.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/CreateKeyInfo.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/CreateKeyInfo.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/CreateKeyInfo.java Mon Jan 24 11:31:01 2011
@@ -16,8 +16,6 @@
  */
 package org.apache.xml.security.samples.keys;
 
-
-
 import java.io.FileInputStream;
 import java.math.BigInteger;
 import java.security.KeyStore;
@@ -28,7 +26,6 @@ import org.apache.xml.security.keys.cont
 import org.apache.xml.security.keys.content.keyvalues.RSAKeyValue;
 import org.apache.xml.security.utils.XMLUtils;
 
-
 /**
  * Class CreateKeyInfo
  *
@@ -37,45 +34,45 @@ import org.apache.xml.security.utils.XML
  */
 public class CreateKeyInfo {
 
-   /**
-    * Method main
-    *
-    * @param unused
-    * @throws Exception
-    */
-   public static void main(String unused[]) throws Exception {
-
-      KeyStore ks = KeyStore.getInstance("JKS");
-      FileInputStream fis = new FileInputStream(
-         "data/org/apache/xml/security/samples/input/keystore.jks");
-
-      ks.load(fis, "xmlsecurity".toCharArray());
-
-      javax.xml.parsers.DocumentBuilderFactory dbf =
-         javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
-      org.w3c.dom.Document doc = db.newDocument();
-      KeyInfo ki = new KeyInfo(doc);
-
-      doc.appendChild(ki.getElement());
-      ki.setId("myKI");
-      ki.addKeyName("A simple key");
-
-      X509Certificate cert = (X509Certificate) ks.getCertificate("test");
-
-      ki.addKeyValue(cert.getPublicKey());
-
-      X509Data x509Data = new X509Data(doc);
-
-      ki.add(x509Data);
-      x509Data.addCertificate(cert);
-      x509Data.addSubjectName("Subject name");
-      x509Data.addIssuerSerial("Subject nfsdfhs", 6786);
-      ki.add(new RSAKeyValue(doc, new BigInteger("678"),
-                             new BigInteger("6870")));
-      XMLUtils.outputDOMc14nWithComments(doc, System.out);
-   }
+    /**
+     * Method main
+     *
+     * @param unused
+     * @throws Exception
+     */
+    public static void main(String unused[]) throws Exception {
+
+        KeyStore ks = KeyStore.getInstance("JKS");
+        FileInputStream fis = new FileInputStream(
+            "data/org/apache/xml/security/samples/input/keystore.jks");
+
+        ks.load(fis, "xmlsecurity".toCharArray());
+
+        javax.xml.parsers.DocumentBuilderFactory dbf =
+            javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
+        org.w3c.dom.Document doc = db.newDocument();
+        KeyInfo ki = new KeyInfo(doc);
+
+        doc.appendChild(ki.getElement());
+        ki.setId("myKI");
+        ki.addKeyName("A simple key");
+
+        X509Certificate cert = (X509Certificate) ks.getCertificate("test");
+
+        ki.addKeyValue(cert.getPublicKey());
+
+        X509Data x509Data = new X509Data(doc);
+
+        ki.add(x509Data);
+        x509Data.addCertificate(cert);
+        x509Data.addSubjectName("Subject name");
+        x509Data.addIssuerSerial("Subject nfsdfhs", 6786);
+        ki.add(new RSAKeyValue(doc, new BigInteger("678"), new BigInteger("6870")));
+        XMLUtils.outputDOMc14nWithComments(doc, System.out);
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/RetrievePublicKeys.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/RetrievePublicKeys.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/RetrievePublicKeys.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/keys/RetrievePublicKeys.java Mon Jan 24 11:31:01 2011
@@ -17,8 +17,6 @@
  */
 package org.apache.xml.security.samples.keys;
 
-
-
 import java.io.File;
 import java.security.PublicKey;
 
@@ -31,93 +29,85 @@ import org.apache.xml.security.utils.XML
 import org.apache.xpath.XPathAPI;
 import org.w3c.dom.Element;
 
-
 /**
  *
  * @author $Author$
  */
 public class RetrievePublicKeys {
 
-   /**
-    * Method main
-    *
-    * @param unused
-    */
-   public static void main(String unused[]) {
-
-      javax.xml.parsers.DocumentBuilderFactory dbf =
-         javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      //J-
-      String merlinsDir =
-         "data/ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/";
-      String ourDir =
-         "data/org/apache/xml/security/temp/key/";
-      String filenames[] = { merlinsDir +
-                             /* 0 */ "signature-keyname.xml",
-                             merlinsDir +
-                             /* 1 */ "signature-retrievalmethod-rawx509crt.xml",
-                             merlinsDir +
-                             /* 2 */ "signature-x509-crt-crl.xml",
-                             merlinsDir +
-                             /* 3 */ "signature-x509-crt.xml",
-                             merlinsDir +
-                             /* 4 */ "signature-x509-is.xml",
-                             merlinsDir +
-                             /* 5 */ "signature-x509-ski.xml",
-                             merlinsDir +
-                             /* 6 */ "signature-x509-sn.xml",
-                             ourDir +
-                             /* 7 */ "signature-retrievalmethod-x509data.xml",
-                             ourDir +
-                             /* 8 */ "signature-retrievalmethod-dsavalue.xml",
-                             ourDir +
-                             /* 9 */ "retrieval-from-same-doc.xml"
-                             };
-      //J+
-      int start = 0;
-      int end = filenames.length;
-      // int end = filenames.length;
-      for (int filetoverify = start; filetoverify < end;
-              filetoverify++) {
-         String filename = filenames[filetoverify];
-
-         System.out.println(
-            "#########################################################");
-         System.out.println("Try to verify " + filename);
-
-         try {
-            javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
-            org.w3c.dom.Document doc =
-               db.parse(new java.io.FileInputStream(filename));
-            Element nscontext = SampleUtils.createDSctx(doc, "ds", Constants.SignatureSpecNS);
-
-            Element kiElement = (Element) XPathAPI.selectSingleNode(doc,
-                                   "//ds:KeyInfo[1]", nscontext);
-            KeyInfo ki = new KeyInfo(kiElement,
-                                     (new File(filename)).toURL().toString());
-            StorageResolver storageResolver = new StorageResolver(
-               new CertsInFilesystemDirectoryResolver(merlinsDir + "certs"));
-
-            ki.addStorageResolver(storageResolver);
-
-            PublicKey pk = ki.getPublicKey();
-
-            System.out.println("PublicKey" + ((pk != null)
-                                              ? " found:"
-                                              : " not found!!!"));
-
-            if (pk != null) {
-               System.out.println("   Format: " + pk.getFormat());
-               System.out.println("   Algorithm: " + pk.getAlgorithm());
+    /**
+     * Method main
+     *
+     * @param unused
+     */
+    public static void main(String unused[]) {
+        javax.xml.parsers.DocumentBuilderFactory dbf =
+            javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        String merlinsDir =
+            "data/ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/";
+        String ourDir =
+            "data/org/apache/xml/security/temp/key/";
+        String filenames[] = { merlinsDir +
+                               /* 0 */ "signature-keyname.xml",
+                               merlinsDir +
+                               /* 1 */ "signature-retrievalmethod-rawx509crt.xml",
+                               merlinsDir +
+                               /* 2 */ "signature-x509-crt-crl.xml",
+                               merlinsDir +
+                               /* 3 */ "signature-x509-crt.xml",
+                               merlinsDir +
+                               /* 4 */ "signature-x509-is.xml",
+                               merlinsDir +
+                               /* 5 */ "signature-x509-ski.xml",
+                               merlinsDir +
+                               /* 6 */ "signature-x509-sn.xml",
+                               ourDir +
+                               /* 7 */ "signature-retrievalmethod-x509data.xml",
+                               ourDir +
+                               /* 8 */ "signature-retrievalmethod-dsavalue.xml",
+                               ourDir +
+                               /* 9 */ "retrieval-from-same-doc.xml"
+        };
+
+        int start = 0;
+        int end = filenames.length;
+        for (int filetoverify = start; filetoverify < end; filetoverify++) {
+            String filename = filenames[filetoverify];
+
+            System.out.println("#########################################################");
+            System.out.println("Try to verify " + filename);
+
+            try {
+                javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
+                org.w3c.dom.Document doc =
+                    db.parse(new java.io.FileInputStream(filename));
+                Element nscontext = SampleUtils.createDSctx(doc, "ds", Constants.SignatureSpecNS);
+
+                Element kiElement = 
+                    (Element) XPathAPI.selectSingleNode(doc, "//ds:KeyInfo[1]", nscontext);
+                KeyInfo ki = new KeyInfo(kiElement, (new File(filename)).toURI().toURL().toString());
+                StorageResolver storageResolver = 
+                    new StorageResolver(new CertsInFilesystemDirectoryResolver(merlinsDir + "certs"));
+
+                ki.addStorageResolver(storageResolver);
+
+                PublicKey pk = ki.getPublicKey();
+
+                System.out.println("PublicKey" + ((pk != null) ? " found:" : " not found!!!"));
+
+                if (pk != null) {
+                    System.out.println("   Format: " + pk.getFormat());
+                    System.out.println("   Algorithm: " + pk.getAlgorithm());
+                }
+
+                System.out.println("   Key: " + pk);
+            } catch (Exception ex) {
+                ex.printStackTrace();
             }
-
-            System.out.println("   Key: " + pk);
-         } catch (Exception ex) {
-            ex.printStackTrace();
-         }
-      }
-   }
+        }
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformChaining.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformChaining.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformChaining.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformChaining.java Mon Jan 24 11:31:01 2011
@@ -17,8 +17,6 @@
  */
 package org.apache.xml.security.samples.transforms;
 
-
-
 import org.apache.xml.security.signature.XMLSignatureInput;
 import org.apache.xml.security.samples.SampleUtils;
 import org.apache.xml.security.transforms.Transforms;
@@ -27,7 +25,6 @@ import org.apache.xml.security.utils.XML
 import org.apache.xpath.XPathAPI;
 import org.w3c.dom.Element;
 
-
 /**
  * This class demonstrates the use of a Transform for XSLT. The
  * <CODE>xsl:stylesheet</CODE> is directly embedded in the <CODE>ds:Transform</CODE>,
@@ -38,70 +35,69 @@ import org.w3c.dom.Element;
  */
 public class SampleTransformChaining {
 
-   /**
-    * Method main
-    *
-    * @param args
-    * @throws Exception
-    */
-   public static void main(String args[]) throws Exception {
-      //J-
-      String inputStr =
-        "<?xml version=\"1.0\"?>" + "\n"
-      + "<Class>" + "\n"
-      + "   <BASE64>" + "\n"
-      + "       PGNvbnRhaW5lcj4KICAgPGU+SGVsbG8sIDwhLS0gY29tbWVudCAtLT4gd29ybGQhPC9lPgogICA8" + "\n"
-      + "       T3JkZXIgTmFtZT0nVElOQU1JRk9STUVTJyB4bWxucz0naHR0cDovL3NmZGZnLyc+CiAgICAgIDxG" + "\n"
-      + "       YW1pbHkgTmFtZT0nVElOQU1JREFFJz4KICAgICAgICAgPFNwZWNpZXMgU2NpZW50aWZpY19OYW1l" + "\n"
-      + "       PSdDcnlwdHVyZWxsdXMgYm91Y2FyZGknPlNsYXR5LWJyZWFzdGVkIFRpbmFtb3UuPC9TcGVjaWVz" + "\n"
-      + "       PgogICAgICA8L0ZhbWlseT4KICAgPC9PcmRlcj4KICAgPE9yZGVyIE5hbWU9J1BPRElDSVBFRElG" + "\n"
-      + "       T1JNRVMnLz4KPC9jb250YWluZXI+Cg==" + "\n"
-      + "   </BASE64>" + "\n"
-      + "<Signature Id='SignatureToBeOmitted' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "     <SignedInfo>" + "\n"
-      + "       <Reference URI=''>" + "\n"
-      + "         <Transforms>" + "\n"
-      + "           <Transform Algorithm='http://www.w3.org/TR/1999/REC-xpath-19991116'>\n"
-      + "             <!-- Exclude all signatures -->\n"
-      + "               <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>\n"
-      + "                 ancestor::BASE64"
-      + "               </ds:XPath>\n"
-      + "           </Transform>\n"
-      + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#base64' />\n"
-      + "           <Transform Algorithm='http://www.w3.org/TR/1999/REC-xpath-19991116'>\n"
-      + "               <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>\n"
-      + "                 not(self::container)     "
-      + "               </ds:XPath>\n"
-      + "           </Transform>\n"
-      + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315' />\n"
-      + "         </Transforms>" + "\n"
-      + "       </Reference>" + "\n"
-      + "     </SignedInfo>" + "\n"
-      + "   </Signature>"
-      + "</Class>" + "\n"
-      ;
-      //J+
-      javax.xml.parsers.DocumentBuilderFactory dbf =
-         javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
-      org.w3c.dom.Document doc =
-         db.parse(new java.io.ByteArrayInputStream(inputStr.getBytes()));
-
-      // catch the ds:Transforms
-      Element nscontext = SampleUtils.createDSctx(doc, "ds", Constants.SignatureSpecNS);
-
-      Element transformsElement = (Element) XPathAPI.selectSingleNode(doc,
-                                     "//ds:Transforms", nscontext);
-      Transforms transforms = new Transforms(transformsElement, "memory://");
-      XMLSignatureInput input = new XMLSignatureInput(doc);
-
-      // execute Transforms
-      XMLSignatureInput result = transforms.performTransforms(input);
-
-      // output result
-      System.out.println(new String(result.getBytes()));
-   }
+    /**
+     * Method main
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String args[]) throws Exception {
+        String inputStr =
+            "<?xml version=\"1.0\"?>" + "\n"
+            + "<Class>" + "\n"
+            + "   <BASE64>" + "\n"
+            + "       PGNvbnRhaW5lcj4KICAgPGU+SGVsbG8sIDwhLS0gY29tbWVudCAtLT4gd29ybGQhPC9lPgogICA8" + "\n"
+            + "       T3JkZXIgTmFtZT0nVElOQU1JRk9STUVTJyB4bWxucz0naHR0cDovL3NmZGZnLyc+CiAgICAgIDxG" + "\n"
+            + "       YW1pbHkgTmFtZT0nVElOQU1JREFFJz4KICAgICAgICAgPFNwZWNpZXMgU2NpZW50aWZpY19OYW1l" + "\n"
+            + "       PSdDcnlwdHVyZWxsdXMgYm91Y2FyZGknPlNsYXR5LWJyZWFzdGVkIFRpbmFtb3UuPC9TcGVjaWVz" + "\n"
+            + "       PgogICAgICA8L0ZhbWlseT4KICAgPC9PcmRlcj4KICAgPE9yZGVyIE5hbWU9J1BPRElDSVBFRElG" + "\n"
+            + "       T1JNRVMnLz4KPC9jb250YWluZXI+Cg==" + "\n"
+            + "   </BASE64>" + "\n"
+            + "<Signature Id='SignatureToBeOmitted' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "     <SignedInfo>" + "\n"
+            + "       <Reference URI=''>" + "\n"
+            + "         <Transforms>" + "\n"
+            + "           <Transform Algorithm='http://www.w3.org/TR/1999/REC-xpath-19991116'>\n"
+            + "             <!-- Exclude all signatures -->\n"
+            + "               <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>\n"
+            + "                 ancestor::BASE64"
+            + "               </ds:XPath>\n"
+            + "           </Transform>\n"
+            + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#base64' />\n"
+            + "           <Transform Algorithm='http://www.w3.org/TR/1999/REC-xpath-19991116'>\n"
+            + "               <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>\n"
+            + "                 not(self::container)     "
+            + "               </ds:XPath>\n"
+            + "           </Transform>\n"
+            + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315' />\n"
+            + "         </Transforms>" + "\n"
+            + "       </Reference>" + "\n"
+            + "     </SignedInfo>" + "\n"
+            + "   </Signature>"
+            + "</Class>" + "\n"
+            ;
+        javax.xml.parsers.DocumentBuilderFactory dbf =
+            javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
+        org.w3c.dom.Document doc =
+            db.parse(new java.io.ByteArrayInputStream(inputStr.getBytes()));
+
+        // catch the ds:Transforms
+        Element nscontext = SampleUtils.createDSctx(doc, "ds", Constants.SignatureSpecNS);
+
+        Element transformsElement = 
+            (Element) XPathAPI.selectSingleNode(doc, "//ds:Transforms", nscontext);
+        Transforms transforms = new Transforms(transformsElement, "memory://");
+        XMLSignatureInput input = new XMLSignatureInput(doc);
+
+        // execute Transforms
+        XMLSignatureInput result = transforms.performTransforms(input);
+
+        // output result
+        System.out.println(new String(result.getBytes()));
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformEnvelopedSignature.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformEnvelopedSignature.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformEnvelopedSignature.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformEnvelopedSignature.java Mon Jan 24 11:31:01 2011
@@ -17,8 +17,6 @@
  */
 package org.apache.xml.security.samples.transforms;
 
-
-
 import org.apache.xml.security.signature.XMLSignatureInput;
 import org.apache.xml.security.samples.SampleUtils;
 import org.apache.xml.security.transforms.Transforms;
@@ -28,7 +26,6 @@ import org.apache.xpath.XPathAPI;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-
 /**
  * This class demonstrates the use of a Transform forEnveloped Signature.
  *
@@ -37,62 +34,62 @@ import org.w3c.dom.Node;
  */
 public class SampleTransformEnvelopedSignature {
 
-   /**
-    * Method main
-    *
-    * @param args
-    * @throws Exception
-    */
-   public static void main(String args[]) throws Exception {
-      //J-
-      String inputStr =
-        "<?xml version=\"1.0\"?>" + "\n"
-      + "<Document xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "   <Data attr='attrValue'>text in Data</Data>" + "\n"
-      + "<Signature Id='SignatureToBeOmitted' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "     <SignedInfo>" + "\n"
-      + "       <Reference>" + "\n"
-      + "         <Transforms>" + "\n"
-      // + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
-      + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature' />" + "\n"
-      + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
-      + "         </Transforms>" + "\n"
-      + "       </Reference>" + "\n"
-      + "     </SignedInfo>" + "\n"
-      + "   </Signature>"
-      + "   <Signature Id='VisibleSignature' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "     <SignedInfo xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "       <Reference xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "         <Transforms xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature' />" + "\n"
-      + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
-      + "         </Transforms>" + "\n"
-      + "       </Reference>" + "\n"
-      + "     </SignedInfo>" + "\n"
-      + "   </Signature>" + "\n"
-      + "</Document>" + "\n"
-      ;
-      //J+
-      javax.xml.parsers.DocumentBuilderFactory dbf =
-         javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
-      org.w3c.dom.Document doc =
-         db.parse(new java.io.ByteArrayInputStream(inputStr.getBytes()));
-      Element nscontext = SampleUtils.createDSctx(doc, "ds", Constants.SignatureSpecNS);
-
-      Element transformsElem = (Element) XPathAPI.selectSingleNode(
-         doc, "//ds:Signature[@Id='SignatureToBeOmitted']//ds:Transforms",
-         nscontext);
-      Transforms transforms = new Transforms(transformsElem, "memory://");
-      XMLSignatureInput input = new XMLSignatureInput((Node) doc);
-
-      // input.setCanonicalizerURI(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
-
-      XMLSignatureInput result = transforms.performTransforms(input);
-
-      System.out.println(new String(result.getBytes()));
-   }
+    /**
+     * Method main
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String args[]) throws Exception {
+        String inputStr =
+            "<?xml version=\"1.0\"?>" + "\n"
+            + "<Document xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "   <Data attr='attrValue'>text in Data</Data>" + "\n"
+            + "<Signature Id='SignatureToBeOmitted' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "     <SignedInfo>" + "\n"
+            + "       <Reference>" + "\n"
+            + "         <Transforms>" + "\n"
+            // + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
+            + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature' />" + "\n"
+            + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
+            + "         </Transforms>" + "\n"
+            + "       </Reference>" + "\n"
+            + "     </SignedInfo>" + "\n"
+            + "   </Signature>"
+            + "   <Signature Id='VisibleSignature' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "     <SignedInfo xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "       <Reference xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "         <Transforms xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature' />" + "\n"
+            + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
+            + "         </Transforms>" + "\n"
+            + "       </Reference>" + "\n"
+            + "     </SignedInfo>" + "\n"
+            + "   </Signature>" + "\n"
+            + "</Document>" + "\n"
+            ;
+        javax.xml.parsers.DocumentBuilderFactory dbf =
+            javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
+        org.w3c.dom.Document doc =
+            db.parse(new java.io.ByteArrayInputStream(inputStr.getBytes()));
+        Element nscontext = SampleUtils.createDSctx(doc, "ds", Constants.SignatureSpecNS);
+
+        Element transformsElem = 
+            (Element) XPathAPI.selectSingleNode(
+                doc, "//ds:Signature[@Id='SignatureToBeOmitted']//ds:Transforms", nscontext
+            );
+        Transforms transforms = new Transforms(transformsElem, "memory://");
+        XMLSignatureInput input = new XMLSignatureInput((Node) doc);
+
+        // input.setCanonicalizerURI(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+
+        XMLSignatureInput result = transforms.performTransforms(input);
+
+        System.out.println(new String(result.getBytes()));
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformNone.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformNone.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformNone.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformNone.java Mon Jan 24 11:31:01 2011
@@ -17,13 +17,10 @@
  */
 package org.apache.xml.security.samples.transforms;
 
-
-
 import org.apache.xml.security.signature.XMLSignatureInput;
 import org.apache.xml.security.transforms.Transform;
 import org.apache.xml.security.transforms.TransformSpi;
 
-
 /**
  * Implements a null transform which leaved the input unmodified.
  *
@@ -31,42 +28,40 @@ import org.apache.xml.security.transform
  */
 public class SampleTransformNone extends TransformSpi {
 
-   /** {@link org.apache.commons.logging} logging facility */
+    /** {@link org.apache.commons.logging} logging facility */
     static org.apache.commons.logging.Log log = 
-        org.apache.commons.logging.LogFactory.getLog(
-                    SampleTransformNone.class.getName());
+        org.apache.commons.logging.LogFactory.getLog(SampleTransformNone.class.getName());
+
+    /** Field implementedTransformURI */
+    public static final String implementedTransformURI =
+        "http://www.xmlsecurity.org/NS/Transforms#none";
+    
+    static {
+        org.apache.xml.security.Init.init();
+    }
+
+    /**
+     * Method engineGetURI
+     *
+     *
+     */
+    protected String engineGetURI() {
+        return SampleTransformNone.implementedTransformURI;
+    }
+
+    public boolean wantsOctetStream ()   { return true; }
+    public boolean wantsNodeSet ()       { return true; }
+    public boolean returnsOctetStream () { return true; }
+    public boolean returnsNodeSet ()     { return true; }
+
+    /**
+     * Method enginePerformTransform
+     *
+     * @param input
+     *
+     */
+    protected XMLSignatureInput enginePerformTransform(XMLSignatureInput input, Transform _transformObject) {
+        return input;
+    }
 
-   /** Field implementedTransformURI */
-   public static final String implementedTransformURI =
-      "http://www.xmlsecurity.org/NS/Transforms#none";
-
-   /**
-    * Method engineGetURI
-    *
-    *
-    */
-   protected String engineGetURI() {
-      return SampleTransformNone.implementedTransformURI;
-   }
-
-   //J-
-   public boolean wantsOctetStream ()   { return true; }
-   public boolean wantsNodeSet ()       { return true; }
-   public boolean returnsOctetStream () { return true; }
-   public boolean returnsNodeSet ()     { return true; }
-   //J+
-
-   /**
-    * Method enginePerformTransform
-    *
-    * @param input
-    *
-    */
-   protected XMLSignatureInput enginePerformTransform(XMLSignatureInput input, Transform _transformObject) {
-      return input;
-   }
-
-   static {
-      org.apache.xml.security.Init.init();
-   }
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath.java Mon Jan 24 11:31:01 2011
@@ -17,12 +17,9 @@
  */
 package org.apache.xml.security.samples.transforms;
 
-
-
 import org.apache.xml.security.signature.XMLSignatureInput;
 import org.apache.xml.security.transforms.Transforms;
 
-
 /**
  * This class demonstrates the use of a Transform for XSLT. The
  * <CODE>xsl:stylesheet</CODE> is directly embedded in the <CODE>ds:Transform</CODE>,
@@ -33,68 +30,67 @@ import org.apache.xml.security.transform
  */
 public class SampleTransformXPath {
 
-   /**
-    * Method main
-    *
-    * @param args
-    * @throws Exception
-    */
-   public static void main(String args[]) throws Exception {
-      //J-
-      String transformStr =
-        "<?xml version='1.0'?>\n"
-      + "<Transforms xmlns='http://www.w3.org/2000/09/xmldsig#'>\n"
-      + "<Transform Algorithm='http://www.w3.org/TR/1999/REC-xpath-19991116'>\n"
-      // + "   <ds:XPath xmlns:match='http://sfdfg/'>(self::match:Order | self::text()[string(parent::e)=\"Hello,  world!\"])</ds:XPath>\n"
-      // + "   <ds:XPath>//@*</ds:XPath>\n"
-      + "   <!-- Exclude all signatures -->\n"
-      // + "   <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>not(ancestor-or-self::ds:Signature)</ds:XPath>\n"
-      + "   <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>self::text()[ancestor-or-self::node()=/Class/e[1]]</ds:XPath>\n"
-      + "</Transform>\n"
-      + "</Transforms>\n"
-      ;
-
-      String inputStr =
-        "<?xml version=\"1.0\"?>" + "\n"
-      + "<Class>" + "\n"
-      + "   <e>Hello, <!-- comment --> world!</e>" + "\n"
-      + "   <Order Name='TINAMIFORMES' xmlns='http://sfdfg/'>" + "\n"
-      + "      <Family Name='TINAMIDAE'>" + "\n"
-      + "         <Species Scientific_Name='Crypturellus boucardi'>Slaty-breasted Tinamou.</Species>" + "\n"
-      + "      </Family>" + "\n"
-      + "   </Order>" + "\n"
-      + "   <Order Name='PODICIPEDIFORMES'/>" + "\n"
-      + "<Signature Id='SignatureToBeOmitted' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
-      + "     <SignedInfo>" + "\n"
-      + "       <Reference>" + "\n"
-      + "         <Transforms>" + "\n"
-      + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature' />" + "\n"
-//       + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
-      + "         </Transforms>" + "\n"
-      + "       </Reference>" + "\n"
-      + "     </SignedInfo>" + "\n"
-      + "   </Signature>"
-      + "</Class>" + "\n"
-      ;
-      //J+
-      javax.xml.parsers.DocumentBuilderFactory dbf =
-         javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
-      org.w3c.dom.Document doc =
-         db.parse(new java.io.ByteArrayInputStream(transformStr.getBytes()));
-
-      String BaseURI = null;
-      Transforms transforms = new Transforms(doc.getDocumentElement(), BaseURI);
-
-      XMLSignatureInput input = new XMLSignatureInput(inputStr.getBytes());
-
-      // input.setCanonicalizerURI(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
-
-      XMLSignatureInput result = transforms.performTransforms(input);
-
-      System.out.println(new String(result.getBytes()));
-   }
+    /**
+     * Method main
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String args[]) throws Exception {
+        String transformStr =
+            "<?xml version='1.0'?>\n"
+            + "<Transforms xmlns='http://www.w3.org/2000/09/xmldsig#'>\n"
+            + "<Transform Algorithm='http://www.w3.org/TR/1999/REC-xpath-19991116'>\n"
+            // + "   <ds:XPath xmlns:match='http://sfdfg/'>(self::match:Order | self::text()[string(parent::e)=\"Hello,  world!\"])</ds:XPath>\n"
+            // + "   <ds:XPath>//@*</ds:XPath>\n"
+            + "   <!-- Exclude all signatures -->\n"
+            // + "   <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>not(ancestor-or-self::ds:Signature)</ds:XPath>\n"
+            + "   <ds:XPath xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>self::text()[ancestor-or-self::node()=/Class/e[1]]</ds:XPath>\n"
+            + "</Transform>\n"
+            + "</Transforms>\n"
+            ;
+
+        String inputStr =
+            "<?xml version=\"1.0\"?>" + "\n"
+            + "<Class>" + "\n"
+            + "   <e>Hello, <!-- comment --> world!</e>" + "\n"
+            + "   <Order Name='TINAMIFORMES' xmlns='http://sfdfg/'>" + "\n"
+            + "      <Family Name='TINAMIDAE'>" + "\n"
+            + "         <Species Scientific_Name='Crypturellus boucardi'>Slaty-breasted Tinamou.</Species>" + "\n"
+            + "      </Family>" + "\n"
+            + "   </Order>" + "\n"
+            + "   <Order Name='PODICIPEDIFORMES'/>" + "\n"
+            + "<Signature Id='SignatureToBeOmitted' xmlns='http://www.w3.org/2000/09/xmldsig#'>" + "\n"
+            + "     <SignedInfo>" + "\n"
+            + "       <Reference>" + "\n"
+            + "         <Transforms>" + "\n"
+            + "           <Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature' />" + "\n"
+            //       + "           <Transform Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' />" + "\n"
+            + "         </Transforms>" + "\n"
+            + "       </Reference>" + "\n"
+            + "     </SignedInfo>" + "\n"
+            + "   </Signature>"
+            + "</Class>" + "\n"
+            ;
+        javax.xml.parsers.DocumentBuilderFactory dbf =
+            javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
+        org.w3c.dom.Document doc =
+            db.parse(new java.io.ByteArrayInputStream(transformStr.getBytes()));
+
+        String BaseURI = null;
+        Transforms transforms = new Transforms(doc.getDocumentElement(), BaseURI);
+
+        XMLSignatureInput input = new XMLSignatureInput(inputStr.getBytes());
+
+        // input.setCanonicalizerURI(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+
+        XMLSignatureInput result = transforms.performTransforms(input);
+
+        System.out.println(new String(result.getBytes()));
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter.java Mon Jan 24 11:31:01 2011
@@ -16,8 +16,6 @@
  */
 package org.apache.xml.security.samples.transforms;
 
-
-
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -36,7 +34,6 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-
 /**
  * Sample for the <I>XML Signature XPath Filter v2.0</I>
  *
@@ -46,173 +43,161 @@ import org.w3c.dom.NodeList;
  */
 public class SampleTransformXPath2Filter {
 
-   /**
-    * Method main
-    *
-    * @param args
-    * @throws Exception
-    */
-   public static void main(String args[]) throws Exception {
-
-      org.apache.xml.security.Init.init();
-
-      boolean verbose = true;
-
-      create("withComments.xml", true, verbose);
-      System.out.println();
-      System.out.println();
-      System.out.println();
-      create("omitComments.xml", false, verbose);
-      System.out.println();
-      System.out.println();
-      System.out.println();
-      check("withComments.xml");
-   }
-
-   /**
-    * Method create
-    *
-    * @param filename
-    * @param withComments
-    * @param verbose
-    * @throws Exception
-    */
-   public static void create(
-           String filename, boolean withComments, boolean verbose)
-              throws Exception {
-
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      DocumentBuilder db = dbf.newDocumentBuilder();
-      //J-
-      String inputDoc =
-"<Document>\n" +
-"     <ToBeSigned>\n" +
-"       <!-- comment -->\n" +
-"       <Data />\n" +
-"       <NotToBeSigned>\n" +
-"         <ReallyToBeSigned>\n" +
-"           <!-- comment -->\n" +
-"           <Data />\n" +
-"         </ReallyToBeSigned>\n" +
-"       </NotToBeSigned>\n" +
-"     </ToBeSigned>\n" +
-"     <ToBeSigned>\n" +
-"       <Data />\n" +
-"       <NotToBeSigned>\n" +
-"         <Data />\n" +
-"       </NotToBeSigned>\n" +
-"     </ToBeSigned>\n" +
-"</Document>";
-      //J+
-      Document doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
-      XMLSignature sig = new XMLSignature(doc, null,
-                                          XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
-
-      doc.getDocumentElement().appendChild(sig.getElement());
-      doc.getDocumentElement().appendChild(doc.createTextNode("\n"));
-
-      Transforms transforms = new Transforms(doc);
-
-      String filters[][] = {{XPath2FilterContainer.INTERSECT, "//ToBeSigned"},
-                            {XPath2FilterContainer.SUBTRACT,  "//NotToBeSigned"},
-                            {XPath2FilterContainer.UNION,     "//ReallyToBeSigned"}};
-      //J-
-
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER, XPath2FilterContainer.newInstances(doc, filters));
-      if (withComments) {
-         transforms.addTransform(Transforms.TRANSFORM_C14N_WITH_COMMENTS);
-      }
-
-      /*
-      XPath2FilterContainer x = XPath2FilterContainer.newInstanceSubtract(doc, "here()/ancestor::ds:Signature[1]");
-      x.setXPathNamespaceContext("ds", Constants.SignatureSpecNS);
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER, x.getElement());
-      */
-      //J+
-      sig.addDocument("#xpointer(/)", transforms);
-
-      String secretKey = "secret";
-
-      sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
-                                  + "\" are used for signing ("
-                                  + secretKey.length() + " octets)");
-      sig.sign(sig.createSecretKey(secretKey.getBytes()));
-
-      Canonicalizer c14n =
-         Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
-      byte[] full = c14n.canonicalizeSubtree(doc);
-      FileOutputStream fos = new FileOutputStream(filename);
-
-      try {
-         fos.write(full);
-      } finally {
-         fos.close();
-      }
-
-      if (verbose) {
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out.println("Input to the transforms is");
-         System.out.println(
+    /**
+     * Method main
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String args[]) throws Exception {
+
+        org.apache.xml.security.Init.init();
+
+        boolean verbose = true;
+
+        create("withComments.xml", true, verbose);
+        System.out.println();
+        System.out.println();
+        System.out.println();
+        create("omitComments.xml", false, verbose);
+        System.out.println();
+        System.out.println();
+        System.out.println();
+        check("withComments.xml");
+    }
+
+    /**
+     * Method create
+     *
+     * @param filename
+     * @param withComments
+     * @param verbose
+     * @throws Exception
+     */
+    public static void create(
+        String filename, boolean withComments, boolean verbose
+    ) throws Exception {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+        String inputDoc =
+            "<Document>\n" +
+            "     <ToBeSigned>\n" +
+            "       <!-- comment -->\n" +
+            "       <Data />\n" +
+            "       <NotToBeSigned>\n" +
+            "         <ReallyToBeSigned>\n" +
+            "           <!-- comment -->\n" +
+            "           <Data />\n" +
+            "         </ReallyToBeSigned>\n" +
+            "       </NotToBeSigned>\n" +
+            "     </ToBeSigned>\n" +
+            "     <ToBeSigned>\n" +
+            "       <Data />\n" +
+            "       <NotToBeSigned>\n" +
+            "         <Data />\n" +
+            "       </NotToBeSigned>\n" +
+            "     </ToBeSigned>\n" +
+            "</Document>";
+        Document doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
+        XMLSignature sig = new XMLSignature(doc, null, XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
+
+        doc.getDocumentElement().appendChild(sig.getElement());
+        doc.getDocumentElement().appendChild(doc.createTextNode("\n"));
+
+        Transforms transforms = new Transforms(doc);
+
+        String filters[][] = {{XPath2FilterContainer.INTERSECT, "//ToBeSigned"},
+                              {XPath2FilterContainer.SUBTRACT,  "//NotToBeSigned"},
+                              {XPath2FilterContainer.UNION,     "//ReallyToBeSigned"}};
+
+        transforms.addTransform(
+            Transforms.TRANSFORM_XPATH2FILTER, XPath2FilterContainer.newInstances(doc, filters)
+        );
+        if (withComments) {
+            transforms.addTransform(Transforms.TRANSFORM_C14N_WITH_COMMENTS);
+        }
+
+        sig.addDocument("#xpointer(/)", transforms);
+
+        String secretKey = "secret";
+
+        sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
+                                    + "\" are used for signing (" + secretKey.length() + " octets)");
+        sig.sign(sig.createSecretKey(secretKey.getBytes()));
+
+        Canonicalizer c14n =
+            Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+        byte[] full = c14n.canonicalizeSubtree(doc);
+        FileOutputStream fos = new FileOutputStream(filename);
+
+        try {
+            fos.write(full);
+        } finally {
+            fos.close();
+        }
+
+        if (verbose) {
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println("Input to the transforms is");
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println(
+                new String(sig.getSignedInfo().item(0).getContentsBeforeTransformation().getBytes())
+            );
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println("The signed octets (output of the transforms) are ");
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println(
+                new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes())
+            );
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println("The document is ");
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println(new String(full));
+            System.out.println(
+                "-------------------------------------------------------------");
+        }
+
+        JavaUtils.writeBytesToFilename(
+            "xfilter2.html", sig.getSignedInfo().item(0).getHTMLRepresentation().getBytes()
+        );
+    }
+
+    /**
+     * Method check
+     *
+     * @param filename
+     * @throws Exception
+     */
+    public static void check(String filename) throws Exception {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+        Document doc = db.parse(new FileInputStream(filename));
+        NodeList sigs = doc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE);
+
+        XMLSignature sig = 
+            new XMLSignature((Element)sigs.item(0), new File(filename).toURI().toURL().toString());
+        boolean check = sig.checkSignatureValue(sig.createSecretKey("secret".getBytes()));
+
+        System.out.println(
             "-------------------------------------------------------------");
-         System.out
-            .println(new String(sig.getSignedInfo().item(0).getContentsBeforeTransformation()
-               .getBytes()));
-         System.out.println(
+        System.out.println("Verification of " + filename + ": " + check);
+        System.out.println(
             "-------------------------------------------------------------");
-         System.out
-            .println("The signed octets (output of the transforms) are ");
-         System.out.println(
+        System.out.println(new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes()));
+        System.out.println(
             "-------------------------------------------------------------");
-         System.out
-            .println(new String(sig.getSignedInfo().item(0)
-               .getTransformsOutput().getBytes()));
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out.println("The document is ");
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out.println(new String(full));
-         System.out.println(
-            "-------------------------------------------------------------");
-      }
-
-      JavaUtils.writeBytesToFilename("xfilter2.html",
-      sig.getSignedInfo().item(0).getHTMLRepresentation().getBytes());
-   }
-
-   /**
-    * Method check
-    *
-    * @param filename
-    * @throws Exception
-    */
-   public static void check(String filename) throws Exception {
-
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      DocumentBuilder db = dbf.newDocumentBuilder();
-      Document doc = db.parse(new FileInputStream(filename));
-      NodeList sigs = doc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE);
-
-      XMLSignature sig = new XMLSignature((Element)sigs.item(0), new File(filename).toURL().toString());
-      boolean check = sig.checkSignatureValue(sig.createSecretKey("secret".getBytes()));
-
-         System.out.println(
-            "-------------------------------------------------------------");
-      System.out.println("Verification of " + filename + ": " + check);
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out
-            .println(new String(sig.getSignedInfo().item(0)
-               .getTransformsOutput().getBytes()));
-         System.out.println(
-            "-------------------------------------------------------------");
-
-   }
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter2.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter2.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter2.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPath2Filter2.java Mon Jan 24 11:31:01 2011
@@ -17,8 +17,6 @@
 
 package org.apache.xml.security.samples.transforms;
 
-
-
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -42,175 +40,163 @@ import org.w3c.dom.NodeList;
  * Sample for the <I>XML Signature XPath Filter v2.0</I>
  *
  * @author $Author$
- * @see <A HREF="http://www.w3.org/TR/xmldsig-filter2/">XPath Filter v2.0 (TR)</
-A>
- * @see <A HREF=http://www.w3.org/Signature/Drafts/xmldsig-xfilter2/">XPath Filt
-er v2.0 (editors copy)</A>
+ * @see <A HREF="http://www.w3.org/TR/xmldsig-filter2/">XPath Filter v2.0 (TR)</A>
+ * @see <A HREF=http://www.w3.org/Signature/Drafts/xmldsig-xfilter2/">
+ * XPath Filter v2.0 (editors copy)</A>
  */
 
-
 public class SampleTransformXPath2Filter2 {
 
-   /**
-    * Method main
-    *
-    * @param args
-    * @throws Exception
-    */
-   public static void main(String args[]) throws Exception {
-
-      org.apache.xml.security.Init.init();
-
-      boolean verbose = true;
-
-      create("withComments.xml", true, verbose);
-      System.out.println();
-      System.out.println();
-      System.out.println();
-      create("omitComments.xml", false, verbose);
-      System.out.println();
-      System.out.println();
-      System.out.println();
-      check("withComments.xml");
-   }
-
-   /**
-    * Method create
-    *
-    * @param filename
-    * @param withComments
-    * @param verbose
-    * @throws Exception
-    */
-   public static void create(
-           String filename, boolean withComments, boolean verbose)
-              throws Exception {
-
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      DocumentBuilder db = dbf.newDocumentBuilder();
-      //J-
-      String inputDoc = "<A><UNSIGNED><B><SIGNED><MORE_SIGNED_STUFF/></SIGNED><C><UNSIGNED/></C></B><D><UNSIGNED/></D><UNSIGNED><E><SIGNED><MORE_SIGNED_STUFF/></SIGNED></E><UNSIGNED><F><G><H/></G></F></UNSIGNED></UNSIGNED></UNSIGNED></A>";
-
-      //J+
-      Document doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
-      XMLSignature sig = new XMLSignature(doc, null,
-                                          XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
-
-      doc.getDocumentElement().appendChild(sig.getElement());
-      sig.getElement().setAttributeNS(Constants.NamespaceSpecNS, "xmlns:" + ElementProxy.getDefaultPrefix(Transforms.TRANSFORM_XPATH2FILTER), Transforms.TRANSFORM_XPATH2FILTER);
-      doc.getDocumentElement().appendChild(doc.createTextNode("\n"));
-
-      Transforms transforms = new Transforms(doc);
-      //J-
-
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-            XPath2FilterContainer.newInstanceIntersect(doc, "//E").getElement());
-
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-            XPath2FilterContainer.newInstanceUnion(doc, "//B").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-         XPath2FilterContainer.newInstanceSubtract(doc, "//C").getElement());
-
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-            XPath2FilterContainer.newInstanceUnion(doc, "//F").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-         XPath2FilterContainer.newInstanceSubtract(doc, "//G").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-            XPath2FilterContainer.newInstanceUnion(doc, "//H").getElement());
-
-
-      /*
-      XPath2FilterContainer x = XPath2FilterContainer.newInstanceSubtract(doc, "here()/ancestor::ds:Signature[1]");
-      x.setXPathNamespaceContext("ds", Constants.SignatureSpecNS);
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER, x.getElement());
-      if (withComments) {
-         transforms.addTransform(Transforms.TRANSFORM_C14N_WITH_COMMENTS);
-      }
-      */
-      //J+
-      sig.addDocument("", transforms);
-
-      String secretKey = "secret";
-
-      sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
-                                  + "\" are used for signing ("
-                                  + secretKey.length() + " octets)");
-      sig.sign(sig.createSecretKey(secretKey.getBytes()));
-
-      Canonicalizer c14n =
-         Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
-      byte[] full = c14n.canonicalizeSubtree(doc);
-      FileOutputStream fos = new FileOutputStream(filename);
-
-      try {
-         fos.write(full);
-      } finally {
-         fos.close();
-      }
-
-      if (verbose) {
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out.println("Input to the transforms is");
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out
-            .println(new String(sig.getSignedInfo().item(0).getContentsBeforeTransformation()
-               .getBytes()));
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out
+    /**
+     * Method main
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String args[]) throws Exception {
+
+        org.apache.xml.security.Init.init();
+
+        boolean verbose = true;
+
+        create("withComments.xml", true, verbose);
+        System.out.println();
+        System.out.println();
+        System.out.println();
+        create("omitComments.xml", false, verbose);
+        System.out.println();
+        System.out.println();
+        System.out.println();
+        check("withComments.xml");
+    }
+
+    /**
+     * Method create
+     *
+     * @param filename
+     * @param withComments
+     * @param verbose
+     * @throws Exception
+     */
+    public static void create(
+        String filename, boolean withComments, boolean verbose
+    ) throws Exception {
+
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+        String inputDoc = "<A><UNSIGNED><B><SIGNED><MORE_SIGNED_STUFF/></SIGNED><C><UNSIGNED/></C></B><D><UNSIGNED/></D><UNSIGNED><E><SIGNED><MORE_SIGNED_STUFF/></SIGNED></E><UNSIGNED><F><G><H/></G></F></UNSIGNED></UNSIGNED></UNSIGNED></A>";
+
+        Document doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
+        XMLSignature sig = new XMLSignature(doc, null, XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
+
+        doc.getDocumentElement().appendChild(sig.getElement());
+        sig.getElement().setAttributeNS(
+            Constants.NamespaceSpecNS, 
+            "xmlns:" + ElementProxy.getDefaultPrefix(Transforms.TRANSFORM_XPATH2FILTER), 
+            Transforms.TRANSFORM_XPATH2FILTER
+        );
+        doc.getDocumentElement().appendChild(doc.createTextNode("\n"));
+
+        Transforms transforms = new Transforms(doc);
+
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceIntersect(doc, "//E").getElement());
+
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceUnion(doc, "//B").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceSubtract(doc, "//C").getElement());
+
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceUnion(doc, "//F").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceSubtract(doc, "//G").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceUnion(doc, "//H").getElement());
+
+        sig.addDocument("", transforms);
+
+        String secretKey = "secret";
+
+        sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
+                                    + "\" are used for signing (" + secretKey.length() + " octets)");
+        sig.sign(sig.createSecretKey(secretKey.getBytes()));
+
+        Canonicalizer c14n =
+            Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+        byte[] full = c14n.canonicalizeSubtree(doc);
+        FileOutputStream fos = new FileOutputStream(filename);
+
+        try {
+            fos.write(full);
+        } finally {
+            fos.close();
+        }
+
+        if (verbose) {
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println("Input to the transforms is");
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println(
+                new String(sig.getSignedInfo().item(0).getContentsBeforeTransformation().getBytes())
+            );
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out
             .println("The signed octets (output of the transforms) are ");
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out
-            .println(new String(sig.getSignedInfo().item(0)
-               .getTransformsOutput().getBytes()));
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out.println("The document is ");
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out.println(new String(full));
-         System.out.println(
-            "-------------------------------------------------------------");
-      }
-   }
-
-   /**
-    * Method check
-    *
-    * @param filename
-    * @throws Exception
-    */
-   public static void check(String filename) throws Exception {
-
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      DocumentBuilder db = dbf.newDocumentBuilder();
-      Document doc = db.parse(new FileInputStream(filename));
-      NodeList sigs = doc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE);
-
-      XMLSignature sig = new XMLSignature((Element)sigs.item(0), new File(filename).toURL().toString());
-      boolean check = sig.checkSignatureValue(sig.createSecretKey("secret".getBytes()));
-
-         System.out.println(
-            "-------------------------------------------------------------");
-      System.out.println("Verification of " + filename + ": " + check);
-         System.out.println(
-            "-------------------------------------------------------------");
-         System.out
-            .println(new String(sig.getSignedInfo().item(0)
-               .getTransformsOutput().getBytes()));
-         System.out.println(
-            "-------------------------------------------------------------");
-
-      JavaUtils.writeBytesToFilename("1.html", sig.getSignedInfo().item(0).getHTMLRepresentation().getBytes());
-
-   }
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println(
+                new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes())
+            );
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println("The document is ");
+            System.out.println(
+                "-------------------------------------------------------------");
+            System.out.println(new String(full));
+            System.out.println(
+                "-------------------------------------------------------------");
+        }
+    }
+
+    /**
+     * Method check
+     *
+     * @param filename
+     * @throws Exception
+     */
+    public static void check(String filename) throws Exception {
+
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+        Document doc = db.parse(new FileInputStream(filename));
+        NodeList sigs = doc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE);
+
+        XMLSignature sig = 
+            new XMLSignature((Element)sigs.item(0), new File(filename).toURI().toURL().toString());
+        boolean check = sig.checkSignatureValue(sig.createSecretKey("secret".getBytes()));
+
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println("Verification of " + filename + ": " + check);
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println(new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes()));
+        System.out.println(
+            "-------------------------------------------------------------");
+
+        JavaUtils.writeBytesToFilename(
+            "1.html", sig.getSignedInfo().item(0).getHTMLRepresentation().getBytes()
+        );
+    }
+    
 }

Modified: santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPathFilterCHGP.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPathFilterCHGP.java?rev=1062736&r1=1062735&r2=1062736&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPathFilterCHGP.java (original)
+++ santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/transforms/SampleTransformXPathFilterCHGP.java Mon Jan 24 11:31:01 2011
@@ -16,8 +16,6 @@
  */
 package org.apache.xml.security.samples.transforms;
 
-
-
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -35,7 +33,6 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-
 /**
  * Sample for the <I>XML Signature XPath Filter v2.0</I>
  *
@@ -45,221 +42,199 @@ import org.w3c.dom.NodeList;
  */
 public class SampleTransformXPathFilterCHGP {
 
-   /**
-    * Method main
-    *
-    * @param args
-    * @throws Exception
-    */
-   public static void main(String args[]) throws Exception {
-
-      org.apache.xml.security.Init.init();
-
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      DocumentBuilder db = dbf.newDocumentBuilder();
-
-      // String inputDoc = "<A><U><B><S><S><S></S><S><S></S><S></S></S><S></S></S><S><S></S></S></S><C><U><U><U><U></U><U><U></U><U></U></U><U></U></U><U><U></U></U></U></U></C></B><D><U></U></D><U><E><S><S><S></S><S><S></S><S></S></S><S></S></S><S><S></S></S></S></E><U><F><G><H/></G></F></U></U></U></A>";
-      // String inputDoc = "<A><U><B><S></S><C><U></U></C></B><D><U></U></D><U><E><S></S></E><U><F><G><H/></G></F></U></U></U></A>";
-      String inputDoc =
-         "<A xmlns:foo=\"http://foo.bar/\">\n<U>\n<U>\n<U>\n<U>\n<U>\n<B foo:attr=\"attr\">\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<C>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</
 U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n</U>\n</U>\n</U>\n</C>\n</B>\n<D>\n<U/>\n</D>\n<U>\n<E>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n</E>\n<U>\n<F>\n<G>\n<H/>\n<G>\n<H/>\n</G>\n</G>\n</F>\n</U>\n</U>\n</U>\n</U>\n</U>\n</U>\n</U>\n</A>\n";
-      Document doc;
-
-      doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
-
-      SampleTransformXPathFilterCHGP.outApache(doc);
-
-      doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
-
-      SampleTransformXPathFilterCHGP.outXFilter2(doc);
-   }
-
-   /**
-    * Method outApache
-    *
-    * @param doc
-    * @throws Exception
-    */
-   static void outApache(Document doc) throws Exception {
-
-      XMLSignature sig = new XMLSignature(doc, null,
-                                          XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
-
-      doc.getDocumentElement().appendChild(sig.getElement());
-
-      Transforms transforms = new Transforms(doc);
-      String includeButSearchStr = "//B | //E | //F | //H";
-      String excludeButSearchStr = "//G";
-
-      // String excludeStr = "//C | //D | //ds:Signature";
-      String excludeStr =
-         "//C | //D | here()/ancestor::ds:Signature[1] | //@x:attr";
-      boolean includeSlashPolicy = XPathFilterCHGPContainer.ExcludeSlash;
-      XPathFilterCHGPContainer xpathContainer =
-         XPathFilterCHGPContainer.getInstance(doc, includeSlashPolicy,
-                                              includeButSearchStr,
-                                              excludeButSearchStr, excludeStr);
-
-      xpathContainer.setXPathNamespaceContext("ds", Constants.SignatureSpecNS);
-      xpathContainer.setXPathNamespaceContext("x", "http://foo.bar/");
-      transforms.addTransform(Transforms.TRANSFORM_XPATHFILTERCHGP,
-                              xpathContainer.getElement());
-      sig.addDocument("", transforms);
-
-      String secretKey = "secret";
-
-      sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
-                                  + "\" are used for signing ("
-                                  + secretKey.length() + " octets)");
-      sig.sign(sig.createSecretKey(secretKey.getBytes()));
-
-      Canonicalizer c14n =
-         Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
-      byte[] full = c14n.canonicalizeSubtree(doc);
-
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println("The signed octets (output of the transforms) are ");
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out
-         .println(new String(sig.getSignedInfo().item(0).getTransformsOutput()
-            .getBytes()));
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println("The document is ");
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println(new String(full));
-      System.out.println(
-         "-------------------------------------------------------------");
-
-      Element sE =
-         (Element) doc.getElementsByTagNameNS(Constants.SignatureSpecNS,
-                                              Constants._TAG_SIGNATURE).item(0);
-      XMLSignature sigVer = new XMLSignature(sE, null);
-      boolean verify =
-         sigVer.checkSignatureValue(sigVer
-            .createSecretKey("secret".getBytes()));
-
-      System.out.println("verify: " + verify);
-   }
-
-   /**
-    * Method outXFilter2
-    *
-    * @param doc
-    * @throws Exception
-    */
-   static void outXFilter2(Document doc) throws Exception {
-
-      XMLSignature sig = new XMLSignature(doc, null,
-                                          XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
-
-      doc.getDocumentElement().appendChild(sig.getElement());
-
-      Transforms transforms = new Transforms(doc);
-
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceIntersect(doc,
-                                 "//E").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceUnion(doc,
-                                 "//B").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceSubtract(doc,
-                                 "//C").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceUnion(doc,
-                                 "//F").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceSubtract(doc,
-                                 "//G").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceUnion(doc,
-                                 "//H").getElement());
-      transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
-                              XPath2FilterContainer.newInstanceSubtract(doc,
-                                 "//@x:attr").getElement());
-      transforms.setXPathNamespaceContext("xmlns:x", "http://foo.bar/");
-      transforms
-         .setXPathNamespaceContext(Transforms
-            .getDefaultPrefix(Transforms.TRANSFORM_XPATH2FILTER), Transforms
-            .TRANSFORM_XPATH2FILTER);
-      sig.addDocument("", transforms);
-
-      String secretKey = "secret";
-
-      sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
-                                  + "\" are used for signing ("
-                                  + secretKey.length() + " octets)");
-      sig.sign(sig.createSecretKey(secretKey.getBytes()));
-
-      Canonicalizer c14n =
-         Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
-      byte[] full = c14n.canonicalizeSubtree(doc);
-
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println("The signed octets (output of the transforms) are ");
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out
-         .println(new String(sig.getSignedInfo().item(0).getTransformsOutput()
-            .getBytes()));
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println("The document is ");
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println(new String(full));
-      System.out.println(
-         "-------------------------------------------------------------");
-
-      Element sE =
-         (Element) doc.getElementsByTagNameNS(Constants.SignatureSpecNS,
-                                              Constants._TAG_SIGNATURE).item(0);
-      XMLSignature sigVer = new XMLSignature(sE, null);
-      boolean verify =
-         sigVer.checkSignatureValue(sigVer
-            .createSecretKey("secret".getBytes()));
-
-      System.out.println("verify: " + verify);
-   }
-
-   /**
-    * Method check
-    *
-    * @param filename
-    * @throws Exception
-    */
-   public static void check(String filename) throws Exception {
-
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-
-      dbf.setNamespaceAware(true);
-
-      DocumentBuilder db = dbf.newDocumentBuilder();
-      Document doc = db.parse(new FileInputStream(filename));
-      NodeList sigs = doc.getElementsByTagNameNS(Constants.SignatureSpecNS,
-                                                 Constants._TAG_SIGNATURE);
-      XMLSignature sig =
-         new XMLSignature((Element) sigs.item(0),
-                          new File(filename).toURL().toString());
-      boolean check =
-         sig.checkSignatureValue(sig.createSecretKey("secret".getBytes()));
-
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out.println("Verification of " + filename + ": " + check);
-      System.out.println(
-         "-------------------------------------------------------------");
-      System.out
-         .println(new String(sig.getSignedInfo().item(0).getTransformsOutput()
-            .getBytes()));
-      System.out.println(
-         "-------------------------------------------------------------");
-   }
+    /**
+     * Method main
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String args[]) throws Exception {
+
+        org.apache.xml.security.Init.init();
+
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+
+        // String inputDoc = "<A><U><B><S><S><S></S><S><S></S><S></S></S><S></S></S><S><S></S></S></S><C><U><U><U><U></U><U><U></U><U></U></U><U></U></U><U><U></U></U></U></U></C></B><D><U></U></D><U><E><S><S><S></S><S><S></S><S></S></S><S></S></S><S><S></S></S></S></E><U><F><G><H/></G></F></U></U></U></A>";
+        // String inputDoc = "<A><U><B><S></S><C><U></U></C></B><D><U></U></D><U><E><S></S></E><U><F><G><H/></G></F></U></U></U></A>";
+        String inputDoc =
+            "<A xmlns:foo=\"http://foo.bar/\">\n<U>\n<U>\n<U>\n<U>\n<U>\n<B foo:attr=\"attr\">\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<C>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n<U>\n<U>\n<U>\n<U/>\n<U>\n<U/>\n<U/>\
 n</U>\n<U/>\n</U>\n<U>\n<U/>\n</U>\n</U>\n</U>\n</U>\n</U>\n</U>\n</C>\n</B>\n<D>\n<U/>\n</D>\n<U>\n<E>\n<S>\n<S>\n<S/>\n<S>\n<S/>\n<S/>\n</S>\n<S/>\n</S>\n<S>\n<S/>\n</S>\n</S>\n</E>\n<U>\n<F>\n<G>\n<H/>\n<G>\n<H/>\n</G>\n</G>\n</F>\n</U>\n</U>\n</U>\n</U>\n</U>\n</U>\n</U>\n</A>\n";
+        Document doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
+
+        SampleTransformXPathFilterCHGP.outApache(doc);
+
+        doc = db.parse(new ByteArrayInputStream(inputDoc.getBytes()));
+
+        SampleTransformXPathFilterCHGP.outXFilter2(doc);
+    }
+
+    /**
+     * Method outApache
+     *
+     * @param doc
+     * @throws Exception
+     */
+    static void outApache(Document doc) throws Exception {
+
+        XMLSignature sig = new XMLSignature(doc, null, XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
+
+        doc.getDocumentElement().appendChild(sig.getElement());
+
+        Transforms transforms = new Transforms(doc);
+        String includeButSearchStr = "//B | //E | //F | //H";
+        String excludeButSearchStr = "//G";
+
+        // String excludeStr = "//C | //D | //ds:Signature";
+        String excludeStr =
+            "//C | //D | here()/ancestor::ds:Signature[1] | //@x:attr";
+        boolean includeSlashPolicy = XPathFilterCHGPContainer.ExcludeSlash;
+        XPathFilterCHGPContainer xpathContainer =
+            XPathFilterCHGPContainer.getInstance(doc, includeSlashPolicy,
+                                                 includeButSearchStr,
+                                                 excludeButSearchStr, excludeStr);
+
+        xpathContainer.setXPathNamespaceContext("ds", Constants.SignatureSpecNS);
+        xpathContainer.setXPathNamespaceContext("x", "http://foo.bar/");
+        transforms.addTransform(Transforms.TRANSFORM_XPATHFILTERCHGP, xpathContainer.getElement());
+        sig.addDocument("", transforms);
+
+        String secretKey = "secret";
+
+        sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
+                                    + "\" are used for signing (" + secretKey.length() + " octets)");
+        sig.sign(sig.createSecretKey(secretKey.getBytes()));
+
+        Canonicalizer c14n =
+            Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+        byte[] full = c14n.canonicalizeSubtree(doc);
+
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println("The signed octets (output of the transforms) are ");
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println(new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes()));
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println("The document is ");
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println(new String(full));
+        System.out.println(
+            "-------------------------------------------------------------");
+
+        Element sE =
+            (Element) doc.getElementsByTagNameNS(Constants.SignatureSpecNS,
+                                                 Constants._TAG_SIGNATURE).item(0);
+        XMLSignature sigVer = new XMLSignature(sE, null);
+        boolean verify =
+            sigVer.checkSignatureValue(sigVer.createSecretKey("secret".getBytes()));
+
+        System.out.println("verify: " + verify);
+    }
+
+    /**
+     * Method outXFilter2
+     *
+     * @param doc
+     * @throws Exception
+     */
+    static void outXFilter2(Document doc) throws Exception {
+
+        XMLSignature sig = new XMLSignature(doc, null, XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
+
+        doc.getDocumentElement().appendChild(sig.getElement());
+
+        Transforms transforms = new Transforms(doc);
+
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceIntersect(doc, "//E").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceUnion(doc, "//B").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceSubtract(doc,  "//C").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceUnion(doc, "//F").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceSubtract(doc, "//G").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceUnion(doc, "//H").getElement());
+        transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
+                                XPath2FilterContainer.newInstanceSubtract(doc, 
+                                                                          "//@x:attr").getElement());
+        transforms.setXPathNamespaceContext("xmlns:x", "http://foo.bar/");
+        transforms.setXPathNamespaceContext(
+            Transforms.getDefaultPrefix(
+                Transforms.TRANSFORM_XPATH2FILTER),
+                Transforms.TRANSFORM_XPATH2FILTER
+            );
+        sig.addDocument("", transforms);
+
+        String secretKey = "secret";
+
+        sig.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey
+                                    + "\" are used for signing (" + secretKey.length() + " octets)");
+        sig.sign(sig.createSecretKey(secretKey.getBytes()));
+
+        Canonicalizer c14n =
+            Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+        byte[] full = c14n.canonicalizeSubtree(doc);
+
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println("The signed octets (output of the transforms) are ");
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println(new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes()));
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println("The document is ");
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println(new String(full));
+        System.out.println(
+            "-------------------------------------------------------------");
+
+        Element sE =
+            (Element) doc.getElementsByTagNameNS(Constants.SignatureSpecNS,
+                                                 Constants._TAG_SIGNATURE).item(0);
+        XMLSignature sigVer = new XMLSignature(sE, null);
+        boolean verify =
+            sigVer.checkSignatureValue(sigVer.createSecretKey("secret".getBytes()));
+
+        System.out.println("verify: " + verify);
+    }
+
+    /**
+     * Method check
+     *
+     * @param filename
+     * @throws Exception
+     */
+    public static void check(String filename) throws Exception {
+
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+        dbf.setNamespaceAware(true);
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+        Document doc = db.parse(new FileInputStream(filename));
+        NodeList sigs = doc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE);
+        XMLSignature sig =
+            new XMLSignature((Element) sigs.item(0), new File(filename).toURI().toURL().toString());
+        boolean check =
+            sig.checkSignatureValue(sig.createSecretKey("secret".getBytes()));
+
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println("Verification of " + filename + ": " + check);
+        System.out.println(
+            "-------------------------------------------------------------");
+        System.out.println(new String(sig.getSignedInfo().item(0).getTransformsOutput().getBytes()));
+        System.out.println(
+            "-------------------------------------------------------------");
+    }
 }