7 Stimmen

Benutzerdefinierte JSP-Tags: fehlendes DTD/XML-Schema

Ich habe mein benutzerdefiniertes JSP-Tag mit der folgenden TLD geschrieben:

<?xml version="1.0" encoding="UTF-8"?>
<taglib
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd"
  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="2.1">
  <tlibversion>1.0</tlibversion> 
  <jspversion>2.1</jspversion>
  ...

Jetzt meldet Eclipse Helios, dass "keine Grammatikeinschränkungen (DTD oder XML-Schema) für das Dokument erkannt wurden".

Ich weiß, wie ich die Warnung deaktivieren kann, aber ich habe mich gefragt, wie ich das Problem durch die Bereitstellung von DTD- oder Schemainformationen lösen kann.

Übrigens habe ich in dem obigen Stück XML:

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd"

aber es scheint nicht zu helfen.

UPDATE Auf Peters Vorschlag hin habe ich unter Fenster > Einstellungen > XML > XML-Katalog nachgeschaut und folgendes gefunden, das passen könnte:

Entry element:  Public
Location:   dtdsAndSchemas/web-jsptaglibrary_1_2.dtd in jar file 
usr/local/eclipse/plugins/org.eclipse.jst.standard.schemas_1.1.0.v201003031644.jar
URI:       jar:file:/usr/local/eclipse/plugins/org
  .eclipse.jst.standard.schemas_1.1.0.v201003031644.jar!/dtdsAndSchemas
  /web-jsptaglibrary_1_2.dtd
Key type:   Public ID
Key:    -//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN

Also habe ich versucht, meiner tld folgendes hinzuzufügen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" 
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd">

Jetzt habe ich die folgenden Fehler:

Mehrere Anmerkungen zu dieser Zeile gefunden:

  • Das Attribut "xsi:schemaLocation" muss für den Elementtyp "taglib" deklariert werden.

  • Das Attribut "version" muss für den Elementtyp "taglib" deklariert werden.

  • Das Attribut "xmlns" mit dem Wert "http://java.sun.com/xml/ns/javaee" muss einen Wert von "http://java.sun.com/JSP/ TagLibraryDescriptor" haben.

  • schema_reference.4: Das Schema-Dokument 'web-jsptaglibrary_2_1.xsd' konnte nicht gelesen werden, weil

    1) konnte das Dokument nicht finden; 2) Das Dokument konnte nicht gelesen werden; 3) das Root-Element des Dokuments ist nicht .

  • Der Inhalt des Elementtyps "taglib" muss "(tlib-version,jsp-version,short-name,uri?,display-name?,small-icon?,large-icon?,description?,validator?,listener*,tag+)" entsprechen.

  • Das Attribut "xmlns:xsi" muss für den Elementtyp "taglib" deklariert werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X