No se detectaron restricciones gtwigticales (DTD o esquema XML) para el documento

Tengo este dtd: http://fast-code.sourceforge.net/template.dtd Pero cuando incluyo en un xml recibo la advertencia: No se detectaron restricciones gtwigticales (DTD o esquema XML) para el documento. El xml es:

    Used to Create instance of class asasa asasa asasa setter java 1 false      

EDITAR : Cambié el xml, estoy recibiendo este error ahora:

El contenido del tipo de elemento “plantilla” debe coincidir “(descripción, variación?, Campo-variación?, Permitir-variación-múltiple?, Patrón-de-clase ?, ¿acomodador?, Extensiones de archivo-permitido?, Número-requerido- clases?, plantilla-cuerpo) “.

En mi caso, he resuelto esta molesta advertencia simplemente agregando < !DOCTYPE xml> después de la etiqueta < ?xml ... > .

 < ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE xml> 

Esto funcionó para mí en Eclipse 3.7.1: vaya a la ventana de Preferencias, luego XML -> Archivos XML -> Validación. Luego, en la sección Validar archivos del panel de preferencias a la derecha, seleccione Ignorar en el cuadro desplegable para la preferencia “No se especificó la gramática”. Es posible que deba cerrar el archivo y luego volverlo a abrir para que la advertencia desaparezca.

(Sé que esta pregunta es antigua, pero fue la primera que encontré cuando busqué la advertencia, así que estoy publicando la respuesta aquí para otros buscadores).

Responder:

Comentarios sobre cada pieza de su DTD a continuación. Consulte las especificaciones oficiales para obtener más información.

  < ! DOCTYPE ----------------------------------------- correct templates --------------------------------------- correct Name matches root element. PUBLIC ------------------------------------------ correct Accessing external subset via URL. "//UNKNOWN/" ------------------------------------ invalid? Seems useless, wrong, out-of-place. Safely replaceable by DTD URL in next line. "http://fast-code.sourceforge.net/template.dtd" - invalid URL is currently broken. > 

Explicación simple:

Una DTD extremadamente básica se verá como la segunda línea aquí:

 < ?xml version="1.0" encoding="utf-8"?> < !DOCTYPE nameOfYourRootElement>   

Explicación detallada:

Las DTD sirven para establecer formatos de datos acordados y validar la recepción de dichos datos. Definen la estructura de un documento XML, que incluye:

  • una lista de elementos legales
  • caracteres especiales
  • cadenas de caracteres
  • y mucho más

P.ej

 < !DOCTYPE nameOfYourRootElement [  < !ELEMENT nameOfChildElement1 (#PCDATA)> < !ELEMENT nameOfChildElement2 (#PCDATA)> < !ENTITY nbsp " "> < !ENTITY author "Your Author Name"> ]> 

Significado de las líneas anteriores …
Línea 1) Elemento de raíz definido como “nameOfYourRootElement”
Línea 2) Inicio de definiciones de elementos
Línea 3) Niños del elemento de raíz definidos como “nombre de tu elemento raíz1” y “nombre de tu elemento raíz2”
Línea 4) Elemento hijo, que se define como tipo de datos #PCDATA
Línea 5) Elemento hijo, que se define como tipo de datos #PCDATA
Línea 6) Expanda instancias de   a   cuando el documento es analizado por XML parser
Línea 7) Ampliar instancias de &author; a Your Author Name cuando el analizador XML analiza el documento
Línea 8) Fin de las definiciones

La verdadera solución:

agregue < !DOCTYPE something> al comienzo de cada XML problemático,

después de la etiqueta xml < ?xml version="1.0" encoding="utf-8"?>

puedes escribir cualquier cosa por doctype, pero básicamente se supone que es manifiesto, actividad, etc. por lo que entiendo

¿Has intentado agregar un esquema al catálogo xml?

en eclipse para evitar las “restricciones gtwigticales no (dtd o esquema xml) detectadas para el documento”. utilizo para agregar un archivo de esquema xsd al catálogo xml en

“Ventana \ preferences \ xml \ xml catalog \ User specified entries”.

Haga clic en el botón “Agregar” a la derecha.


Ejemplo:

 < ?xml version="1.0" encoding="UTF-8"?>   2006-07-03 2006-07-07   42 Arjen Poutsma   

De este xml he generado y guardado un xsd en: /home/my_user/xsd/my_xsd.xsd

Como ubicación: /home/my_user/xsd/my_xsd.xsd

Como tipo de clave: nombre del espacio de nombres

Como clave: http://mycompany.com/hr/schemas


Cierre y vuelva a abrir el archivo xml y realice algunos cambios para violar el esquema, se le debe notificar

Una nueva forma limpia podría ser escribir tu xml de la siguiente manera:

 < ?xml version='1.0' encoding='UTF-8'?> < !DOCTYPE rootElement>  ....  

Lo anterior funciona en Eclipse Juno +

Para mí fue un problema con la encoding de caracteres y el modo de archivo Unix ejecutando eclipse en Windows:

Simplemente marcó el código completo, lo cortó y lo pegó (en resumen: CtrlA-CtrlX-CtrlV ) y todo estuvo bien – no más “No hay restricciones gtwigticales …” advertencias

Agregar etiqueta DOCTYPE …

En este caso:

 < !DOCTYPE xml> 

Agregar después:

 < ?xml version="1.0" encoding="UTF-8"?> 

Asi que:

 < ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE xml> 

No puedo decir por qué recibes la advertencia “Sin restricciones gtwigticales …”, pero puedo provocarla en Eclipse al eliminar por completo la statement DOCTYPE. Cuando devuelvo la statement y la vuelvo a validar, aparece este mensaje de error:

El contenido del tipo de elemento “plantilla” debe coincidir “(descripción +, variación?, Campo-variación?, Permitir-variación-múltiple?, Patrón-de-clase ?, ¿acomodador?, Extensiones-de-archivos-permitidas ?, plantilla-cuerpo +) .

Y eso es correcto, creo (el elemento “number-required-classes” no está permitido).

Sé que esto es viejo, pero estoy pasando por el mismo problema y encontré la solución en la documentación de spring, la siguiente configuración xml me ha solucionado el problema.

 < ?xml version="1.0" encoding="UTF-8"?>  

antes de poner la línea superior como sugerida en este tema del foro, tengo el mismo mensaje de advertencia, y colocando esto …

 < ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE xml> 

y me da el siguiente mensaje de advertencia …

 The content of element type "template" must match " (description,variation?,variation-field?,allow- multiple-variation?,class- pattern?,getter-setter?,allowed-file-extensions?,number-required- classes?,template-body)". 

así que intente utilizar las líneas sugeridas de mi configuración xml.

Esto puede deberse a desactivar la validación en eclipse.

Resolvió este problema en Eclipse 3.5.2. Dos diseños completamente idénticos de los cuales uno tenía la advertencia. Cerré todas las tabs y cuando volví a abrir la advertencia había desaparecido.

  1. copie todo su código en el bloc de notas.
  2. Guarde temporalmente el archivo con cualquier nombre [al guardar el archivo utilice “encoding” = UTF-8 (o superior pero UTF)].
  3. cierra el archivo.
  4. ábrelo de nuevo.
  5. copia y vuelve a pegarlo en tu código.

el error debe desaparecer

Aquí está la solución de trabajo para este problema:


Paso 1: haz clic con el botón derecho en el proyecto y ve a las propiedades

Paso 2: ir a ‘bibliotecas’ y eliminar la ‘biblioteca del sistema JRE’ del proyecto

Paso 3: haga clic en ‘Agregar biblioteca’ -> ‘Biblioteca del sistema JRE’ -> seleccione ‘JRE del espacio de trabajo predeterminado’

Paso 3: vaya a ‘Ordenar y Exportar’ y marque la ‘biblioteca del sistema JRE’ recién agregada

Paso 4: actualizar y limpiar el proyecto

Eureka! Esta funcionando 🙂

Lo que encontré como la solución fue algo muy simple que creo que deberías probar antes de jugar con las preferencias. En mi caso, tuve este problema en un archivo de cadenas que tenía como etiqueta base “recursos” … todo lo que hice fue eliminar la etiqueta de arriba y abajo, limpiar el proyecto, guardar el archivo y volver a insertar la etiqueta. El problema ha desaparecido y nunca me dio ninguna advertencia. Puede sonar simple para ser cierto, pero bueno, a veces son las cosas más simples las que resuelven los problemas. Aclamaciones

Usé una ruta relativa en xsi: noNamespaceSchemaLocation para proporcionar el archivo xsd local (porque no pude usar un espacio de nombres en el xml de la instancia).

 < ?xml version="1.0" encoding="UTF-8"?>   

La validación funciona y la advertencia es fija (no ignorada).

https://www.w3schools.com/xml/schema_example.asp

Eliminé la advertencia en la vista de problemas. No volvió hasta ahora.

Yo también tuve el mismo problema en Eclipse usando el archivo web.xml que me mostró esto “sin restricciones gtwigticales a las que se hace referencia en el documento”

pero puede resolverse agregando una etiqueta después de la etiqueta xml, es decir, “”