簡體   English   中英

如何為這個xml創建一個dtd?

[英]how to create a dtd for this xml?

我被要求為這個xml創建一個簡單的dtd:

<?xml version='1.0' encoding='ISO-8859-1'?>
<QUERY>
  <PORT>
    <NB></NB>
  </PORT>
  <BLOCK>
    <TAB></TAB>
  </BLOCK>
  <STAND>
    <LEVEL></LEVEL>
  </STAND>
</QUERY>

我正在使用java,我以前從未做過dtd,也不知道它究竟是什么意思。 如果可能的話我想要一些指導,謝謝

DTD是文檔類型定義,用於表示XML文檔的結構。 其他表示包括XML Schema,Relax NG等:

它看起來像下面這樣(雖然我的語法可能不太正確):

<!ELEMENT QUERY (PORT, BLOCK, STAND)>
<!ELEMENT PORT (NB)>
<!ELEMENT NB (#PCDATA)>
<!ELEMENT BLOCK (TAB)>
<!ELEMENT TAB (#PCDATA)>
<!ELEMENT STAND (LEVEL)>
<!ELEMENT LEVEL (#PCDATA)>

如果查看QUERY的定義,您會看到它定義了它包含的元素:“PORT”,“BLOCK”和“STAND”。 如果你看一下NB的定義,我們已經聲明它應該包含文本(解析后的字符數據)。

XMLBeans附帶了一個名為inst2xsd的工具,它可以檢查XML文件並為其創建一個XSD,然后您可以編輯/優化它。 我使用它的效果非常好。

只需閱讀XMLBeans安裝指南 ,當您安裝XMLBeans時,您也將安裝inst2xsd工具。

編輯 - 剛剛意識到你想要一個DTD而不是一個XSD,留下這個以防萬一XSD(目的非常相似)實際上可以解決你的問題

那里有一些DTD發生器。 快速搜索產生了這個 但是沒有用過它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM