1

サンプル スキーマ:

<xs:complexType name="ClassTest">
    <xs:element name="Name" type="xs:string" />
 <xs:element name="Class" type="xs:string" />
 <xs:any namespace="##other" processContents="lax"maxOccurs="Unbound" />

サンプル XML:

<ClassTestxmlns="http://schooltest.com">
 <Name>AAA</Name>
 <Class>3</Class>
 <ns:maths>33</ns:maths>
 <ps:english>44<ps:english>
</ClassTest>

名前空間が異なる要素 math と english をターゲット名前空間に参照するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

あなたの質問は XSLT 2.0 としてタグ付けされているため、任意の名前空間でそれぞれローカル名を持つ要素を選択するワイルドカード (*:mathsおよび など) の使用を検討することもできます。*:englishmathsenglish

于 2012-07-28T09:55:05.677 に答える
0

名前空間が異なる要素 math と english をターゲット名前空間に参照するにはどうすればよいですか。

そのような要素の名前空間と名前については事前に何もわかっていないため、特定の名前または名前空間を使用せずにそれらを選択することのみが安全です:

/x:ClassTest/*[not(self::x:Name or self::x:Class)]

プレフィックス"x:"を名前空間にバインドする必要がある場所"http://schooltest.com"

この式は、最上位の要素の子でありx:ClassTest、要素x:Nameまたは要素のいずれでもない任意の要素を選択しますx:Class。提供された XML ドキュメントに適用するns:mathsと、要素とps:english要素の両方が選択されます。

于 2012-07-28T02:04:59.743 に答える