2013-04-21 61 views
0

我想为XML文档创建文档类型定义。如何定义一个只在父元素内首先出现的子元素?

我有以下形式的XML文档:

<parent> 
    <first>Some PCDATA</first> 
    <a>The elements aye...</a> 
    <c>see</c> 
    <b>and bee</b> 
    <c>can occur in random order</c> 
    <a>and with a random frequency</a> 
    <last>Some PCDATA</last> 
</parent> 

我只想元素第一是第一个元素(且仅发生一次),元素最后是最后一个孩子元素(并且仅出现一次)和元素a,bc零次或多次以混合顺序发生。

我可以做到吗?如果是,如何?如果没有,可能会有什么解决办法来解决这个问题?

回答

1

这应该工作:

<!DOCTYPE parent [ 
    <!ELEMENT parent (first, (a|b|c)*, last) > 
    <!ELEMENT first #PCDATA > 
    <!ELEMENT a ANY > 
    <!ELEMENT b ANY > 
    <!ELEMENT c ANY > 
    <!ELEMENT last #PCDATA > 
]> 
相关问题