From ce0110bb2894041178d8e01d96c1092c2e934045 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Thu, 28 Jul 2011 02:21:22 +0000 Subject: [PATCH] Respect within per beans XSD Prior to this change, a parsing exception would be thrown if a element was placed within a element. The beans XSD has always permitted this arrangement, but BeanDefinitionParserDelegate did not respect it. The latter now simply ignores any element, rather than failing. Issue: SPR-8563 git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4811 50f2f4bb-b051-0410-bef5-90022cba6387 --- .../factory/xml/BeanDefinitionParserDelegate.java | 5 ++++- .../beans/factory/xml/collections.xml | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/org.springframework.beans/src/main/java/org/springframework/beans/factory/xml/BeanDefinitionParserDelegate.java b/org.springframework.beans/src/main/java/org/springframework/beans/factory/xml/BeanDefinitionParserDelegate.java index 17ba6b8487f..566dc0ed7e0 100644 --- a/org.springframework.beans/src/main/java/org/springframework/beans/factory/xml/BeanDefinitionParserDelegate.java +++ b/org.springframework.beans/src/main/java/org/springframework/beans/factory/xml/BeanDefinitionParserDelegate.java @@ -1255,7 +1255,10 @@ public class BeanDefinitionParserDelegate { } else { // Child element is what we're looking for. - if (valueEle != null) { + if (nodeNameEquals(candidateEle, DESCRIPTION_ELEMENT)) { + // the element is a -> ignore it + } + else if (valueEle != null) { error(" element must not contain more than one value sub-element", entryEle); } else { diff --git a/org.springframework.beans/src/test/resources/org/springframework/beans/factory/xml/collections.xml b/org.springframework.beans/src/test/resources/org/springframework/beans/factory/xml/collections.xml index 33d2f20698b..9d772d3fd54 100644 --- a/org.springframework.beans/src/test/resources/org/springframework/beans/factory/xml/collections.xml +++ b/org.springframework.beans/src/test/resources/org/springframework/beans/factory/xml/collections.xml @@ -155,6 +155,18 @@ + + + + + + A map entry with a description + v1 + + + + +