¿Qué significa "GML es una gramática XML"?

10

Estoy tratando de entender el lado teórico de XML y GML. La página web de OGC para GML establece que:

El lenguaje de marcado de geografía (GML) es una gramática XML para expresar características geográficas.

Pero, ¿qué significa una " gramática "? No puedo ver esa frase (como sustantivo) utilizada en ningún otro lugar. ¿Es un significado GML único?

Veo los términos "idioma", "esquema", "formato" y "estándar". ¿Son la misma cosa?

Entonces, ¿puedo decir que GML es un esquema XML? ¿O eso significaría algo diferente? Si es así, ¿hay un solo archivo XSD que defina toda la especificación GML?

Mark Ireland
fuente
Gracias por las respuestas a todos. Toda la información muy útil. ¡Las cosas se están aclarando lentamente!
Mark Ireland

Respuestas:

6

Cuando alguien diseña una clase de documentos XML para representar información en un dominio particular, a veces lo llaman gramática XML, vocabulario, esquema, tipo de documento o incluso un idioma. La terminología no es consistente. Quizás haya un énfasis diferente: llamarlo esquema implica que un esquema XML es la forma principal en la que se especifica la gramática / vocabulario; pero todos significan esencialmente lo mismo.

Michael Kay
fuente
7

De la recomendación del lenguaje de marcado extensible (XML) 1.0 (quinta edición) del W3C :

[Definición: la declaración de tipo de documento XML contiene o señala declaraciones de marcado que proporcionan una gramática para una clase de documentos. Esta gramática se conoce como definición de tipo de documento o DTD . La declaración de tipo de documento puede apuntar a un subconjunto externo (un tipo especial de entidad externa ) que contiene declaraciones de marcado, o puede contener las declaraciones de marcado directamente en un subconjunto interno, o puede hacer ambas cosas. La DTD para un documento consta de ambos subconjuntos tomados juntos.]

En cuanto a GML, tiene razón en que ha evolucionado desde el uso de DTD hasta definiciones de esquema XML . Puede descargar estos archivos aquí: http://schemas.opengis.net/gml/

Consulte también el artículo de GML Wikipedia para obtener una descripción general de la historia de GML .

El XML Schema Primer del W3C es otro buen recurso para aprender sobre XSD, pero curiosamente no se menciona la palabra 'gramática'.

blah238
fuente
6

Cada documento XML tiene esencialmente una estructura dada. Cuando la estructura se especifica formalmente, generalmente hablamos de una gramática XML dada .

La especificación formal puede tomar muchas formas, por ejemplo, DTD (Definición de tipo de documento) o Definición de esquema XML (XSD). XSD en sí es un documento XML y ahora se está utilizando para GML. También hay otros medios para especificar la estructura XML, como RELAX NG . Todos estos pueden ser utilizados efectivamente para validar que un documento XML se ajusta al esquema (gramática) como se especifica.

Incluso si describe inequívocamente una estructura de documento XML en inglés puro, tiene una gramática.

Entonces, para responder a su pregunta, podríamos decir que GML es una gramática XML para la cual existe una especificación de esquema XML ( enlace ).

Otro término utilizado en lugar de la gramática XML es también el dialecto XML .

Petr Krebs
fuente