xml - 重复元素 - 这有效吗?

Abe*_*Abe 6 xml

根据在线验证服务,该 XML 似乎是有效的,但我怀疑每个步骤都应该包含在标签中以使其唯一。这违反了什么规则?

<tasks>                                               
       <step>fix fan</step>
       <NoInc>RT260454</NoInc>             

       <step>fix power supply</step>
       <NoInc>RT260456</NoInc>                 
</tasks> 
Run Code Online (Sandbox Code Playgroud)

是不是这样表达比较好?

<tasks>                                               
   <task>
       <step>fix fan</step>
       <NoInc>RT260454</NoInc>             
   </task>
   <task>        
       <step>fix power supply</step>
       <NoInc>RT260456</NoInc>                 
   </task>
</tasks> 
Run Code Online (Sandbox Code Playgroud)

当将其映射到数组时,我是否会冒用第二步覆盖第一步的风险?

Kha*_*dez 2

它是有效的 xml,下面是支持该 xml 的 XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="tasks" type="tasksType"/>
  <xs:complexType name="tasksType">
    <xs:choice maxOccurs="unbounded" minOccurs="0">
      <xs:element type="xs:string" name="step"/>
      <xs:element type="xs:string" name="NoInc"/>
    </xs:choice>
  </xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

如果step和noinc之间需要一对一的映射,那么将它们包装在另一个标签中是有意义的。

  • 谢谢你的澄清。我看到你的观点并同意问题中没有提供模式。暗示存在一个模式,因为发布者声称使用了在线验证服务,如果真正进行验证,则需要一个模式。我在回答中提供了一个示例。 (3认同)