Xsd XML模式:xs:annotation中的多个相邻xs:documentation元素

Xsd XML模式:xs:annotation中的多个相邻xs:documentation元素,xsd,Xsd,我正在查看一个XMLSchema*.xsd文件,看到如下表单: <xs:element name="shortName" type="vr:ShortName" minOccurs="0"> <xs:annotation> <xs:documentation> blah blah blah ... </xs:documentation>

我正在查看一个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元素有何不同。一个工具可能会将不同的文档元素呈现为单独的段落,但这种将表示逻辑与逻辑结构混合的做法是否不可取?

在同一个
xs:annotation
中包含多个
xs:documentation
元素是有效的。当有多种语言的文档时,使用多种元素是有意义的:

 <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>

这是英文的文件。。。
用意大利语写的文档。。。
您还可以在工具自动生成的XSD中看到多个
xs:documentation
元素。它背后的一个典型原因是,该工具捕获不同级别的用户信息,并出于不同的原因,这些信息在生成模式组件及其注释时恰好合并在一起。然后,至少对于工具实现者来说,使用不同的标记保持内容的分离是有意义的

另一个原因可能是,相同的XSD用于为不同的表单因素生成UI,所以当使用注释时,与文档相关的不同属性有助于区分要使用哪一个

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

来标记段落


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

@PetruGardea:我写的“…一些标记…”对我来说似乎很普通me@PetruGardea字体你为什么不在这里写一个答案来解释这些事情呢?也许可以举一些例子?根据我的经验,我很乐意对它进行升级,这通常是由工具自动生成XSD时所看到的。它背后的一个典型原因是,该工具捕获不同级别的用户信息,并出于不同的原因,这些信息在生成模式组件及其注释时恰好合并在一起。然后,至少对于工具实现者来说,使用不同的标记保持内容的分离是有意义的。另一个原因可能是,相同的XSD用于为不同的形状因子生成UI,因此,当使用注释时,与
文档相关联的不同属性有助于区分…(续)要使用哪一个。从你的例子(似乎重复了相同的文本)很难推测你所看到的意图是什么。。。现在,这也是事实,仅仅因为有很好的理由,并不意味着它们适用于你的具体情况。