Универсальный язык описания
Универсальный язык описания (GDL) определяет синтаксис для выражения иерархически структурированных данных. GDL также позволяет производителям и потребителям совместно определять схему, которая может использоваться для стандартизации способа выражения данных. Эту схему можно использовать для проверки структуры и формата данных, а также для преобразования данных в другой формат (например, XML).
Корпорация Майкрософт предоставляет средство синтаксического анализа GDL и связанные с ним фильтры, которые получают доступ к данным из исходного файла данных и преобразуют их в иерархические данные, определенные синтаксисом GDL . GDL поддерживает сложные наборы данных, объектно-ориентированные схемы, определяющие структуру и обработку этих данных, а также механизм для простого расширения поставщиками.
GDL разработан как надмножество языка универсального описания принтера (GPD), который используется для описания возможностей принтера для мини-драйверов Unidrv.
GDL имеет следующие функции main:
GDL обратно совместим с устаревшим форматом GPD.
GDL является произвольно расширяемым. То есть любой пользователь может добавить настраиваемые атрибуты и конструкции.
GDL использует шаблоны для предоставления структур данных.
GDL использует директивы препроцессора и конфигурацию на основе параметров для обеспечения гибкой компоновки и условий.
GDL анализирует входные данные и возвращает клиенту XML-поток.
При анализе данных в исходном файле GDL с помощью средства синтаксического анализа GDL средство синтаксического анализа поддерживает иерархическую структуру данных. Клиент обращается к проанализированной структуре данных опосредованно через snapshot. Snapshot — это представление данных в определенном состоянии. Это состояние задается с помощью конфигурации. В текущей реализации средства синтаксического анализа GDL snapshot выражается в виде XML, а доступ к данным в snapshot можно получить с помощью средств XML.
Помимо записей данных, средство синтаксического анализа GDL распознает ключевые слова (которые называются директивами). Директивы включают такие категории, как препроцессоры, макросы, пространства имен, шаблоны и конфигурации.
В следующих разделах содержатся дополнительные сведения о GDL: