2016-03-28 6 views
0

以下のスキーマが異なるのはなぜですか?彼らは、そのいずれかで異なっている必要が...XSD Keyrefフィールドは、要素名の代わりに "。"でのみ使用できますか?

<!-- This works --> 
<xsd:keyref name="followsKey" refer="userKey"> 
    <xsd:selector xpath="user/follows" /> 
    <xsd:field xpath="." /> 
</xsd:keyref> 

<!-- This doesn't --> 
<xsd:keyref name="followsKey" refer="userKey"> 
    <xsd:selector xpath="user" /> 
    <xsd:field xpath="@follows" /> 
</xsd:keyref> 

答えて

2

は、「次の」という名前の要素を参照する場合、他のはという名前の属性を参照私は単純なkeyrefを作成しようとしている、と私はより多くのコンテキストを提供することができます"続ける"。

秒1が<xsd:field xpath="follows"/>書かれていた場合は、最初はuserが複数follows子供を持つことを可能にするのに対し、user要素は、それぞれが、単一follows要素の子を持っている場合にのみ動作するということで、それは最初に異なるでしょうキーリファレンスとして機能します。

+0

私はまた、 '' following''をatシンボルなしで使ってみましたが、残念ながら複数の '' following''子があります。説明ありがとう! – Adam

関連する問題