0
我可以以某種方式在'模板'標記內部允許使用html標記(或不是'my:' - namespaced)嗎?允許XML模式中的非名稱空間標記
<?xml version="1.0"?>
<my:template xmlns:my="http://my.example.com">
<my:aa/>
<my:aa>
<b>stuff</b>
<my:aa/>
</my:aa>
<my:bb/>
</my:template>
現在我的模式是這樣的
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://my.example.com"
xmlns:my="http://my.example.com"
targetNamespace="http://my.example.com"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:complexType name="MyContent">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="aa" type="MyContent"/>
<xs:element name="bb" type="MyContent"/>
</xs:choice>
</xs:complexType>
<xs:element name="template" type="MyContent"/>
</xs:schema>
xmllint顯示了錯誤
kk.xml:7: element b: Schemas validity error : Element 'b': This element is not expected. Expected is one of ({http://my.example.com}aa, {http://my.example.com}bb).
kk.xml fails to validate
嗯,所以我應該把XHTML命名空間,使我的例子工作? – spacevillain
@spacevillain請參閱我的編輯。添加教程供您閱讀 –
嗨Pangea,當涉及到「任何元素或複雜類型」時,您的回答有點過於嚴格;我會用「任何內容」。另外,聲明你嚴格需要import/include是不正確的。您可以在名稱空間中使用通配符來指定特定的元素/屬性,從而允許那些不一定包含這些模式的用戶。 –