Using
<xs:attribute name="href" type="xs:anyURI" use="required"/>
<xs:attribute name="title" type="xs:string" use="optional"/>
instead of
<xs:attribute ref="xlink:href" use="required"/>
<xs:attribute ref="xlink:title" use="optional"/>
Is perfectly fine, as you were intending to refer to the cm_lnk.xsd
anyways, it just means that if the cm_lnk.xsd
would ever change you should also change your schema accordingly. But this is just in theory, since the cm_lnk.xsd
schema will never change its definition.
More interesting is that you mention this did work in the 2009 version, which is indicating that the 2011 release doesn't seem to be able to handle your import
<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="cm_lnk.xsd"/>
So as Dominic already mentioned, I would indeed raise a CS ticket for this so it can be looked at. Your workaround is perfectly valid, but it's always good to report defects allowing them to be fixed in a future release.