2
我試圖在xml中找到2d矩陣的最佳表示形式(使用xsd模式)。我看到很多代表像this或this。不過,我不能選擇最好的選擇。請建議我。也許有任何推薦或標準?2d矩陣的xml表示
我試圖在xml中找到2d矩陣的最佳表示形式(使用xsd模式)。我看到很多代表像this或this。不過,我不能選擇最好的選擇。請建議我。也許有任何推薦或標準?2d矩陣的xml表示
我認爲它強烈地依賴於你需要它的確切目的(例如簡單地選擇xslt中的單元格或列,表示跨度單元格或行的可能性等)。
最常見的(IMO)解決方案描述在您的第一個鏈接(它類似於HTML表格)。以我的觀點來看,用單元格的實際行數定義一些屬性非常有用 - 只是爲了使選擇或引用更簡單,並且能夠跳過某些單元格或行。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="cell_type">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="cellNo" type="xs:int" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="row_type">
<xs:sequence>
<xs:element name="Cell" type="cell_type" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="rowNo" type="xs:int" use="required" />
</xs:complexType>
<xs:element name="Matrix">
<xs:complexType>
<xs:sequence>
<xs:element name="Row" type="row_type" maxOccurs="unbounded">
<xs:unique name="cellNoKey">
<xs:selector xpath="Cell" />
<xs:field xpath="@cellNo" />
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="rowNoKey">
<xs:selector xpath="Row" />
<xs:field xpath="@rowNo" />
</xs:unique>
</xs:element>
</xs:schema>