Uhhh...okay, so I hit enter to format the node slightly differently (all attributes on a new line), rebuilt and the error cleared. I had cleaned and rebuilt before this to no avail. But this time, bam, problem gone?
So if it works at runtime, then it works regardless of what Eclipse tells you.
If you have the Spring plugins, then when you are editing the xml file, at the bottom just below the file are tabs. There is one for namespaces. You can always go into that tab, it will give you checkboxes for Spring namespaces and you can uncheck the ones you have already, then recheck them and the Spring plugin will format the header part of your config file. That sometimes removes the Eclipse false errors.
I find that sometimes it just doesn't like the carriage returns in the schemaLocation prop.