SANTUARIO-542 - SignatureProperties incorrectly gets sibling nodes of the parent element, instead of the child elements


git-svn-id: https://svn.apache.org/repos/asf/santuario/xml-security-java/branches/2.1.x-fixes@1877434 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/xml/security/signature/SignatureProperties.java b/src/main/java/org/apache/xml/security/signature/SignatureProperties.java
index 350da75..f2904a0 100644
--- a/src/main/java/org/apache/xml/security/signature/SignatureProperties.java
+++ b/src/main/java/org/apache/xml/security/signature/SignatureProperties.java
@@ -60,10 +60,9 @@
             element.setIdAttributeNode(attr, true);
         }
 
-        int length = getLength();
-        for (int i = 0; i < length; i++) {
-            Element propertyElem =
-                XMLUtils.selectDsNode(getElement(), Constants._TAG_SIGNATUREPROPERTY, i);
+        Element[] propertyElems =
+                XMLUtils.selectDsNodes(getFirstChild(), Constants._TAG_SIGNATUREPROPERTY);
+        for (Element propertyElem : propertyElems) {
             Attr propertyAttr = propertyElem.getAttributeNodeNS(null, "Id");
             if (propertyAttr != null) {
                 propertyElem.setIdAttributeNode(propertyAttr, true);
@@ -78,7 +77,7 @@
      */
     public int getLength() {
         Element[] propertyElems =
-            XMLUtils.selectDsNodes(getElement(), Constants._TAG_SIGNATUREPROPERTY);
+            XMLUtils.selectDsNodes(getFirstChild(), Constants._TAG_SIGNATUREPROPERTY);
 
         return propertyElems.length;
     }
@@ -94,7 +93,7 @@
     public SignatureProperty item(int i) throws XMLSignatureException {
         try {
             Element propertyElem =
-                XMLUtils.selectDsNode(getElement(), Constants._TAG_SIGNATUREPROPERTY, i);
+                XMLUtils.selectDsNode(getFirstChild(), Constants._TAG_SIGNATUREPROPERTY, i);
 
             if (propertyElem == null) {
                 return null;