Mam to dtd: http://fast-code.sourceforge.net/template.dtd Ale kiedy dołączę do pliku XML, otrzymuję ostrzeżenie: Nie wykryto żadnych ograniczeń gramatycznych (DTD lub schematu XML) dla dokumentu. Plik XML to:
<?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>
EDYCJA : Zmieniłem xml, otrzymuję teraz ten błąd:
Treść elementu typu „szablon” musi się zgadzać ”(opis, odmiana?, Zmienna-pole?, Zezwól na wiele wariantów?, Wzorzec klasy?, Getter-setter?, Dozwolone rozszerzenia plików?, Wymagana liczba? klasy?, szablon-ciało) ”.
xml
eclipse
validation
dtd
fastcodejava
źródło
źródło
Odpowiedzi:
W moim przypadku rozwiązałem to irytujące ostrzeżenie, po prostu dodając tag
<!DOCTYPE xml>
po<?xml ... >
.źródło
Działa to dla mnie w Eclipse 3.7.1: Przejdź do okna Preferencje, a następnie XML -> Pliki XML -> Walidacja. Następnie w sekcji Sprawdzanie poprawności plików w panelu preferencji po prawej stronie wybierz Ignoruj w rozwijanym polu dla preferencji „Nie określono gramatyki”. Może być konieczne zamknięcie pliku, a następnie jego ponowne otwarcie, aby ostrzeżenie zniknęło.
(Wiem, że to pytanie jest stare, ale było to pierwsze, które znalazłem podczas wyszukiwania ostrzeżenia, więc zamieszczam tutaj odpowiedź dla innych osób szukających).
źródło
Odpowiedź:
Komentarze do każdego elementu DTD poniżej. Więcej informacji znajduje się w oficjalnej specyfikacji .
Proste objaśnienie:
Niezwykle podstawowy DTD będzie wyglądał jak druga linia tutaj:
Szczegółowe wyjaśnienie:
DTD służą do ustalania uzgodnionych formatów danych i potwierdzania odbioru takich danych. Definiują strukturę dokumentu XML, w tym:
Na przykład
Znaczenie powyższych linii ...
Linia 1) Element główny zdefiniowany jako „nameOfYourRootElement”
Linia 2) Początek definicji elementów
Linia 3) Elementy potomne elementu zdefiniowane jako „nameOfYourRootElement1” i „nameOfYourRootElement2”
Linia 4) Element potomny , który jest zdefiniowany jako dane wpisz
#PCDATA
linia 5) element podrzędny, który jest zdefiniowany jako typ danych
#PCDATA
linia 6) rozwiń wystąpień
do 
kiedy dokument jest analizowany przez parsera XMLlinia 7) rozwiń wystąpień
&author;
doYour Author Name
kiedy dokument jest przetwarzany przez parser XMLlinii 8) Koniec definicji
źródło
Prawdziwe rozwiązanie:
dodać
<!DOCTYPE something>
na początku każdego problematycznego kodu XML,po znaczniku xml
<?xml version="1.0" encoding="utf-8"?>
możesz napisać wszystko dla doctype, ale w gruncie rzeczy powinno to być manifestem, aktywnością itp. z tego co rozumiem
źródło
Czy próbowałeś dodać schemat do katalogu XML?
w zaćmieniu, aby uniknąć „wykrycia dla dokumentu żadnych ograniczeń gramatycznych (schematu dtd lub xml)”. używam, aby dodać plik schematu xsd do katalogu XML pod
„Okno \ preferencje \ xml \ xml katalog \ Wpisy określone przez użytkownika”.
Kliknij przycisk „Dodaj” po prawej stronie.
Przykład:
Z tego xml wygenerowałem i zapisałem xsd pod: /home/my_user/xsd/my_xsd.xsd
Jako lokalizacja: /home/my_user/xsd/my_xsd.xsd
Jako typ klucza: nazwa przestrzeni nazw
Jako klucz: http://mojafirma.com/hr/schemas
Zamknij i ponownie otwórz plik xml i dokonaj pewnych zmian w celu naruszenia schematu, powinieneś zostać powiadomiony
źródło
Dodaj tag DOCTYPE ...
W tym przypadku:
Dodaj po:
Więc:
źródło
Nowym czystym sposobem może być napisanie xml w następujący sposób:
Powyższe działa w Eclipse Juno +
źródło
Dla mnie był to problem z kodowaniem znaków i trybem plików Unix uruchomionym w środowisku Eclipse w systemie Windows:
Właśnie zaznaczyłem cały kod, wyciąłem i wkleiłem go z powrotem (w skrócie: CtrlA-CtrlX-CtrlV ) i wszystko było w porządku - żadnych ostrzeżeń „Brak ograniczeń gramatycznych ...”
źródło
Spróbuj zrozumieć sugestię podaną w komunikatach ostrzegawczych, to kiedyś pomoże.
Miałem te same problemy, po przeprowadzeniu badań znalazłem rozwiązanie i naprawiłem, dodając na początku poniższą linię
co w moim przypadku prowadzi do innych problemów. Które rozwiązałem, czytając sugestie, które ponownie przekształciły się w inny problem, który został rozwiązany, rozumiejąc pierwotną przyczynę, że pierwsze łącze zostało zerwane (nie znaleziono). Poniżej znajdują się zdjęcia krok po kroku, które wyjaśniają, co zostało zrobione, aby całkowicie rozwiązać problem.
źródło
Naprawdę nie mogę powiedzieć, dlaczego pojawia się ostrzeżenie „Brak ograniczeń gramatycznych ...”, ale mogę sprowokować to w środowisku Eclipse, całkowicie usuwając deklarację DOCTYPE. Kiedy odkładam deklarację z powrotem i sprawdzam ponownie, pojawia się następujący komunikat o błędzie:
I to jest poprawne, jak sądzę (element „liczba-wymaganych klas” nie jest dozwolony).
źródło
Wiem, że to jest stare, ale przechodzę przez ten sam problem i znalazłem rozwiązanie w dokumentacji wiosennej, następująca konfiguracja xml została dla mnie rozwiązana.
zanim wstawię powyższą linię zgodnie z sugestiami w tym temacie forum, mam ten sam komunikat ostrzegawczy i umieszczam to ...
i daje mi następujący komunikat ostrzegawczy ...
więc po prostu spróbuj użyć sugerowanych wierszy mojej konfiguracji xml.
źródło
Może to wynikać z wyłączenia sprawdzania poprawności w zaćmieniu.
źródło
Rozwiązano ten problem w Eclipse 3.5.2. Dwa całkowicie identyczne układy, z których jeden miał ostrzeżenie. Zamknąłem wszystkie zakładki i po ponownym otwarciu ostrzeżenie zniknęło.
źródło
błąd musi zniknąć.
źródło
Użyłem ścieżki względnej w xsi: noNamespaceSchemaLocation, aby dostarczyć lokalny plik xsd (ponieważ nie mogłem użyć przestrzeni nazw w instancji xml).
Sprawdzanie poprawności działa, a ostrzeżenie jest naprawione (nie ignorowane).
https://www.w3schools.com/xml/schema_example.asp
źródło
Ja również miałem ten sam problem z zaćmieniem przy użyciu pliku web.xml,
który pokazał mi to „brak ograniczeń gramatycznych przywoływanych w dokumencie”
ale można to rozwiązać, dodając znacznik
po znaczniku xml, tj
<?xml version = "1.0" encoding = "UTF-8"?>
źródło
Oto działające rozwiązanie tego problemu:
Krok 1: Kliknij prawym przyciskiem myszy projekt i przejdź do właściwości
Krok 2: Przejdź do „bibliotek” i usuń „bibliotekę systemową JRE projektu”
Krok 3: Kliknij „Dodaj bibliotekę” -> „JRE System Library” -> wybierz „Workspace default JRE”
Krok 3: Przejdź do „Zamów i eksportuj” i zaznacz nowo dodaną „bibliotekę systemową JRE”
Krok 4: Odśwież i wyczyść projekt
Eureka! To działa :)
źródło
To, co znalazłem jako rozwiązanie, było czymś bardzo bardzo prostym, co myślę, że powinieneś spróbować przed majstrowaniem przy preferencjach. W moim przypadku miałem ten problem w pliku ciągów, który jako znacznik podstawowy miał „zasoby” ... wszystko, co zrobiłem, to usunąć znacznik z góry i dołu, wyczyścić projekt, zapisać plik i ponownie wstawić znacznik. Problem zniknął i nigdy nie dał mi żadnych ostrzeżeń. Być może prawda może wydawać się prosta, ale hej, czasem są to najprostsze rzeczy, które rozwiązują problemy. Twoje zdrowie
źródło
Usunąłem ostrzeżenie w widoku problemów. Do tej pory nie wrócił.
źródło