将应用于 DTD 的规则转换为 XSD

问题描述

我是 XML 的初学者,我希望能够将我的 DTD 规则应用于 XSD。 你能帮助我吗? 提前致谢。

<!ELEMENT PurchaSEOrder (Reference|Actions)*>
        <!ELEMENT Reference (#PCDATA)>
        <!ELEMENT Actions (Action|Reject|Requestor|CostCenter|ShippingInstructions|SpecialInstructions|LineItems)*>
        <!ELEMENT Action (User|Date)*>
        <!ELEMENT User (#PCDATA)>
        <!ELEMENT Date (#PCDATA)>
        <!ELEMENT Reject (Date|Comment|User)*>
        <!ELEMENT Requestor (#PCDATA)>
        <!ELEMENT CostCenter (#PCDATA)>
        <!ELEMENT ShippingInstructions (name|address|telephone)*>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT address (#PCDATA)>
        <!ELEMENT telephone (#PCDATA)>
        <!ELEMENT SpecialInstructions (#PCDATA)>
        <!ELEMENT LineItems (LineItem)*>
        <!ELEMENT LineItem (Description|Part)*>
        <!ATTLIST LineItem
                ItemNumber CDATA #required>
        <!ELEMENT Description (#PCDATA)>
        <!ELEMENT Part (#PCDATA)>
        <!ATTLIST Part
                Id CDATA #required
                Quantity CDATA #required
                UnitPrice CDATA #required>
        <!ELEMENT Comment (#PCDATA)>

解决方法

有很多工具可以做到这一点:例如参见Free DTD to XSD conversion utility?

(该问题已关闭,因为 SO 不接受要求工具推荐的问题:但在它吸引了一些好的答案之前不会。如果您需要工具推荐,您可以通过假装要编写来绕过 SO 规则自己编写代码,然后人们会回答你不需要。)