http://git-wip-us.apache.org/repos/asf/camel/blob/a8265a2c/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/SpringXmlSignatureTests.xml
----------------------------------------------------------------------
diff --git 
a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/SpringXmlSignatureTests.xml
 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/SpringXmlSignatureTests.xml
new file mode 100644
index 0000000..bc0a6d1
--- /dev/null
+++ 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/SpringXmlSignatureTests.xml
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="
+       http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd
+    ">
+
+       <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring";>
+               <onException>
+                       
<exception>org.apache.camel.component.xmlsecurity.api.XmlSignatureException
+                       </exception>
+                       <handled>
+                               <constant>false</constant>
+                       </handled>
+                       <to uri="mock:exception" />
+               </onException>
+
+               <!-- START SNIPPET: enveloping XML signature -->
+               <route>
+                       <from uri="direct:enveloping" />
+                       <to 
uri="xmlsecurity:sign://enveloping?keyAccessor=#accessorRsa" />
+                       <to 
uri="xmlsecurity:verify://enveloping?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: enveloping XML signature -->
+
+               <!-- START SNIPPET: enveloping XML signature with plain text -->
+               <route>
+                       <from uri="direct:plaintext" />
+                       <to
+                               
uri="xmlsecurity:sign://plaintext?keyAccessor=#accessorRsa&amp;plainText=true&amp;plainTextEncoding=UTF-8"
 />
+                       <to 
uri="xmlsecurity:verify://plaintext?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: enveloping XML signature with plain text -->
+
+               <!-- START SNIPPET: enveloped XML signature -->
+               <route>
+                       <from uri="direct:enveloped" />
+                       <to
+                               
uri="xmlsecurity:sign://enveloped?keyAccessor=#accessorRsa&amp;parentLocalName=root&amp;parentNamespace=http://test/test";
 />
+                       <to 
uri="xmlsecurity:verify://enveloped?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: enveloped XML signature -->
+
+               <!-- START SNIPPET: canonicalization -->
+               <route>
+                       <from uri="direct:canonicalization" />
+                       <to
+                               
uri="xmlsecurity:sign://canonicalization?keyAccessor=#accessorRsa&amp;canonicalizationMethod=#canonicalizationMethod1"
 />
+                       <to 
uri="xmlsecurity:verify://canonicalization?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: canonicalization -->
+
+               <!-- START SNIPPET: digest and signature algorithm -->
+               <route>
+                       <from uri="direct:signaturedigestalgorithm" />
+                       <to
+                               
uri="xmlsecurity:sign://signaturedigestalgorithm?keyAccessor=#accessorRsa&amp;signatureAlgorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha384&amp;digestAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256";
 />
+                       <to
+                               
uri="xmlsecurity:verify://signaturedigestalgorithm?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: digest and signature algorithm -->
+
+               <!-- START SNIPPET: transforms XPath2 -->
+               <route>
+                       <from uri="direct:transformsXPath2" />
+                       <to
+                               
uri="xmlsecurity:sign://transformsXPath2?keyAccessor=#accessorRsa&amp;transformMethods=#transformsXPath2"
 />
+                       <to 
uri="xmlsecurity:verify://transformsXPath2?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: transforms XPath2 -->
+
+               <!-- START SNIPPET: transforms XSLT, XPath -->
+               <route>
+                       <from uri="direct:transformsXsltXPath" />
+                       <to
+                               
uri="xmlsecurity:sign://transformsXsltXPath?keyAccessor=#accessorRsa&amp;transformMethods=#transformsXsltXPath"
 />
+                       <to
+                               
uri="xmlsecurity:verify://transformsXsltXPath?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: transforms XSLT, XPath -->
+               
+               <!-- START SNIPPET: transforms XSLT, XPath - secure Validation 
disabled -->
+               <route>
+                       <from uri="direct:transformsXsltXPathSecureValDisabled" 
/>
+                       <to
+                               
uri="xmlsecurity:sign://transformsXsltXPathSecureValDisabled?keyAccessor=#accessorRsa&amp;transformMethods=#transformsXsltXPath"
 />
+                       <to
+                               
uri="xmlsecurity:verify://transformsXsltXPathSecureValDisabled?keySelector=#selectorRsa&amp;secureValidation=false"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: transforms XSLT, XPath - secure Validation 
disabled -->
+
+
+               <!-- START SNIPPET: invalid key exception -->
+               <route>
+                       <from uri="direct:signexceptioninvalidkey" />
+                       <to
+                               
uri="xmlsecurity:sign://signexceptioninvalidkey?keyAccessor=#accessorDsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: invalid key exception -->
+
+               <!-- START SNIPPET: sign exceptions -->
+               <route>
+                       <from uri="direct:signexceptions" />
+                       <to
+                               
uri="xmlsecurity:sign://signexceptioninvalidkey?keyAccessor=#accessorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: sign exceptions -->
+
+               <!-- START SNIPPET: noSuchAlgorithmException -->
+               <route>
+                       <from uri="direct:noSuchAlgorithmException" />
+                       <to
+                               
uri="xmlsecurity:sign://noSuchAlgorithmException?keyAccessor=#accessorRsa&amp;signatureAlgorithm=wrongalgorithm&amp;digestAlgorithm=http://www.w3.org/2001/04/xmlenc#sha512";
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: noSuchAlgorithmException -->
+
+               <!-- START SNIPPET: verify exceptions -->
+               <route>
+                       <from uri="direct:verifyexceptions" />
+                       <to 
uri="xmlsecurity:verify://verifyexceptions?keySelector=#selectorDsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: verify exceptions -->
+
+               <!-- START SNIPPET: verifier InvalidHashException -->
+               <route>
+                       <from uri="direct:invalidhash" />
+                       <to
+                               
uri="xmlsecurity:verify://invalidhash?keySelector=#selectorKeyValue&amp;baseUri=#baseUri&amp;secureValidation=false"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: verifier InvalidHashException -->
+
+               <!-- START SNIPPET: cryptoContextProperties -->
+               <route>
+                       <from uri="direct:cryptocontextprops" />
+                       <to
+                               
uri="xmlsecurity:verify://cryptocontextprops?keySelector=#selectorKeyValue&amp;cryptoContextProperties=#cryptoContextProperties"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: cryptoContextProperties -->
+
+               <!-- START SNIPPET: verify InvalidKeyException -->
+               <route>
+                       <from uri="direct:verifyInvalidKeyException" />
+                       <to
+                               
uri="xmlsecurity:verify://verifyInvalidKeyException?keySelector=#selectorRsa" />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: verify InvalidKeyException -->
+
+
+               <!-- START SNIPPET: uridereferencer -->
+               <route>
+                       <from uri="direct:uridereferencer" />
+                       <to
+                               
uri="xmlsecurity:sign://uridereferencer?keyAccessor=#accessorRsa&amp;uriDereferencer=#uriDereferencer"
 />
+                       <to
+                               
uri="xmlsecurity:verify://uridereferencer?keySelector=#selectorRsa&amp;uriDereferencer=#uriDereferencer"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: uridereferencer -->
+
+               <!-- START SNIPPET: keyAccessorKeySelectorDefault -->
+               <route>
+                       <from uri="direct:keyAccessorKeySelectorDefault" />
+                       <to
+                               
uri="xmlsecurity:sign://keyAccessorKeySelectorDefault?keyAccessor=#keyAccessorDefault"
 />
+                       <to
+                               
uri="xmlsecurity:verify://keyAccessorKeySelectorDefault?keySelector=#keySelectorDefault"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: keyAccessorKeySelectorDefault -->
+
+               <!-- START SNIPPET: xmlSignatureChecker -->
+               <route>
+                       <from uri="direct:xmlSignatureChecker" />
+                       <to
+                               
uri="xmlsecurity:verify://keyAccessorKeySelectorDefault?keySelector=#selectorKeyValue&amp;xmlSignatureChecker=#envelopingSignatureChecker"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: xmlSignatureChecker -->
+
+               <!-- START SNIPPET: properties -->
+               <route>
+                       <from uri="direct:props" />
+                       <to
+                               
uri="xmlsecurity:sign://properties?keyAccessor=#accessorRsa&amp;properties=#signatureProperties"
 />
+                       <to
+                               
uri="xmlsecurity:verify://properties?keySelector=#selectorRsa&amp;xmlSignature2Message=#xmlSignature2MessageWithTimestampPropertyy"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: properties -->
+
+               <!-- START SNIPPET: verify output node search element name -->
+               <route>
+                       <from uri="direct:outputnodesearchelementname" />
+                       <to
+                               
uri="xmlsecurity:verify://outputnodesearchelementname?keySelector=#selectorKeyValue&amp;outputNodeSearchType=ElementName&amp;outputNodeSearch={http://test/test}root&amp;removeSignatureElements=true";
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: verify output node search element name -->
+
+               <!-- START SNIPPET: verify output node search xpath -->
+               <route>
+                       <from uri="direct:outputnodesearchxpath" />
+                       <to
+                               
uri="xmlsecurity:verify://outputnodesearchxpath?keySelector=#selectorKeyValue&amp;outputNodeSearchType=XPath&amp;outputNodeSearch=#nodesearchxpath&amp;removeSignatureElements=true"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: verify output node search xpath -->
+
+               <!-- START SNIPPET: validationFailedHandler -->
+               <route>
+                       <from uri="direct:validationFailedHandler" />
+                       <to
+                               
uri="xmlsecurity:verify://validationFailedHandler?keySelector=#selectorKeyValue&amp;validationFailedHandler=validationFailedHandlerIgnoreManifestFailures"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: validationFailedHandler -->
+
+               <!-- START SNIPPET: further parameters -->
+               <route>
+                       <from uri="direct:furtherparams" />
+                       <to
+                               
uri="xmlsecurity:sign://furtherparams?keyAccessor=#accessorRsa&amp;prefixForXmlSignatureNamespace=digsig&amp;disallowDoctypeDecl=false"
 />
+                       <to
+                               
uri="xmlsecurity:verify://furtherparams?keySelector=#selectorRsa&amp;disallowDoctypeDecl=false"
 />
+                       <to uri="mock:result" />
+               </route>
+               <!-- END SNIPPET: further parameters -->
+
+
+       </camelContext>
+
+       <bean id="accessorDsa"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getDsaKeyAccessor" />
+       <bean id="accessorRsa"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getRsaKeyAccessor" />
+       <bean id="selectorDsa"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getDsaKeySelector" />
+       <bean id="selectorRsa"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getRsaKeySelector" />
+
+       <bean id="keyAccessorDefault"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getDefaultKeyAccessor" />
+       <bean id="keySelectorDefault"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getDefaultKeySelector" />
+
+       <bean id="baseUri"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getBaseUri" />
+
+       <bean id="selectorKeyValue"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getKeyValueKeySelector" />
+
+       <bean id="cryptoContextProperties"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getCrytoContextProperties" />
+
+       <bean id="canonicalizationMethod1"
+               
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+               factory-method="getCanonicalizationMethod">
+               <constructor-arg type="java.lang.String"
+                       value="http://www.w3.org/2001/10/xml-exc-c14n#"; />
+       </bean>
+
+       <bean id="transformsXsltXPath"
+               
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+               factory-method="getTransforms">
+               <constructor-arg type="java.util.List">
+                       <list>
+                               <bean
+                                       
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+                                       
factory-method="getCanonicalizationMethod">
+                                       <constructor-arg type="java.lang.String"
+                                               
value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"; />
+                               </bean>
+                               <bean
+                                       
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+                                       factory-method="getXslTransform">
+                                       <constructor-arg type="java.lang.String"
+                                               
value="/org/apache/camel/component/xmlsecurity/xslt_test.xsl" />
+                               </bean>
+                               <bean
+                                       
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+                                       factory-method="getXPathTransform">
+                                       <constructor-arg 
type="java.lang.String" value="//n0:XMLSecurity/n0:Content" />
+                                       <constructor-arg type="java.util.Map">
+                                               <map>
+                                                       <entry key="n0" 
value="https://org.apache/camel/xmlsecurity/test"; />
+                                               </map>
+                                       </constructor-arg>
+                               </bean>
+                               <!-- I removed base 64 transform because the 
JDK provider does not support 
+                                       correctly this transform <bean 
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper" 
+                                       factory-method="getBase64Transform" /> 
-->
+                       </list>
+               </constructor-arg>
+       </bean>
+
+
+       <bean  id="transformsXPath2"
+               
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+               factory-method="getTransforms">
+               <constructor-arg type="java.util.List">
+                       <list>
+                               <bean
+                                       
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+                                       
factory-method="getCanonicalizationMethod">
+                                       <constructor-arg type="java.lang.String"
+                                               
value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"; />
+                               </bean>
+                               <bean
+                                       
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper"
+                                       factory-method="getXPath2Transform">
+                                       <constructor-arg type="java.util.List">
+                                               <list>
+                                                       <bean
+                                                               
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper.XPathAndFilter">
+                                                               <property 
name="xpath" value="//n0:ToBeSigned" />
+                                                               <property 
name="filter" value="intersect" />
+                                                       </bean>
+                                                       <bean
+                                                               
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper.XPathAndFilter">
+                                                               <property 
name="xpath" value="//n0:NotToBeSigned" />
+                                                               <property 
name="filter" value="subtract" />
+                                                       </bean>
+                                                       <bean
+                                                               
class="org.apache.camel.component.xmlsecurity.api.XmlSignatureHelper.XPathAndFilter">
+                                                               <property 
name="xpath" value="//n0:ReallyToBeSigned" />
+                                                               <property 
name="filter" value="union" />
+                                                       </bean>
+                                               </list>
+                                       </constructor-arg>
+                                       <constructor-arg type="java.util.Map">
+                                               <map>
+                                                       <entry key="n0" 
value="http://test/test"; />
+                                               </map>
+                                       </constructor-arg>
+                               </bean>
+                       </list>
+               </constructor-arg>
+       </bean>
+
+       <bean id="uriDereferencer"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getSameDocumentUriDereferencer" />
+
+       <bean id="envelopingSignatureChecker"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getEnvelopingXmlSignatureChecker" />
+
+       <bean id="xmlSignature2MessageWithTimestampPropertyy"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getXmlSignature2MessageWithTimestampdProperty" 
/>
+
+       <bean id="signatureProperties"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getSignatureProperties" />
+
+       <bean id="validationFailedHandlerIgnoreManifestFailures"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               
factory-method="getValidationFailedHandlerIgnoreManifestFailures" />
+
+       <bean id="nodesearchxpath"
+               
class="org.apache.camel.component.xmlsecurity.SpringXmlSignatureTest"
+               factory-method="getNodeSerachXPath" />
+
+</beans>

http://git-wip-us.apache.org/repos/asf/camel/blob/a8265a2c/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/keystore.jks
----------------------------------------------------------------------
diff --git 
a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/keystore.jks
 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/keystore.jks
new file mode 100644
index 0000000..de80bc0
Binary files /dev/null and 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/keystore.jks
 differ

http://git-wip-us.apache.org/repos/asf/camel/blob/a8265a2c/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/testFile.txt
----------------------------------------------------------------------
diff --git 
a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/testFile.txt
 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/testFile.txt
new file mode 100644
index 0000000..3214841
--- /dev/null
+++ 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/testFile.txt
@@ -0,0 +1 @@
+<root>Test Message Tampered</root>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/a8265a2c/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xmldsig-core-schema.dtd
----------------------------------------------------------------------
diff --git 
a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xmldsig-core-schema.dtd
 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xmldsig-core-schema.dtd
new file mode 100644
index 0000000..969dbb1
--- /dev/null
+++ 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xmldsig-core-schema.dtd
@@ -0,0 +1,171 @@
+<!-- DTD for XML Signatures
+    http://www.w3.org/2000/09/xmldsig#
+    Joseph Reagle $last changed 20001215$
+
+    http://www.w3.org/2000/09/xmldsig#
+    $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
+
+    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+    of Technology, Institut National de Recherche en Informatique et en
+    Automatique, Keio University). All Rights Reserved.
+    http://www.w3.org/Consortium/Legal/
+
+    This document is governed by the W3C Software License [1] as described
+    in the FAQ [2].
+
+    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+
+
+<!--
+
+The following entity declarations enable external/flexible content in
+the Signature content model.
+
+#PCDATA emulates schema string; when combined with element types it
+emulates schema's mixed content type.
+
+%foo.ANY permits the user to include their own element types from
+other namespaces, for example:
+ <!ENTITY % KeyValue.ANY '| ecds:ECDSAKeyValue'>
+ ...
+ <!ELEMENT ecds:ECDSAKeyValue (#PCDATA)  >
+
+-->
+
+<!ENTITY % Object.ANY ''>
+<!ENTITY % Method.ANY ''>
+<!ENTITY % Transform.ANY ''>
+<!ENTITY % SignatureProperty.ANY ''>
+<!ENTITY % KeyInfo.ANY ''>
+<!ENTITY % KeyValue.ANY ''>
+<!ENTITY % PGPData.ANY ''>
+<!ENTITY % X509Data.ANY ''>
+<!ENTITY % SPKIData.ANY ''>
+
+
+
+<!-- Start Core Signature declarations, these should NOT be altered -->
+
+<!ELEMENT Signature (SignedInfo, SignatureValue, KeyInfo?, Object*)  >
+<!ATTLIST Signature  
+       xmlns   CDATA   #FIXED 'http://www.w3.org/2000/09/xmldsig#'
+       Id      ID      #IMPLIED >
+
+<!ELEMENT SignatureValue (#PCDATA) >
+<!ATTLIST SignatureValue  
+         Id  ID      #IMPLIED>
+
+<!ELEMENT SignedInfo (CanonicalizationMethod, 
+       SignatureMethod,  Reference+)  >
+<!ATTLIST SignedInfo  
+       Id       ID      #IMPLIED 
+>
+
+<!ELEMENT CanonicalizationMethod (#PCDATA %Method.ANY;)* > 
+<!ATTLIST CanonicalizationMethod 
+       Algorithm CDATA #REQUIRED > 
+
+<!ELEMENT SignatureMethod (#PCDATA|HMACOutputLength %Method.ANY;)* >
+<!ATTLIST SignatureMethod 
+       Algorithm CDATA #REQUIRED > 
+
+<!ELEMENT Reference (Transforms?, DigestMethod, DigestValue)  >
+<!ATTLIST Reference
+       Id      ID      #IMPLIED
+       URI     CDATA   #IMPLIED
+       Type    CDATA   #IMPLIED>
+
+
+<!ELEMENT Transforms (Transform+)>
+
+<!ELEMENT Transform (#PCDATA|XPath %Transform.ANY;)* >
+<!ATTLIST Transform 
+       Algorithm    CDATA    #REQUIRED >
+
+<!ELEMENT XPath (#PCDATA) >
+
+<!ELEMENT DigestMethod (#PCDATA %Method.ANY;)* >
+<!ATTLIST DigestMethod  
+       Algorithm               CDATA   #REQUIRED >
+
+<!ELEMENT DigestValue  (#PCDATA)  >
+
+<!ELEMENT KeyInfo      (#PCDATA|KeyName|KeyValue|RetrievalMethod|
+           X509Data|PGPData|SPKIData|MgmtData %KeyInfo.ANY;)* >
+<!ATTLIST KeyInfo
+       Id      ID       #IMPLIED >
+
+<!-- Key Information -->
+
+<!ELEMENT KeyName (#PCDATA) >
+<!ELEMENT KeyValue (#PCDATA|DSAKeyValue|RSAKeyValue %KeyValue.ANY;)* >
+<!ELEMENT MgmtData (#PCDATA) >
+
+<!ELEMENT RetrievalMethod (Transforms?) >
+<!ATTLIST RetrievalMethod
+  URI  CDATA #REQUIRED 
+  Type CDATA #IMPLIED > 
+
+<!-- X.509 Data -->
+
+<!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName |
+                    X509Certificate | X509CRL )+ %X509Data.ANY;)>
+<!ELEMENT X509IssuerSerial (X509IssuerName, X509SerialNumber) >
+<!ELEMENT X509IssuerName (#PCDATA) >
+<!ELEMENT X509SubjectName (#PCDATA) >
+<!ELEMENT X509SerialNumber (#PCDATA) >
+<!ELEMENT X509SKI (#PCDATA) >
+<!ELEMENT X509Certificate (#PCDATA) >
+<!ELEMENT X509CRL (#PCDATA) >
+
+<!-- PGPData -->
+
+<!ELEMENT PGPData ((PGPKeyID, PGPKeyPacket?) | (PGPKeyPacket) %PGPData.ANY;) >
+<!ELEMENT PGPKeyPacket  (#PCDATA)  >
+<!ELEMENT PGPKeyID  (#PCDATA)  >
+
+<!-- SPKI Data -->
+
+<!ELEMENT SPKIData (SPKISexp %SPKIData.ANY;)  >
+<!ELEMENT SPKISexp  (#PCDATA)  >
+
+<!-- Extensible Content -->
+
+<!ELEMENT Object (#PCDATA|Signature|SignatureProperties|Manifest 
%Object.ANY;)* >
+<!ATTLIST Object  
+       Id      ID      #IMPLIED
+       MimeType        CDATA   #IMPLIED
+       Encoding        CDATA   #IMPLIED >
+
+<!ELEMENT Manifest (Reference+)  >
+<!ATTLIST Manifest  
+       Id      ID      #IMPLIED >
+
+<!ELEMENT SignatureProperties (SignatureProperty+)  >
+<!ATTLIST SignatureProperties  
+       Id      ID       #IMPLIED  >
+
+<!ELEMENT SignatureProperty (#PCDATA %SignatureProperty.ANY;)* >
+<!ATTLIST SignatureProperty  
+       Target  CDATA    #REQUIRED
+       Id      ID       #IMPLIED  >
+
+<!-- Algorithm Parameters -->
+
+<!ELEMENT HMACOutputLength (#PCDATA) >
+
+<!ELEMENT DSAKeyValue ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) >
+<!ELEMENT P (#PCDATA) >
+<!ELEMENT Q (#PCDATA) >
+<!ELEMENT G (#PCDATA) >
+<!ELEMENT Y (#PCDATA) >
+<!ELEMENT J (#PCDATA) >
+<!ELEMENT Seed (#PCDATA) >
+<!ELEMENT PgenCounter (#PCDATA) >
+
+<!ELEMENT RSAKeyValue (Modulus, Exponent) > 
+<!ELEMENT Modulus (#PCDATA) >
+<!ELEMENT Exponent (#PCDATA) >
+

http://git-wip-us.apache.org/repos/asf/camel/blob/a8265a2c/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xslt_test.xsl
----------------------------------------------------------------------
diff --git 
a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xslt_test.xsl
 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xslt_test.xsl
new file mode 100644
index 0000000..6220480
--- /dev/null
+++ 
b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/component/xmlsecurity/xslt_test.xsl
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+       xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+       <xsl:template match="/">
+               <n0:XMLSecurity 
xmlns:n0="https://org.apache/camel/xmlsecurity/test";
+                       xmlns:nn0="http://www.w3.org/2000/09/xmldsig#"; 
xmlns:n1="http://test/test";>
+                       <n0:Content>
+                               <!-- must start with the Object element! -->
+                               <xsl:value-of select="//n1:root/n1:test" />
+                       </n0:Content>
+               </n0:XMLSecurity>
+       </xsl:template>
+</xsl:stylesheet>

Reply via email to