1

スキーマが添付された XML があります。要素が添付されたスキーマで定義された複合型であるかどうかを識別する方法はありますか?

元:

スキーマ

<element name="Cosmin" type="CosminType" />
<element name="Cosmin2" type="CosminType" />

XML

<parent>
    <cosmin>bla</cosmin>
</parent>

XPathタイプ のすべての要素を識別できるを作成したいと考えてCosminTypeCosminますCosmin2

次のようなものがあるかどうか疑問に思っていました:

//parent/*[@type="CosminType"]

試し@xsi:typeてみましたが、うまくいきません。何も機能しない場合は、内部で一意のものを見つけてCosminTypeを取得しようとします。parentこれは、私の場合は と にCosminなりCosmin2ます。しかし、これはきれいな解決策ではありません。

4

1 に答える 1

0

最初に要素名が必要です。これは、添付された XSD で検索する必要があるためです。

/parent/cosmin/name()

これは、次のような、添付された XSD での検索に使用する必要があります。

document('attached xsd')//element[@name=/parent/cosmin/name()]/@type

お役に立てれば

于 2013-09-17T09:29:30.943 に答える