GRML -> Articles -> GRML ->

Introducing GRML

Creating a new markup language.

Introduction.

General Reuse Markup Langauge, or GRML, is a file and web page format. It has the data definition features of character-delimited formats and XML, with the hyperlinking and form support of HTML.

This article discusses the purpose for GRML. It describes how it complements HTML, XML, RSS, and character-delimited formats.

Background

The creation of GRML did not occur as a result of a specific plan. Rather, it was a consequence of developing a solution to another problem. The problem was finding a format, other than HTML and XML, for requesting and retrieving data using web services. This began from the development of a web front-end.

Creating a file format.

The front-end requested and retrieved content from a few web services. A data format was needed to handle the retrieved output from the web. Using an arbitrary format was too limiting. Something formal was needed.

The requirements.

While trying to find a suitable data format, HTML and XML were considered. However, they were unacceptable because their features were incompatible with the front-end being developed. There needed to be another choice, one with...
  • support for multiple views (for use in different applications);
  • a way to define multiple sets of data for multidimensional views;
  • content that translates to/from other formats; and
  • a distinction between the display of the form and view.
Since there was no format meeting all the requirements, the front-end was going to need something new. Using the front-end, it was possible to develop a format and test it for these requirements. In other words, the front-end existed before the markup language!

The result.

The resulting format was GRML. It was designed to:
  • use forms and views;
  • supports multiple and multidimensional views;
  • work with existing web servers; and,
  • adapt to other file formats.
Files and web pages use GRML. It is used with database and spreadsheet data. An address bar was added to the web front-end, creating a browser. Therefore, file and web browsers use GRML.

Knowing the objectives for GRML, the next step is to understand why other formats were not chosen.

Considering Formats.

Before discussing the need for GRML, alternative formats need to be introduced. Their design goals are identified. The formats are considered for their ability to handle data in files and web pages.

From a data handling standpoint, the two major parts of a web page are forms and content. Forms have input controls, for user requests. Content is the text, images, hyperlinks, and other "typed" data. Content appears in a view.

Given the requirement of forms and views, it is possible to compare each format.

HTML is the most prevalent format on the web. It is designed for data display. There is form and view support.

XML is a minor format on the web. It is designed for data definition. It lacks form and view support.

RSS is a minor format on the web. It is designed for data definition. It lacks form support but supports a view.

CSV or character-delimited formats are rarely used on the web. It is designed for data definition. It lacks form support but supports a view.

Describing the attributes of each format provides a basis for understanding how GRML is used.

Let's begin with...

HTML.

There is primarily one markup language in widespread use on the web. In other words, 99% of all web pages use this language. It is HyperText Markup Language, or HTML. HTML decides data display. Everything appears in the view, both content and form input controls.

Content is defined for images and hyperlinks. Text is implied. Any content outside a tag is text. Without a specific tag text tag, there is no way to specifically define it. Therefore, converting HTML to other formats is the most limited of all formats considered.

The single view approach of HTML prevents dynamically changing content in the view. There is no way to present related sets of HTML content (e.g. 2 different pages from a message board, or 4 different pages of news headlines, or 8 different pages of auction results, etc.) in the view without loading different pages and navigating between them. Hence, HTML does not support multidimensional views.

While browser add-ons (scripting languages, plug-ins, custom controls, etc.) allow dynamic content, HTML itself lacks this capability.

Because HTML decides the web page display, it prevents multiple views of content. HTML does not support multidimensional views and is not easy to adapt to other formats. Also, it combines the form and view in one display. For these reasons, it proved to be an inadequate choice.

Next is...

XML.

XML, or eXtensible Markup Language, is used as a generic data format. Databases, spreadsheets, CSV, or character-delimited files are all able to format data using XML. It defines data, rather than data display. Therefore, it supports conversion to other formats.

There is no one XML document format. It is a standard for defining how to structure data. This lack of a specific data format prevents XML from defining any view of its content. It also does not define input controls for use in a form.

A lack of view support in XML prevents multiple AND multidimensional views. Without form support, a user is not able to send requests. While XML is adaptable to other formats, it is not an adequate choice.

So far, HTML and XML have proven insufficient. The next to consider is...

RSS.

RSS, or Really Simple Syndication, is a type of XML. It defines a specific format for XML data. Therefore, RSS supports a view. Also, since it is based on XML, it defines data rather than data display. View support with data definition means RSS supports multiple views of its content.

As an XML format, RSS lacks form support. Input controls do not exist using XML, hence are missing from RSS. For this reason, it is not sufficient.

Only one format remains, and it is...

CSV or character-delimited.

CSV (comma separated values) or character-delimited formats are used by databases, spreadsheets, and many other data-oriented applications. It is used to store information to file. It supports conversion to other formats, because it odefines data, not data display. The format consists almost entirely of content, except for the character used as the delimiter.

This format has a view because it is almost entirely content and lacks markup tags. Its focus on content means it is the most reusable of any format considered. No display tags are used, so it supports multiple views.

The lack of data definition tags means there is no way to distinguish between sets of data. Hence, CSV or character-delimited files do not support multidimensional views. In addition, it is not possible to define input controls for a form. This means no form support.

Therefore, this format is an insufficient choice. This is why it was necessary to create...

GRML.

GRML separates form input controls from content. Content is defined explicitly in GRML, with text defined separately from hyperlinks and images. Display tags do not exist in GRML. There is data definition, not data display. This means support for multiple views.

Using data definition tags, GRML converts to other formats (HTML, XML, RSS, CSV or character-delimited). It also enables different sets of content to be named, which allows multidimensional views.

Conclusion.

After considering the available formats, for a markup language, each lacked at least one of the listed requirements. None met the design goals of the web front-end. Therefore, it was necessary to create a new format, GRML.

Quick Reference.

HTML is a multi-form, single-view, one dimensional, display-oriented format.
GRML is a single-form, multi-view, multidimensional, data-oriented format.
RSS is a no form, single-view, one dimensional, data-oriented format.

Revision History.

01/16/05. Focus changed to emphasize data handling.
12/05/04. Updated article text. Added related links.
08/20/04. First published.


Copyright © 2002-2012 grmlbrowser.com. All Rights Reserved. Privacy Policy

free pics images

www.mybestratedwebhosting.com

32 inch LCD TV | good credit score | lamp projection TV | LCD vs Plasma