使用DTD和XML创建银行数据库

时间:2013-03-11 16:30:45

标签: xml xml-parsing dtd

我想为以下数据编写一个XML文件(在表格中表示):

Account table:
account-number    balance
   100             1000
   719             9000
   715            -3000
   600              100


Costumers table:
account-number     street    city    id
  100               ...       ...    ...
  719               ...      ...     ...
  715               ...       ...     ...
  715               ...      ....      ...
  600              ...        ...      ...

由于这是我第一次使用XML编写,因此我对DTD文件感到困惑。 这就是我写的:

<!ELEMENT bank (costumer)*>
<!ELEMENT costumer (account, street, city, id)>
<!ELEMENT account (account-number, balance)>
<!ELEMENT account-number (#PCDATA)>
<!ELEMENT balance (#PCDATA)>
<!ATTLIST balance currency CDATA #FIXED "usd">
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT id (#PCDATA)>

这种形式是否真的符合我的意图,或者我是否有任何错误? 你有什么要添加/更改我的代码,所以它最适合描述这些表吗?

1 个答案:

答案 0 :(得分:2)

看起来你已经涵盖了所有内容,但只有你能确定它是否符合你的需求。

只是一些小建议。

  • 使用id的属性而不是元素。这样您就可以确定它是唯一的,如果需要,您可以参考:<!ATTLIST costumer id ID #REQUIRED>。您也可以对帐号进行相同的操作。

  • street元素中换行cityaddress。这将使未来更容易扩展而不会混淆costumer的模型。