как создать dtd для этого xml? - PullRequest
3 голосов
/ 25 марта 2011

меня попросили создать простой dtd для этого xml:

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

Я использую Java, я никогда не делал dtd раньше, и я точно не знаю, что это значит.Я хотел бы получить руководство, если это возможно, спасибо

Ответы [ 3 ]

1 голос
/ 25 марта 2011

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, мы объявили, что оно должно содержать текст (проанализированные символьные данные).

0 голосов
/ 25 марта 2011

Есть несколько генераторов DTD. Быстрый поиск дает это . Тем не менее, не использовал его.

0 голосов
/ 25 марта 2011

XMLBeans поставляется с инструментом под названием inst2xsd, который может проверять файл XML и создавать для него XSD, который затем можно редактировать / уточнять. Я использовал его с довольно хорошими результатами.

Просто прочитайте руководство по установке для XMLBeans , и при установке XMLBeans у вас также будет установлен инструмент inst2xsd.

edit - только что понял, что вы хотите DTD, а не XSD, оставив это здесь на тот случай, если XSD (который очень похож по своему назначению) действительно может решить вашу проблему в любом случае

...