在XML文档中嵌入一些XHTML很容易,就像这样:
<?xml version="1.0"?>
<mannual:product xmlns:mannual="http://product/mannual"
xmlns="http://www.w3.org/1999/xhtml">
...
<mannual:instruction>
<p>Before proceeding,
<strong>make sure you put on your safety goggles</strong>.
Start by unlocking the airlock...
</p>
</mannual:instruction>
....
</mannual:product>
这可以通过导入XHTML的<import>
文件的XML模式xsd
并将元素<mannual:instruction>
定义为类型xhtml.div.type
但是,如果我们希望将XML和HTML混合在一起怎么办?像这样:
<?xml version="1.0"?>
<mannual:product xmlns:mannual="http://product/mannual"
xmlns="http://www.w3.org/1999/xhtml">
...
<mannual:instruction>
<p><mannual:information>Before proceeding,
<strong>make sure you put on your safety goggles</strong>.
</mannual:information>
<mannual:action>
Start by unlocking the airlock...
</mannual:action>
</p>
</mannual:instruction>
....
</mannual:product>
如您所见,在XHTML段中使用了某些XML元素(<information>
和<action>
)。在这种情况下,将instruction
定义为xhtml.div.type
不会通过验证。我们如何定义架构以允许这种灵活性?
答案 0 :(得分:0)
语法需要明确的定义;挥舞着手的关于混合的描述不会减少它。
您的HTML和XML“混合”没有这样明确的定义。要了解这一点,您只需要看示例中的p
元素即可。 HTML并未将p
元素定义为具有manual:information
个子元素。
所以,您可以
xsd:any
允许您希望将HTML和XML混合使用的任何格式正确的标记,并且具有根据实际语法进行验证的功能。