O que significa "GML é uma gramática XML"?

10

Estou tentando entender o lado teórico do XML e GML. A página da Web OGC para GML declara que:

A GML (Geography Markup Language) é uma gramática XML para expressar recursos geográficos.

Mas o que significa " gramática "? Não vejo a frase (como substantivo) usada em nenhum outro lugar. É um significado único da GML?

Vejo os termos "idioma", "esquema", "formato" e "padrão". Eles são a mesma coisa?

Então, posso dizer que o GML é um esquema XML? Ou isso significaria algo diferente? Em caso afirmativo, existe um único arquivo XSD que define toda a especificação GML?

Mark Ireland
fonte
Obrigado pelas respostas a todos. Toda informação muito útil. As coisas estão lentamente se tornando mais claras!
Mark Ireland

Respostas:

6

Quando alguém cria uma classe de documentos XML para representar informações em um domínio específico, às vezes chama isso de gramática XML, vocabulário, esquema, tipo de documento ou mesmo idioma. A terminologia não é consistente. Talvez haja uma ênfase diferente: chamá-lo de esquema implica que um esquema XML é a principal maneira pela qual a gramática / vocabulário é especificada; mas todos eles significam essencialmente a mesma coisa.

Michael Kay
fonte
7

Da recomendação da Extensible Markup Language (XML) 1.0 (Quinta Edição) do W3C :

[Definição: A declaração do tipo de documento XML contém ou aponta para declarações de marcação que fornecem uma gramática para uma classe de documentos. Essa gramática é conhecida como definição de tipo de documento ou DTD . A declaração do tipo de documento pode apontar para um subconjunto externo (um tipo especial de entidade externa ) que contém declarações de marcação, ou pode conter as declarações de marcação diretamente em um subconjunto interno, ou pode fazer as duas coisas. A DTD de um documento consiste em ambos os subconjuntos juntos.]

Quanto ao GML, você está certo de que ele evoluiu do uso de DTDs para XML Schema Definitions . Você pode baixar esses arquivos aqui: http://schemas.opengis.net/gml/

Consulte também o artigo da Wikipedia sobre GML para obter uma visão geral da história do GML .

O XML Schema Primer do W3C é outro bom recurso para aprender sobre XSDs, mas, curiosamente, nenhuma menção à palavra 'gramática'.

blah238
fonte
6

Todo documento XML possui essencialmente uma estrutura específica. Quando a estrutura é formalmente especificada, geralmente falamos sobre uma determinada gramática XML .

A especificação formal pode assumir várias formas, por exemplo, DTD (Document Type Definition) ou XML Schema Definition (XSD). O próprio XSD é um documento XML e agora está sendo usado para GML. Existem também outros meios de especificar a estrutura XML, como RELAX NG . Todos eles podem ser efetivamente usados ​​para validar que um documento XML esteja em conformidade com o esquema (gramática) conforme especificado.

Mesmo que você descreva inequivocamente uma estrutura de documento XML em inglês puro, ela possui uma gramática.

Portanto, para responder sua pergunta, poderíamos dizer que GML é uma gramática XML para a qual existe uma especificação de esquema XML ( link ).

Outro termo usado no lugar da gramática XML também é dialeto XML .

Petr Krebs
fonte