spring-beans.xsd does not define "local". Why?
eclipse, java, spring, xml
Solution
You should try to use `<ref bean="someBean"/>` instead.
Problem
Almost every spring project uses spring-beans.xsd (refers to it to be more precise). However, if you look at the file, http://www.springframework.org/schema/beans/spring-beans.xsd, you'll see that it is version 3.2 and doesn't have a definition for the attribute "local". What's even more interesting, is that http://www.springframework.org/schema/beans/spring-beans-3.2.xsd does actually define "local". Also since the file is pulled out of the jar (org/springframework/beans/factory/xml/spring-beans-3.2.xsd) due to spring.schema, I don't think any project will have compile or runtime issues. Eclipse's xml validator on the other hand, I think, uses only the internet link and shows an xml error, more specifically : "cvc-complex-type.3.2.2: Attribute 'local' is not allowed to appear in element 'ref'" Is this is a bug? Edit: As per request, this is my spring header: ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:batch="http://www.springframework.org/schema/batch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd"> ``` Edit 2: here is where I'm using local ``` <bean id="bar" class="org.springframework.batch.item.support.CompositeItemWriter"> <property name="delegates"> <list> <ref local="foo" /> </list> </property> </bean> <bean id="foo" class="java.lang.String" /> ```