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 中看到多个元素。其背后的一个典型原因是该工具在不同级别捕获用户信息,并且在生成模式组件及其注释时发生合并的不同原因。然后,至少对于工具实施者来说,使用不同的标记来保持内容的分离是有意义的。

另一个原因可能是相同的 XSD 用于为不同的外形尺寸生成 UI,因此在使用注释时,相关文档的不同属性有助于区分使用哪个。

xs:documentation元素可以包含任意 XML,而不仅仅是文本。这意味着通常在xs:documentation节点内使用一些标记呈现文档的格式 - 例如<p>...</p>用于标记段落。

[根据评论中Petru Gardea提供的信息更新/改进答案]

于 2013-04-30T18:08:38.523 回答