Pas de contraintes de la grammaire (DTD ou schéma XML) a été détectée pour le document
J'ai cette dtd : http://fast-code.sourceforge.net/template.dtd
Mais quand je inclure dans un xml-je obtenir de l'avertissement :
Pas de contraintes de la grammaire (DTD ou schéma XML) a été détectée pour le document.
Le xml est :
<?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>
MODIFIER : j'ai modifié le fichier xml, j'obtiens cette erreur maintenant:
Le contenu de l'élément de type "modèle" doit correspondre à "(description de la variation?,la variation de champ?,permettez-
de multiples-de la variation?,classe-modèle?,getter /setter?,permis-file-extensions?,nombre requis
les classes?,modèle-corps)".
- Ouais c'est eclipse.
- Consultez ces liens: Pas de contraintes de la grammaire (DTD ou schéma XML) a été détectée pour le document et Faux Eclipse avertissement pour web.xml.
- Je ne ferais PAS ce Préférences | XML | XML Fichiers | Validation dans Eclipse que ce ne masque/masquer l'erreur, elle ne résout pas l'erreur. Si vous utilisez Eclipse pour compiler des applications Android, alors, cette "solution" est acceptable. Mais si vous utilisez Eclipse pour construire d'autres projets Java - JSF, etc - ça va casser ces projets, si la validation XML est "éteint". Donc, soyez prudent. La vraie solution est pour Oracle, Google et IBM pour mettre à jour leurs logiciels à jour des Dtd et des schémas.
- Je trouve eclipse beaucoup plus rapide et moins de crash sujettes si je garde un installer pour travailler sur les applications android et un autre pour faire la java de développement web. Je serais heureux d'utiliser la solution ci-dessus juste pour mon android ADT installation d'eclipse.
Vous devez vous connecter pour publier un commentaire.
Dans mon cas, j'ai résolu ce problème ennuyeux avertissement en ajoutant simplement le
<!DOCTYPE xml>
après la<?xml ... >
tag.Cela a fonctionné pour moi dans Eclipse 3.7.1: Accédez à la fenêtre des Préférences, puis XML -> Fichiers XML -> Validation. Puis, dans la Validation des dossiers de la section du panneau de préférences sur la droite, choisissez Ignorer dans la zone de liste déroulante pour le "Pas de la grammaire spécifié" de préférence. Vous devrez peut-être fermer le fichier et ouvrez-la de nouveau pour faire la mise en garde de s'en aller.
(Je sais que cette question est vieux, mais il a été le premier que j'ai trouvé lors de la recherche sur l'avertissement, donc je poste la réponse ici pour d'autres chercheurs.)
Réponse:
Des observations sur chaque pièce de votre DTD ci-dessous. Reportez-vous à officiel spec pour plus d'info.
Explication Simple:
Un très DTD ressemble à l' deuxième ligne ici:
Explication Détaillée:
Dtd servir à établir convenu de formats de données et de valider la réception de ces données. Ils définissent la structure d'un document XML, y compris:
E. g.
Sens des lignes ci-dessus...
Ligne 1) de l'élément Racine définie comme "nameOfYourRootElement"
La ligne 2) Début de la définition des éléments
Ligne 3) de l'élément Racine enfants définis comme "nameOfYourRootElement1" et "nameOfYourRootElement2"
Ligne 4) de l'élément Enfant, qui est défini comme type de données
#PCDATA
Ligne 5) de l'élément Enfant, qui est défini comme type de données
#PCDATA
Ligne 6) Développer les instances de
à 
lorsque le document est analysé par l'analyseur XMLLigne 7) Développer les instances de
&author;
àYour Author Name
lorsque le document est analysé par l'analyseur XMLLigne 8) à la Fin de définitions
La Vraie Solution:
ajouter
<!DOCTYPE something>
au début de chaque problématique XML,après la balise xml
<?xml version="1.0" encoding="utf-8"?>
vous pouvez écrire quelque chose pour le doctype, mais, fondamentalement, c'est censé être manifeste, activité, etc. ce que je comprends
Avez-vous essayé d'ajouter un schéma xml catalogue?
dans eclipse pour éviter le "pas de contraintes de la grammaire (dtd ou schéma xml) a été détectée pour le document." que j'utilise pour ajouter un fichier de schéma xsd xml catalogue sous
"Fenêtre \ préférences \ xml \ xml catalog \ spécifié par l'Utilisateur entrées".
Cliquez sur le bouton "Ajouter" sur la droite.
Exemple:
À partir de ce xml que j'ai généré et enregistré un xsd dans: /home/my_user/xsd/my_xsd.xsd
Comme Emplacement: /foyer/my_user/xsd/my_xsd.xsd
Comme type de clé: nom d'espace de Noms
Clés: http://mycompany.com/hr/schemas
Fermez et rouvrez le fichier xml et de faire quelques modifications à violer le schéma, vous devez être informé
Ajouter la balise DOCTYPE ...
Dans ce cas:
Ajouter après:
Donc:
Pour moi, c'était un Problème avec encodage des caractères et unix filemode eclipse sous Windows:
Juste marqué le code complet, découpé et collé à l'arrière (en bref: CtrlA-CtrlX-CtrlV) et tout allait bien, plus de "Pas de contraintes de la grammaire..." mises en garde
Une nouvelle façon peut-être d'écrire votre xml comme suit:
Les travaux ci-dessus dans Eclipse Juno+
Je ne peux pas vraiment dire pourquoi vous obtenez le "Pas de la grammaire des contraintes..." avertissement, mais je peut provoquer dans Eclipse en supprimant complètement la déclaration du DOCTYPE. Quand je mets la déclaration et de valider à nouveau, j'obtiens ce message d'erreur:
Et que c'est correct, je crois (le "nombre-requis-classes" élément n'est pas autorisé).
je sais c'est vieux mais je suis de passage trought le même problème et trouvé la solution dans le ressort de la documentation, le code xml suivant la configuration a été résolu le problème pour moi.
avant j'ai mis la ligne ci-dessus comme conseillé dans ce sujet du forum , j'ai le même message d'avertissement, et en plaçant ce...
et me donne le message d'avertissement suivant...
donc, essayez d'utiliser le suggérée lignes de mon xml de configuration.
Cela peut être dû à la désactivation de la validation dans eclipse.
Résolu ce problème dans Eclipse 3.5.2. Deux totalement identique dispositions dont l'une avait l'avertissement. Fermé tous les onglets et lors de la réouverture de l'avertissement avait disparu.
erreur doit être disparu.
J'ai utilisé un chemin relatif dans la xsi:noNamespaceSchemaLocation de fournir les locaux de fichier xsd (parce que je ne pouvais pas utiliser un espace de noms dans l'instance xml).
La Validation fonctionne et que l'avertissement est fixe (pas ignoré).
https://www.w3schools.com/xml/schema_example.asp
Moi aussi j'avais le même problème dans eclipse en utilisant web.xml fichier
il m'a montré ce " pas de grammaire contraintes référencées dans le document "
mais il peut être résolu par l'ajout de balise
après la balise xml c'est à dire
<?xml version = "1.0" encoding = "UTF-8"?>
Voici la solution pour ce problème:
Étape 1: cliquez Droit sur le projet et allez dans les propriétés
Étape 2: Allez à "bibliothèques" et de supprimer le projet 'JRE system library"
Étape 3: Cliquez sur "Add library" -->'JRE System Library" -->sélectionnez "espace de travail par défaut JRE'
Étape 3: Allez à "l'Ordre et à l'Exportation" et marque le nouvellement ajouté 'JRE system library"
Étape 4: Rafraîchir et Nettoyer le projet
Eureka! Ça fonctionne 🙂
Ce que j'ai trouvé la solution a été quelque chose de très très simple que je pense que vous devriez essayer avant de bricoler avec les préférences. Dans mon cas, j'ai eu ce problème dans un fichier de chaînes qui avait comme base de la balise "ressources" ...je me suis contenté de supprimer la balise dans le haut et le bas, nettoyez le projet, enregistrez le fichier et réinsérez la balise.
Le problème a depuis disparu et ne m'a jamais donné aucun avertissement.
Cela peut paraître simple pour être vrai mais bon, parfois les choses les plus simples qui permettent de résoudre les problèmes. Cheers
J'ai supprimé le message d'avertissement dans la vue des problèmes. Il n'est pas revenu jusqu'à maintenant.