2013-06-08 5 views
1

Я хочу создать DTD-файл, который проверяет, является ли файл XML представляет собой бинарное дерево, которое в нем каждый узел имеет не более 2-х сыновей и каждый узел должен иметь указатель на Childern, если они выходитсоздания DTD для бинарного дерева

Как я могу реализовать это в XML?

заранее спасибо

+0

любое тело, пожалуйста! – flashdisk

ответ

3

Есть много способов, чтобы написать бинарные деревья в XML. Вот один; он предполагает, что значение в каждом узле переносится в атрибут с именем «значение».

<!ELEMENT node (node, node?) > 
<!ATTLIST node value CDATA #REQUIRED > 

Также можно потребовать, чтобы узел либо двое детей или ни (Википедия говорит, что это называется полное бинарное дерево):

<!ELEMENT node (node, node)? > 

Первый DTD, но не второй будет принимать XML представление простого двоичного дерева (из статьи Википедии о бинарных деревьев):

<node value="2"> 
    <node value="7"> 
    <node value="2"/> 
    <node value="6"> 
     <node value="5"/> 
     <node value="11"/> 
    </node> 
    <node value="5"> 
    <node value="9"> 
     <node value="4"/> 
    </node> 
    </node> 
</node> 

[о, да, еще одна вещь. У вас гораздо больше шансов получить ответы на вопросы о переполнении стека, если вы покажете, что вы пробовали, в форме, которая позволяет другим воспроизвести проблему (это, конечно, сложно, если вы не знаете, с чего начать). Не показывая свою работу, создается впечатление, что вы ее не сделали, и просто хотите, чтобы другие делали вашу работу за вас. Существует хороший совет по заданию эффективных вопросов в SO help files и в статье Эрика Раймонда и Рика Моэна How to ask questions the smart way.]

 Смежные вопросы

  • Нет связанных вопросов^_^