如果要允許一組特定的XHTML元素itemDescription的孩子,你需要做的就是指定這些都是其子女通過定義一個適當的複雜類型什麼。 (如果您的模式旨在爲XSD,那麼您還需要更正現有元素聲明中的語法錯誤。)從您提到的特定XHTML元素中,我想您還希望允許idemDescription包含字符數據。
itemDescription的聲明,沒有工作會是這個樣子:
<xsd:element name="itemDescription">
<xsd:complexType mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="xhtml:ul"/>
<xsd:element ref="xhtml:b"/>
<xsd:element ref="xhtml:i"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
既然你需要參考在XHTML命名空間中的特定項目,則需要導入,以及。這樣做最簡單的方法是,看起來像這樣的導入:
<xsd:import namespace="http://www.w3.org/1999/xhtml"/>
但在某些時候,你需要將你的XSD驗證直接爲XHTML模式文檔;有些人喜歡做的import語句,而不是在調用的時候,所以他們指定的import語句一個schemaLocation屬性:
<xsd:import namespace="http://www.w3.org/1999/xhtml"
schemaLocation="..."/>
這裏的「...」將需要由一個指針來代替您要使用的XHTML模式。 (建議使用本地副本,因爲W3C makes it excruciatingly slow to retrieve schema documents from their site可以阻止過多的DTD和架構流量。)
由於您說您是XML新手,因此可能有一個完整的架構文檔,其中包含所有內容一個地方。同樣,如果你想在實踐中使用這個,請記住用一個URI替換schemaLocation值。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:import namespace="http://www.w3.org/1999/xhtml"
schemaLocation="..."/>
<xsd:element name="itemDescription">
<xsd:complexType mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="xhtml:ul"/>
<xsd:element ref="xhtml:b"/>
<xsd:element ref="xhtml:i"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
定義「支持」。如何檢查該支持在哪一點?你有編輯器在編輯它嗎?您需要驗證它的導入過程? – 2013-02-19 14:40:50
我不知道 - 但應該只限於使用html標記的一部分(描述的那些) – Diemauerdk 2013-02-19 14:51:32