[英]xml - repeating elements - is this valid?
根據在線驗證規則,該XML似乎是有效的,但是我懷疑每個步驟都應該包裝在標簽中以使其唯一。 這違反什么規則?
<tasks>
<step>fix fan</step>
<NoInc>RT260454</NoInc>
<step>fix power supply</step>
<NoInc>RT260456</NoInc>
</tasks>
這樣表達更好嗎?
<tasks>
<task>
<step>fix fan</step>
<NoInc>RT260454</NoInc>
</task>
<task>
<step>fix power supply</step>
<NoInc>RT260456</NoInc>
</task>
</tasks>
將其映射到數組時,我會冒着將第一步覆蓋第二步的風險嗎?
這是有效的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>
如果在step和noinc之間需要一對一的映射,則將它們包裝在另一個標簽中是有意義的。
XML有效且格式正確。 但是,如果元素的順序很重要,則應仔細考慮文檔的設計。 同樣有效的文檔將首先顯示固定電源,然后顯示固定風扇 。 甚至首先是兩個<NoInc>
元素,然后是兩個<Step>
元素。
此外,如果<NoInc>
元素以某種方式依賴於<Step>
元素,則應在設計中顯示此關系,方法是將NoInc文本設置為<Step>
元素的屬性,或者為每對創建一個父元素<Step>
和<NoInc>
元素的集合。
例如:
<Task>
<SubTask>
<step>fix fan</step>
<NoInc>RT260454</NoInc>
</SubTask>
<SubTask>
<step>fix power supply</step>
<NoInc>RT260456</NoInc>
</SubTask>
</Task>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.