2

XMLSchema *.xsdファイルを見ていると、次のようなフォームが表示されます。

     <xs:element name="shortName" type="vr:ShortName" minOccurs="0">
        <xs:annotation>
           <xs:documentation>
             blah blah blah ...
           </xs:documentation>
           <xs:documentation>
              blah blah blah ...
           </xs:documentation>
           <xs:documentation>
              blah blah blah ...
           </xs:documentation>
        </xs:annotation>
     </xs:element>

つまり、 xs:annotation要素内の隣接するxs:documentation要素です。

そのようなフォームにどのような意味があるのか​​、単一のxs:documentation要素とどのように違うのか、私にはわかりません。おそらく、ツールはさまざまなドキュメント要素を別々の段落としてレンダリングするかもしれませんが、そのようなプレゼンテーションロジックを論理構造と混ぜ合わせるのはお勧めできませんか?

4

1 に答える 1

3

xs:documentation同じ 内に複数の要素を持つことは有効ですxs:annotation。複数の言語のドキュメントがある場合、複数の要素を使用することは理にかなっています。

 <xs:element name="shortName" type="vr:ShortName" minOccurs="0">
    <xs:annotation>
       <xs:documentation xml:lang="en">
         This is the documentatin in English ...
       </xs:documentation>
       <xs:documentation xml:lang="it">
          Questa e' la documentazione in italiano ...
       </xs:documentation>
    </xs:annotation>
 </xs:element>

xs:documentationまた、ツールによって自動的に生成された XSD に複数の要素が表示されることもあります。その背後にある典型的な理由は、ツールがさまざまなレベルでユーザー情報をキャプチャし、さまざまな理由で、スキーマ コンポーネントとその注釈を生成するときに結合することです。したがって、少なくともツールの実装者にとっては、異なるマークアップを使用してコンテンツの分離を維持することは理にかなっています。

もう 1 つの理由として、同じ XSD を使用してさまざまなフォーム ファクターの UI を生成することが考えられます。そのため、アノテーションを使用すると、ドキュメントに関連付けられたさまざまな属性が、どちらを使用するかを区別するのに役立ちます。

xs:documentation要素には、テキストだけでなく、任意の XML を含めることができます。これらは、通常、ドキュメンテーションのフォーマットがxs:documentationノード内のマークアップでレンダリングされることを意味します。たとえば、<p>...</p>段落をマークするために使用します。

[コメントでPetru Gardeaから提供された情報に基づいて、回答が更新/改善されました]

于 2013-04-30T18:08:38.523 に答える