我有一個項目,其中加載了一個xsd文檔,並基於該項目爲每個元素創建了一個編輯器。然後實現該模式的xml被加載到編輯器中。這可以是字符串的簡單文本框,日期的日期選擇器或更復雜的數據,如具有關聯的元數據的章節。
編輯器是通用的,所以編輯器是根據模式生成的。對於簡單類型(如字符串和日期),我們可以使用type
屬性。但是對於更復雜的自定義類型,我們需要向xsd文檔添加一個屬性,該屬性定義要使用的編輯器子元素。如何將屬性添加到xml模式元素?
因此我添加了一個名爲UIType
的自定義屬性,但w3模式架構不允許這樣做。 有沒有什麼方法可以擴展w3模式模式,並且不需要創建它的副本並添加我需要的內容,但實際上可以擴展它?或者是否有另一種更聰明的方法呢?
謝謝。
只是爲了說清楚;我不想將該屬性添加到實際的xml數據,而是添加到模式中。
下面是模式的一個例子:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="PublishDate" type="xs:date" />
<xs:element name="Chapters">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Chapter" UIType="ChapterPicker" >
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:int" />
<xs:element name="FileID" type="xs:int" />
<xs:element name="Title" type="xs:string" />
<xs:element name="Artist" type="xs:string" />
<xs:element name="Year" type="xs:int" />
<xs:element name="Timestamp" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我想知道這一點。 – 2010-02-23 14:15:28