Usually, any XML-based markup follows this pattern: <tag attribute="Attribute">Text</tag>
However, the ref element confuses attribute and text: <ref>Attribute</ref>. This makes it impossible to know, which sentence or paragraph of the text is addessed by the ref element:
Example 1 (current ref element):
*This is the first sentence. This is the second sentence.<ref>Somewhere</ref>
Obviously, nobody knows in example 1, if the source references the first and the last or only the last sentence.
Example 2 (suggestion):
*This is the first sentence. <ref source="Somewhere">This is the second sentence.</ref>
Here, it is quite obvious, that the source references the second sentence. This is, because this example follows correct XML markup. Everyone knows know, where to find the source for any remark in a text.
This problem has already been discussed in the German Wikipedia and has been deemed to be necessary to fix it: http://de.wikipedia.org/wiki/Wikipedia:Verbesserungsvorschl%C3%A4ge/Feature-Requests#Verbesserung_des_ref-Elements_f.C3.BCr_Quellenangaben