Frage

Ich habe Probleme, herauszufinden, wie ich dieses Problem lösen kann. Ich habe eine Datei namens "urlrewrite.xml", die nach dem Ausführen des Befehls "Controller" in Roo Shell automatisch generiert wurde.

Ich bekomme jedoch immer noch den folgenden Fehler:

"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..."

Hier ist der Inhalt der Datei 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>

Irgendwelche Gedanken darüber, wie man diesen Fehler loswerden kann?

War es hilfreich?

Lösung

Wechseln Sie einfach 3.0 auf 3.2

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

Andere Tipps

Ich habe auch dieses Problem bekommen. Was ich getan habe, war einfach den Code aus:

<?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">

hinein :

<?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">

Grundsätzlich habe ich gerade das "www" angehängt. vor dem "tuckey.org" und es hat das Problem behoben.

http://forum.springource.org/showthread.php?t=90962 führte mich auf den richtigen Weg.

Wenn Sie die DTD herunterladen von http://tuckey.org/res/dtds/urlrewrite3.0.dtd Sie werden feststellen, dass es manchmal richtig ist und manchmal leer ist HTML. Eclipse schneidet ein, was es so oder so herunterlädt. Sie können das Problem auf zwei Arten beheben:

  1. Laden Sie die DTD -Datei selbst herunter, vergewissern Sie sich, dass sie wie ein XML -DTD aussieht, sie lokal speichern und in Ihrem Header für urlrewrite.xml verweisen.
  2. Gehen Sie zu Einstellungen -> Allgemein -> Netzwerkverbindungen -> Cache und entfernen Sie die zwischengespeicherte DTD und renovieren Sie dann die XML (mit der rechten Maustaste -> validieren). Wiederholen Sie, bis Sie eine gute Kopie des zwischengespeicherten DTD erhalten.

Hinzufügen www Um zu verlinken, funktioniert für mich, ich habe mich von verändert

<?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">

zu

<?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">

Hallo, ich habe dies gerade auf der Grundlage einiger dieser Antworten hier gelöst:

Die Schritte, die ich folgte, waren:
1. Laden Sie die Urlrewrite3.2.dtd herunter
2. Sparen Sie es lokal auf ... Krieg/Web-inf/urlrewrite3.2.dtd
3. Ich habe meine Urlrewrite -Datei auf die lokale Kopie vermittelt
4. Die zwischengespeicherte Version entfernt (Einstellungen> Allgemein> Netzwerkverbindungen> Cache)
5. Die XML neu bewertet

Hinweis: Ich habe zunächst versucht, die Datei zu bearbeiten, wie von Titi Wangsa bin Damhore vorgeschlagen wurde, aber dort habe ich einen Validierungsfehler in der DTD -Datei erhalten. Ich entfernte die Schritte über den obigen Schritten und Boom. Problem gelöst. Vielen Dank an diejenigen, die Ideen beigetragen haben.

Blockquote

Hat einige Googeln "Beispiel DTD" 4. oder 5. Ergebnis war, war http://www.xmlfiles.com/dtd/dtd_examples.asp

Die Probe hatte a

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

Die URL -Umschreibung DTD begann mit

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

Ich habe ein WGet für "" herausgegebenhttp://tuckey.org/res/dtds/urlrewrite3.0.dtd"" und eröffnet in Sts, yup, es ist rot.

oben hinzugefügt

<!DOCTYPE urlrewrite [

und ad ad den Boden

]>

Und es ist nicht mehr rot.

Also schlage ich vor,

  1. Holen Sie sich die DTD
  2. ändere es
  3. Speichern Sie es im selben Verzeichnis wie das XML
  4. Ändern Sie die XML, um die DTD im selben Verzeichnis zu verwenden.

In der Intellij-Idee können Sie den roten DTD-URI auswählen, Alt-Inter treffen und dann "externe Ressource abrufen" auswählen.

In Eclipse können Sie den Eintrag zum XML -Katalog unter: Einstellungen -> XML -> XML -Katalog hinzufügen.

Ich hoffe das hilft.

Wechseln 3.0 auf 3.2 funktionierten für mich ...

Ich habe die DTD bekommen ... hat sie im selben Verzeichnis wie das XML gespeichert und geändert. Jetzt gibt es ein Rot in der DTD und XML

Die durch die Dokumenttyperklärung enthaltenen oder verweilenen Aufschlagserklärungen müssen gut geformt werden. urlrewrite3.0.dtd

Die Referenzdatei enthält Fehler (.... App/SRC/Main/WebApp/Web-inf/urlrewrite3.0.dtd). ..

Bitte laden Sie Ihre XML -Datei und Ihre DTD -Datei hoch.

Ich habe die user374708 -Methode verwendet und das Netzwerk CAHCE gelöscht, wie in Nearmars Post gezeigt

Es ist besser, die DTD herunterzuladen und mit einem XML -Katalogeintrag darauf zu verweisen, da dies unnötig ist, die DTD beim Veröffentlichen zu ändern, aber Ihre Dateien werden während der Entwicklung lokal validiert.

Ich habe das Problem herausgefunden. Probieren Sie diese URL aus http://tuckey.org/res/dtds/urlrewrite3.1.dtd Mit Ihrem Durchsuchen werden Sie sehen, dass Sie Sie auf eine völlig andere HTML -Seite anstelle einer DTD -Datei umleiten. Also hier ist was ich getan habe. Ich fand die DTD -Datei aus Tuckey Jar und kopierte den Inhalt in {Arbeitsbereich}/. Metadata/.plugins/org.eclipse.wst.internet.cache/279269156.cache und löschte die Warnungen aus den Markieransicht und neu. Rememer 279269156.Cache -Cache -Datei variiert. Sie müssen also die schlechte Datei finden, indem Sie die Cache -Datei mit einem Editor öffnen

Dieses Problem wurde für die nächste Veröffentlichung behoben ... https://jira.springource.org/browse/roo-1129

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top