У меня есть это dtd: http://fast-code.sourceforge.net/template.dtd Но когда я включаю в xml, я получаю предупреждение: никаких грамматических ограничений (DTD или XML-схема) для документа не обнаружено. XML это:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE templates PUBLIC "//UNKNOWN/" "http://fast-code.sourceforge.net/template.dtd">
<templates>
<template type="INSTANCE_OF_CLASS">
<description>Used to Create instance of class</description>
<variation>asasa</variation>
<variation-field>asasa</variation-field>
<class-pattern>asasa</class-pattern>
<getter-setter>setter</getter-setter>
<allowed-file-extensions>java</allowed-file-extensions>
<number-required-classes>1</number-required-classes>
<allow-multiple-variation>false</allow-multiple-variation>
<template-body>
<![CDATA[
// Creating new instance of ${class_name}
final ${class_name} ${instance} = new ${class_name}();
#foreach ($field in ${fields})
${instance}.${field.setter}(${field.value});
#end
]]>
</template-body>
</template>
</templates>
РЕДАКТИРОВАТЬ : я изменил XML, я получаю эту ошибку сейчас:
Содержимое типа элемента «шаблон» должно совпадать с «(описание, вариант?, Поле вариации?», «Разрешить многократное изменение», шаблон класса?, Метод получения-установки ?, допустимые расширения файла? классы? шаблон тело)».
xml
eclipse
validation
dtd
fastcodejava
источник
источник
Ответы:
В моем случае я решил это досадное предупреждение, просто добавив
<!DOCTYPE xml>
после<?xml ... >
тега.источник
Это сработало для меня в Eclipse 3.7.1: перейдите в окно настроек, затем XML -> XML Files -> Validation. Затем в разделе «Проверка файлов» панели предпочтений справа выберите «Пропустить» в раскрывающемся списке для параметра «Без указания грамматики». Возможно, вам придется закрыть файл, а затем снова открыть его, чтобы предупреждение исчезло.
(Я знаю, что этот вопрос старый, но это был первый вопрос, который я нашел при поиске в предупреждении, поэтому я публикую ответ здесь для других участников поиска.)
источник
Ответ:
Комментарии к каждому фрагменту вашего DTD ниже. Обратитесь к официальной спецификации для получения дополнительной информации.
Простое объяснение:
Очень простой DTD будет выглядеть здесь как вторая строка :
Детальное объяснение:
DTD служат для установления согласованных форматов данных и проверки правильности получения таких данных. Они определяют структуру XML-документа, в том числе:
Например
Значение вышеуказанных строк ...
Строка 1) Корневой элемент, определенный как «nameOfYourRootElement»
Строка 2) Начало определения элемента
Строка 3) Корневой элемент, определенный как «nameOfYourRootElement1» и «nameOfYourRootElement2»
Строка 4) Дочерний элемент, который определяется как данные типа
#PCDATA
строка 5) дочерний элемента, который определен как тип данных ,
#PCDATA
строка 6) Expand экземпляров ,
чтобы , 
когда документ XML анализируется анализаторлиния 7) расширение экземпляров ,
&author;
чтобы ,Your Author Name
когда документ анализируется XML - анализатор ,строка 8) Концом определений
источник
Реальное решение:
добавить
<!DOCTYPE something>
в начало каждого проблемного XML,после тега xml
<?xml version="1.0" encoding="utf-8"?>
Вы можете написать что-нибудь для doctype, но в основном это должно быть манифест, активность и т. д. из того, что я понимаю
источник
Вы пытались добавить схему в каталог XML?
в eclipse, чтобы избежать «никаких грамматических ограничений (схема dtd или xml), обнаруженных для документа». я использую, чтобы добавить файл схемы XSD в каталог XML в
Msgstr "Окно \ предпочтения \ xml \ xml каталог \ указанные пользователем записи".
Нажмите кнопку «Добавить» справа.
Пример:
Из этого xml я сгенерировал и сохранил xsd в: /home/my_user/xsd/my_xsd.xsd
Как местоположение: /home/my_user/xsd/my_xsd.xsd
Как тип ключа: имя пространства имен
В качестве ключа: http://mycompany.com/hr/schemas
Закройте и снова откройте файл XML и внесите некоторые изменения, чтобы нарушить схему, вы должны быть уведомлены
источник
Добавить тег DOCTYPE ...
В таком случае:
Добавить после:
Так:
источник
Новым чистым способом было бы написать ваш xml следующим образом:
Вышеуказанные работы в Eclipse Juno +
источник
Для меня это была проблема с кодировкой символов и файловым режимом Unix запуском Eclipse в Windows:
Просто пометил полный код, вырезал и вставил его обратно (короче: CtrlA-CtrlX-CtrlV ) и все было в порядке - больше не было предупреждений «Нет грамматических ограничений ...»
источник
Попытайтесь понять предложение, данное в предупреждающих сообщениях, это поможет когда-нибудь.
У меня также были те же проблемы, после некоторых исследований я нашел решение и исправил его, добавив строку в начале
которые приводят к некоторой другой проблеме в моем случае. Что я решил, прочитав предложения, которые снова превратились в другую проблему, которая была решена с пониманием первоначальной причины, что первая ссылка была сломана (не найдена). Ниже приведены пошаговые изображения, которые объясняют, что было сделано для полного решения проблемы.
источник
Я не могу точно сказать, почему вы получаете предупреждение «Нет грамматических ограничений ...», но я могу спровоцировать его в Eclipse, полностью удалив объявление DOCTYPE. Когда я помещаю декларацию обратно и снова подтверждаю, я получаю это сообщение об ошибке:
И это правильно, я считаю (элемент "number-required-classes" недопустим).
источник
я знаю, что это старая проблема, но я решил эту проблему и нашел решение в весенней документации, следующая конфигурация xml решила проблему для меня.
прежде чем поставить строку выше, как sugested в этой теме форума, у меня есть то же предупреждение и размещение этого ...
и это дает мне следующее предупреждающее сообщение ...
так что просто попробуйте использовать предложенные строки моей конфигурации xml.
источник
Это может быть связано с отключением проверки в затмении.
источник
Решил эту проблему в Eclipse 3.5.2. Две полностью идентичные схемы, одна из которых имела предупреждение. Закрыл все вкладки и при повторном открытии предупреждение исчезло.
источник
ошибка должна исчезнуть
источник
Я использовал относительный путь в xsi: noNamespaceSchemaLocation для предоставления локального файла xsd (потому что я не мог использовать пространство имен в экземпляре xml).
Проверка работает и предупреждение исправлено (не игнорируется).
https://www.w3schools.com/xml/schema_example.asp
источник
У меня тоже была такая же проблема в eclipse с использованием файла web.xml,
он показал мне это "нет грамматических ограничений, на которые есть ссылки в документе"
но это может быть решено путем добавления тега
после тега XML, т.е.
<?xml version = "1.0" encoding = "UTF-8"?>
источник
Вот рабочее решение этой проблемы:
Шаг 1: Щелкните правой кнопкой мыши на проекте и перейдите в свойства
Шаг 2: Перейдите в «библиотеки» и удалите «Системную библиотеку JRE» проекта
Шаг 3: Нажмите «Добавить библиотеку» -> «Системная библиотека JRE» -> выберите «JRE рабочей области по умолчанию»
Шаг 3: Перейдите к «Заказ и экспорт» и отметьте вновь добавленную «Системную библиотеку JRE».
Шаг 4: Обновить и очистить проект
Эврика! Это работает :)
источник
То, что я нашел решением, было очень простым делом, которое, я думаю, вы должны попробовать, прежде чем возиться с предпочтениями. В моем случае у меня была эта проблема в строковом файле, который имел в качестве базового тега «ресурсы» ... все, что я сделал, это удалил тег сверху и снизу, очистил проект, сохранил файл и заново вставил тег. С тех пор проблема исчезла и никогда не давала мне никаких предупреждений. Это может показаться простым, чтобы быть правдой, но эй, иногда это самые простые вещи, которые решают проблемы. ура
источник
Я удалил предупреждение в окне проблем. Это не вернулось до сих пор.
источник