Software Information |
Introducing GRML
Creating a new markup language. Introduction. General Reuse Markup Langauge, or GRML, is a markup language for web browsers. It has the data definition features of character-delimited files and XML, with the hyperlinking and form support of HTML. The purpose of this article is to show why GRML exists and how it complements HTML, XML, RSS, and character-delimited formats. Background. GRML is not the result of a specific plan. It was developed as a solution to another problem, namely reusing data from a web service. It began with the development of a web front-end to request content from a few web services. A data format was needed to handle responses. Having data in some arbitrary format was too limiting. Something formal was needed. HTML and XML were considered, but they did not quite fit the front-end being developed. There needed to be another choice, one with... support for multiple views (the front-end used a List control that has 4);
Since there was no format that met 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 format that resulted was GRML. It was designed to use forms and views, supports multiple and multidimensional views, works with existing web servers, and adapts to other formats. Once the markup language was finished, the web front-end became a web browser. Now that the objective for GRML has been explained, the next step is to understand, in detail, why existing formats were not chosen. Understanding Markup Languages. Before going through the process of understanding why GRML is necessary, the existing formats need to be introduced and their design goals identified. The formats are considered from a data handling perspective, so no discussion of games, movies, music, advertising, and entertainment are mentioned. For the purposes of creating a markup language, the two major features for browsing web pages are the form and view. A form contains any input control for user requests. A view displays content, or data from the web page without the markup tags or formatting elements. Given the requirement of the form and view, 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 has a view. CSV or character-delimited formats are rarely used on the web. It is designed for data definition. It lacks form support but has a view. Now that each format has been introduced, it is possible to understand the place for GRML on the web. Let's begin with... HTML. There is really only one markup language in widespread use on the web (in other words, 99% of all web pages use this language), and that is HyperText Markup Language, or HTML. HTML describes how data is displayed. It tells the web browser how the web page looks in the web browser view. With HTML, all content is displayed in the view, including forms, text, and images. HTML decides how to display the web page. Web page content, using HTML, is defined only for images and hyperlinks. Text content is not defined, making it incompatible to use in other formats. Therefore, adapting HTML content to other formats is the most limited of all formats considered. The single view approach of HTML prevents dynamically switching the 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. 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 designed for adaptability. Databases, spreadsheets, CSV, or character-delimited files are all potentially able to format their data using XML. It defines what data is, rather than how it is displayed. This makes XML adaptable to other file 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 specific data format of a XML data structure. Therefore, RSS is able to support a view of its data. Also, since it is based on XML, it defines its data rather than how it is displayed. View support with data definition means that RSS supports multiple views of its content. As an XML format, RSS lacks any 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 to store information to file. It is a format that is adaptable to other formats because it does not use any display tags. The format consists almost entirely of content, except for the character used for the delimiter. This format has a view because it is almost entirely content and lacks markup tags. Its focus on content means that 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 defines the form and view separately. Input controls for a form are defined separately from content used in the view. Also, content is defined explicitly in GRML, with text defined separately from hyperlinks and images. Display tags do not exist in GRML. The web browser decides how to display the web page. This means support for multiple views. Using data definition tags allows GRML to be adaptable to other formats (HTML, XML, RSS, CSV or character-delimited). It also enables different sets of content to be named, which means support for multidimensional views. Conclusion. After considering all 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 used with multi-form, single-view, one dimensional, display-oriented web browsers. GRML is used with single-form, multi-view, multidimensional, data-oriented web browsers. RSS is used with no form, single-view, one dimensional, data-oriented web browsers. About The Author Developing with MFC for a couple of years now. Working at getting my new web browsers just right. Take a look at GRMLBrowser.com. Living in Memphis, TN and it is great coz there are absolutely no major sports teams (well, except for the Grizzlies).
MORE RESOURCES: Unable to open RSS Feed $XMLfilename with error HTTP ERROR: 404, exiting |
RELATED ARTICLES
Photoshop Files and Formats People often ask me: What image file formats will Photoshop open or save in? What are the advantages/disadvantages?Photoshop has the capability to open and save many different graphic files. Here are some of the most popular ones. Antivirus Software - Get The Bugs Before They Get You! You turn on your computer, and it doesn't look quite right. Maybe your icons have changed, or the background picture is wrong. eStore Advantage - Extending Microsoft eConnect for MBS Great Plains eStore Advantage allows front-office applications to communicate with back-office business environments. It has a built-in support for electronic payment processing, and serves as a core integration platform for Nodus Technologies front-to-back office connectivity suites including RMS and CRM Advantage. Selecting Microsoft Great Plains Partner/VAR/Reseller: ERP Implementation & Customization - Overview In the case when you represent mid-size or mid-size-to-large business, it is not a surprise that you have to do ERP selection and switch to new technologies, doing your own research. If you a trying to stay with Microsoft technologies and try Microsoft Business Solutions products: Microsoft Great Plains, Microsoft Navision, Solomon, Axapta with integration to Microsoft CRM, you should know the history of Great Plains Software and Navision partners over the last 10 years. Great Plains Bill of Materials Setup & Customization for Process Manufacturing - Overview Microsoft Great Plains has full-featured Manufacturing suite of modules: Capacity Requirements Planning, Job Costing, Master Production Scheduling, Materials Requirements Planning, etc. However Microsoft Great Manufacturing serves so-called discrete manufacturing market niche. Free Program Removes Spyware not Detected by Premium Security Scan What is Spyware?Spyware monitors your surfing habits and sends the data off to some remote server in cyberland. Your computer can get infected with spyware easily by visiting a web page or installing a software program. New SQL Delta Version 3.1 COMMAND LINE FUNCTIONA powerful command line script processor has been introduced to SQL Delta 3.1. Exactly What Does FTP Stand for and What Can it do for Me? FTP stands for "file transfer protocol". FTP is basically a way of sending files over the Internet. Popular Fleet Maintenance Programs Some companies that are in need of fleet management may choose to utilize the services of a fleet maintenance program. These programs can generally handle all of you fleet management needs. Microsoft Great Plains Accounting/ERP Implementation - Finance Industry Customization Example Microsoft Business Solutions Great Plains is very generic accounting application out of the box and has multiple modules to address specific horizontal or vertical market requirements. At the same time Great Plains, now being moved on MS SQL Server platform allows you to deploy standard tools to customize and fit to these requirements, when you don't need rich custom functionality, just few touches. Microsoft Great Plains Integration Manager - Working With Text File Microsoft Business Solutions main middle market ERP application - Microsoft Great Plains has multiple integration options: MS SQL Scripting (stored procedures and views), ADO.Net programming, Microsoft SQL Server DTS packages. Cisco Certification: Five Things To Do DURING Your CCNA Exam There are plenty of articles out there about how to prepare for the CCNA exam. However, there are also things you can do to increase your chances of success on exam day during the most important part of the entire process -- the time that you're actually taking the test. OEComplete - A Personal Information Manager OEComplete is a utility for managing the personal information of the user. It is designed to be flexible and affordable even for the home user. C++ Tutorial 2, Input and Variables This is the tutorial where we really get into programming. Input and variables are the essence of programming. DVD Burning Tips CD and DVD replication is a process that works by creating discs from scratch. Not to be confused with duplication (the act of burning information onto readymade, commercially-available blank CD-Rs and DVD-Rs), replication relies on the use of molds to produce actual discs that already contain digital data. How To Identify, Cure and Prevent Spyware/Adware Infections Just when you thought you were Web savvy, one more privacy, security, and functionality issue crops up - spyware. Installed on your computer without your consent, spyware software monitors or controls your computer use. The Opera Alternative Security flaws have long plagued Internet Explorer (IE), the market-dominating web browser from Microsoft. IE won the early browser wars, not only because it was free and bundled with Windows, but because it had some features and capabilities that its only real competitor, Netscape, didn't have. Microsoft CRM and Great Plains Implementation: Freight Forwarding Business Automation Example Microsoft Business Solutions offers several ERP applications: Great Plains, Navision, Solomon and its own CRM solution - Microsoft CRM. Targeting to automate all business operations, Microsoft CRM is now integrated with Microsoft Great Plains and in the close future it should have integration with Microsoft Navision. Microsoft Great Plains: Offshore Customization & Development - Overview for Consultant When you visit department stores and see that majority of the apparels are produced in other countries, not US - you probably do not worry about this fact. About 10 years ago, when Clinton's high tech era was at the inception - we saw the signs of high tech professionals inflow in the USA from overseas. Microsoft Great Plains Multicurrency - Overview For Implementation Consultant When you first think about multicurrency - you probably have in mind the revaluation question. Currency triangulation - which was the need when European currencies were fixed to Euro is not an issue any more. |
home | site map | contact us |