основной вопрос с dtd - PullRequest
       15

основной вопрос с dtd

0 голосов
/ 04 января 2011

мне нужен элемент с характеристиками

<!ELEMENT section ((comment*)|definition|(comment*))>

но это неоднозначно, я получаю следующее сообщение в visual studio

Множественное определение элемента 'comment' приводит к тому, что модель контента становится неоднозначной. Модель содержимого должна быть сформирована таким образом, чтобы во время проверки последовательности элементов информации об элементе, частица, содержащаяся прямо, косвенно или неявно в ней, с помощью которой можно попытаться проверить каждый элемент в последовательности, в свою очередь, может быть однозначно определена без изучения содержимого или атрибутов этот элемент, и без какой-либо информации об элементах в оставшейся части последовательности.

Так как я могу правильно написать это? правильная структура - это одно определение, окруженное возможными элементами комментариев.

1 Ответ

0 голосов
/ 04 января 2011

Если я правильно понимаю, вы пытаетесь получить ноль или более элементов комментария, за которыми следует элемент определения, за которым следует ноль или более комментариев.

Модель, которая у вас сейчас есть, неоднозначна, поскольку в ней указывается ноль или более комментариев ИЛИ определение, ИЛИ ноль или более комментариев.Требуемое изменение довольно простое (если я понимаю):

<!ELEMENT section (comment*, definition, comment*) >

По сути, символ | означает альтернативы, а , означает последовательность.

...