1

次のような要素を含む XSD ファイルに取り組んでいます。

<xs:element name="group">
    <xs:complexType>
      <xs:attribute name="role" type="xs:string"/>
      <xs:attribute ref="xlink:role"/>
    </xs:complexType>
</xs:element>

xlink 名前空間で「role」属性のタイプが定義されていない場合。このスキーマを持つ XML はどのようになりますか? XML でどの属性「ロール」が意味されているかを知るにはどうすればよいですか? このような属性を同じ名前で作成する目的は何ですか?

4

1 に答える 1

0

XML は次のようになります。

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) -->
<group xmlns:xlink="http://www.w3.org/1999/xlink" role="role1" xlink:role="http://uri1"/>

XSD でわかるように、名前は修飾されています。あなたの場合、または少なくとも私が使用したテストXSDの場合、属性も修飾されるかどうかにかかわらず可能性があります。したがって、{ http://www.w3.org/1999/xlink }の役割は資格があるため、{ } の役割とは異なります。

目的については... なぜ同音異義語があるのですか? シノニムを使用することで、特に XML 名前空間などを好まない人々を扱う場合に、コントラクトの品質が向上する可能性があると確信しています...特定のケースについてはコメントしません。役割は確かに支払うべき小さな代償であり、それが作成した混乱と、XSD がキャプチャ/適用しようとしている可能性のあるビジネス語彙にどれだけ夢中になっているかについて言えば.

于 2013-10-31T14:55:57.273 に答える