سؤال

أواجه مشكلة في معرفة كيفية حل هذه المشكلة. لدي ملف يسمى: "urlrewrite.xml" الذي تم إنشاؤه تلقائيًا بواسطة Spring Roo بعد تشغيل الأمر "Controller" في 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 فارغًا. Eclipse يختبه ما تقوم بتنزيله في كلتا الحالتين. يمكنك إصلاح المشكلة بطريقتين:

  1. قم بتنزيل ملف DTD بنفسك ، تحقق من أنه يبدو وكأنه XML DTD ، وقم بتخزينه محليًا ، ثم أشر إلى هذا في رأس urlrewrite.xml.
  2. انتقل إلى التفضيلات -> عام -> اتصالات الشبكة -> ذاكرة التخزين المؤقت وإزالة DTD المخزنة مؤقتًا ، ثم إعادة تقييم XML (انقر بزر الماوس الأيمن -> التحقق). كرر حتى تحصل على نسخة جيدة من 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. أنقذها محليًا إلى ... الحرب/الويب-إنف/urlrewrite3.2.dtd
3. أشار ملف urlrewrite إلى النسخة المحلية
4. إزالة الإصدار المخطط (تفضيلات> عام> اتصالات الشبكة> ذاكرة التخزين المؤقت)
5. إعادة تقييم XML

ملاحظة: لقد حاولت في البداية تحرير الملف كما اقترح Titi Wangsa Bin Damhore ، لكن هناك خطأ في التحقق من الصحة في ملف DTD. لقد أزلت ذلك اتبعت الخطوات أعلاه والازدهار. تم حل المشكلة. شكرا لأولئك الذين ساهموا الأفكار.

blockquote

هل كانت بعض النتيجة الرابعة أو الخامسة googling http://www.xmlfiles.com/dtd/dtd_examples.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"" وافتتح في STS ، نعم ، الأحمر.

تمت إضافة في الأعلى

<!DOCTYPE urlrewrite [

وإعلان القاع

]>

ولم يعد أحمر.

لذلك أقترح ،

  1. احصل على DTD
  2. تغييره
  3. احفظه في نفس الدليل مثل XML
  4. تغيير XML لاستخدام DTD في نفس الدليل.

في Idea Intellij ، يمكنك تحديد Red DTD URI ، واضغط على ALT-ENTER ، ثم اختر "جلب المورد الخارجي".

في 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 ، كما هو موضح في Post exermars

من الأفضل تنزيل DTD والإشارة إليه باستخدام إدخال كتالوج XML ، لأن هذا يجعل من غير الضروري تغيير DTD عند النشر ، ومع ذلك سيتم التحقق من صحة ملفاتك محليًا أثناء التطوير.

لقد اكتشفت المشكلة. جرب عنوان URL هذا http://tuckey.org/res/dtds/urlrewrite3.1.dtd مع تصفحك وسترى أنه يعيد توجيهك إلى صفحة HTML مختلفة تمامًا بدلاً من ملف DTD. إذن هذا ما فعلته. لقد وجدت ملف DTD من جرة Tuckey ونسخت المحتوى إلى {Workspace}/. REMEMER 279269156.Cache سوف يختلف اسم ملف Cache. لذلك عليك أن تجد ما هو الملف السيئ عن طريق فتح ملف ذاكرة التخزين المؤقت مع بعض المحرر

تم إصلاح هذه المشكلة للإصدار التالي ... https://jira.springsource.org/browse/roo-1129

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top