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;