Вопрос

Мне трудно понять, как решить эту проблему.У меня есть файл с именем:«urlrewrite.xml», который был автоматически сгенерирован Spring ROO после запуска команды «контроллер» в ROO Shell.

Тем не менее, я все еще получаю следующую ошибку:

"Referenced file contains errors (http://tuckey.org/res/dtds/urlrewrite3.0.dtd). For more information, right click on the message in the Problems View and select "Show Details..."

Вот содержимое файла urlrewrite.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN" "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">

<urlrewrite default-match-type="wildcard">
    <rule>
        <from>/resources/**</from>
        <to last="true">/resources/$1</to>
    </rule>
    <rule>
        <from>/static/WEB-INF/**</from>
        <set type="status">403</set>
        <to last="true">/static/WEB-INF/$1</to>
    </rule>
    <rule>
        <from>/static/**</from>
        <to last="true">/$1</to>
    </rule>
    <rule>
        <from>/</from>
        <to last="true">/app/index</to>     
    </rule>
    <rule>
        <from>/app/**</from>
        <to last="true">/app/$1</to>
    </rule>
    <rule>
        <from>/**</from>
        <to>/app/$1</to>
    </rule>
    <outbound-rule>
        <from>/app/**</from>
        <to>/$1</to>
    </outbound-rule>    
</urlrewrite>

Есть мысли как избавиться от этой ошибки?

Это было полезно?

Решение

Просто изменить 3,0 до 3,2

<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
    "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">

Другие советы

Я также получил эту проблему. То, что я сделал, я просто изменил код из:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">

в :

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//www.tuckey.org//DTD UrlRewrite 3.2//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite3.2.dtd">

По сути, я просто добавил «www». до «TUCKEY.ORG» и исправил проблему.

http://forum.springsource.org/showthread.php?t=90962. привел меня к правильному пути.

Если вы загружаете DTD из http://tuckey.org/res/dtds/urlrewrite3.0.dtd. Вы обнаружите, что иногда это правильно, а иногда это пустой HTML. Затмение кэширует то, что он загружает в любом случае. Вы можете исправить проблему два способа:

  1. Загрузите файл DTD сами, убедитесь, что он выглядит как XML DTD, сохраните его локально, и укажите это в заголовке URLREWRITE.XML.
  2. Перейти к предпочтениям -> General -> Сетевые подключения -> Кэш и удалите кэшированный DTD, затем Revalidate XML (щелкните правой кнопкой мыши -> Validate). Повторите, пока не получите хорошую копию кэшированного DTD.

Добавлять www. ссылаться на меня, я изменился с

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
    "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">

к

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite3.0.dtd">

Привет, я просто решил это на основе нескольких из этих ответов здесь:

Шаги, которые я следовал:
1. Скачал urlrewrite3.2.dtd
2. Сохранено это локально, чтобы ... WAR / WEB-INF / URLREWRITE3.2.DTD
3. Указал мой файл URLREWRITE в локальную копию
4. Удалена кэшированная версия (предпочтения> Общие> сетевые соединения> кэш)
5. Revalided XML

ПРИМЕЧАНИЕ. Я изначально пытался редактировать файл, как было предложено Titi Wangsa Bin Damhore, но там я получил ошибку проверки в файле DTD. Я удалил, что последовал за шагами выше и бум. Проблема решена. Благодаря тем, кто внес идеи.

Блокировка

Был ли какой-то погугулированный «образец DTD» 4-й или 5-й результат http://www.xmlfiles.com/dtd/dtd_examples.asp.asp.

Образец имел

<!DOCTYPE TVSCHEDULE [ 
<!ELEMENT TVSCHEDULE (CHANNEL+)>
..
..
]>

URL Rewrite DTD начался с

<!ELEMENT urlrewrite ((rule|class-rule)*, outbound-rule*, catch*)>

Я выпустил Wget для "" "http://tuckey.org/res/dtds/urlrewrite3.0.dtd.«И открыл в СТС, да, его красный.

добавлено на вершине

<!DOCTYPE urlrewrite [

и реклама дна

]>

и его больше не краснут.

Так что я предлагаю,

  1. получить DTD
  2. изменить его
  3. сохранить его в том же каталоге, что и XML
  4. Измените XML для использования DTD в том же каталоге.

В Intellij Idea вы можете выбрать Red DTD URI, нажмите Alt-Enter, затем выберите «Внешний ресурс Fetch».

В Eclipse вы можете добавить запись в каталог XML под: Настройки -> XML -> Каталог XML.

Надеюсь, это поможет.

Изменение 3.0 до 3.2 работала для меня ...

Я получил DTD ... сохранил его в том же каталоге, что и XML и изменено. Теперь есть красный в DTD и XML

Декларации разметки, содержащиеся или указывающие на объявление типа документа, должны быть хорошо сформированы. URLREWRITE3.0.DTD.

Ссылаченный файл содержит ошибки (.... App / SRC / Main / WebApp / Web-inf / urlrewrite3.0.dtd). Находятся

Пожалуйста, загрузите свой файл XML и файл DTD.

Я использовал метод User374708 и очищенную сеть Cahce, как показано в размере ближнеменной памяти

Лучше скачать DTD и указывать на него с записью каталога XML, так как это делает ненужным, чтобы изменить DTD при публикации, но ваши файлы будут проверены локально при разработке.

Я понял проблему. Попробуйте этот URL http://tuckey.org/res/dtds/urlrewrite3.1.dtd. С вашим просмотром, и вы увидите, что он перенаправляет вас полностью разную HTML-страницу вместо файла DTD. Так вот то, что я сделал. Я нашел файл DTD из баночка Teckey и скопировал контент в {Workspace} /. Metadata / .Plugins / org.eclipse.wst.internet.che / 279269156.che / 279269156.che / 279269156.che / 279269156.Cache. Remememer 279269156. Название файла кэша будет варьироваться. Так что вы должны найти, какой плохой файл, открыв файл кеша с некоторым редактором

В следующем выпуске эта проблема исправлена... https://jira.springsource.org/browse/ROO-1129

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top