Skip to content

Latest commit

 

History

History
65 lines (39 loc) · 3.13 KB

generic-description-language.md

File metadata and controls

65 lines (39 loc) · 3.13 KB
title description keywords ms.date
Generic Description Language
Generic Description Language
printer configuration WDK , GDL files
text files WDK GDL files
Generic Description Language WDK
GDL WDK
GDL WDK , about
generic printer description WDK Unidrv
GPD WDK
printer drivers WDK , Generic Description Language
printer drivers WDK , converting data into XML
converting data into XML WDK GDL
transforming data into XML WDK GDL
GDL WDK , parser
GDL WDK , snapshots
snapshots WDK GDL
GDL WDK , directives
directives WDK GDL
04/20/2017

Generic Description Language

The Generic Description Language (GDL) defines a syntax with which to express hierarchically structured data. GDL also enables manufacturers and consumers to cooperatively define a schema that can be used to standardize the way in which the data is expressed. This schema can be used to validate the structure and format of the data and to guide the transformation of the data into another format (such as XML).

Microsoft provides the GDL parser and associated parser filters, which access and process data from a source data file and convert it to hierarchical data that the GDL syntax defines. GDL supports complex data sets, object-oriented schemas that define the structure and processing of this data, and a mechanism for easy extension by vendors.

GDL is designed as a superset of the Generic Printer Description (GPD) language, which is used to describe printer capabilities for Unidrv minidrivers.

GDL has the following main features:

  • GDL is backwards compatible with GPD legacy format.

  • GDL is arbitrarily extensible. That is, anyone can add custom attributes and constructs.

  • GDL uses templates to provide data structures.

  • GDL uses preprocessor directives and parameter-driven configuration to provide flexible linking and conditions.

  • GDL parses data input and returns an XML stream to the client.

When the data in a GDL source file is parsed by the GDL parser, the parser maintains a hierarchical data structure. The client accesses the parsed data structure indirectly through a snapshot. The snapshot is a representation of the data in a particular state. This state is specified through a configuration. In the current implementation of the GDL parser, the snapshot is expressed as XML, and the data in the snapshot can be accessed by using XML tools.

In addition to data entries, the GDL parser recognizes keywords (which are called directives). The directives include categories such as preprocessors, macros, namespaces, templates, and configurations.

The following sections provide more information about GDL:

GDL Architecture

GDL Programming Guide

GDL Reference

GDL Examples