Ask Dr. SETI ®
Software developers frequently communicate via acronyms, the meaning of which may elude the typical software user. The discussion below, reproduced from The SETI League's Argus technical email discussion list, is a case in point. The participants are James Brown, W6KYP, David Woolley, G3ZZF, and Lee Kitchens, KB9PIP.
W6KYP: I have a beta copy of my SML Generator available for download and test on www.seti.net. If you are interested in XML tagging of SETI data please download it, use it to define you station (or what you would like your station to be) and email me the resulting SML file along with your comments. I need your feedback before I can go much further with this development.
KB9PIP: Jim, what do SML and XML mean?
W6KYP: SML - SETI Markup Language - A language I defined to keep track of the data generated by a SETI station like yours. I created it for our use.
XML - eXtensible Markup Language. A language for defining other languages. SML is written in XML. There are many, many languages besides SML written in XML. There is a language, written in XML, that defines the data kept on medical patients, a XML based languages that define the voice data sent over the internet, a XML language that is used to keep track of the number of lions on the African plains. Banks, airlines, the military use it. It's been part of you life for the last year or so even if you didn't know it. It's big stuff.
G3ZZF: SML is Jim's personal design of data format for describing (amateur) SETI systems and data. XML is a rather fashionable way of adding structure to text documents.
SGML (Structured Generalized Markup Language) is a complex standard for doing what XML does. HTML is an application of SGML to simple structured text documents (which has been hijacked for the description of semi-textual graphical presentations of unstructured documents).
SGML has some quite complex rules. XML (Extensible Markup Language) simplifies those rules and allows one to create a composite language, or add the local extensions. Note that we are talking about languages which are applications of XML, not XML itself, here.
XHTML 1.0 is the translation of HTML 4.01 to XML (it looks very similar to HTML, but you cannot miss out tags in the way you can with HTML, and the limitations of XML mean that less of the syntax rules can be enforced mechanically).
The idea of SGML and XML was that you could use them for Electronic Data Interchange (EDI), e.g. by defining a language for invoices or bills of lading, you can use them to structure commercial documents for electronic processing. EDI is not a new technique and predates SGML.
Whilst there are generalized tools for displaying SGML documents, they are not widely used.
One of the ways in which HMTL was hijacked was to add lots of information about how to display it (FONT, etc.). As part of an attempt re-purify it, this information can be separated out into a style sheet. The style sheet description languages have been designed so that they can be used to describe presentation rules for any XML based language, not just [X]HTML. The current major browsers support the use of style sheets for XML, although without them, they will display XML they don't understand as colour coded raw text.
Microsoft, in particular, are hyping the use of XML as an intermediate step in any application that handles structured data, and lots of developers, anxious to be fashionable and get the right buzzwords on their CV are converting things to use XML, whether or not it is appropriate, and often without really understanding it.
KB9PIP: What is a beta copy?
W6KYP: Beta - Usually the first release to the public of a new piece of software. Alpha is a release tested "in house". Beta releases usually still have bugs and this one is no exception.
G3ZZF: Alpha means a version that needs to be tested with real users, but is not good enough to let them use it unsupervised. A beta version is one that can be used by selected, consenting real users, in order to provide feedback, particularly on the more subjective sort of error. This has been somewhat confused by the use of the term for pre-Release versions used to poison a market for competitors.
KB9PIP: What is an "SML generator"?
W6KYP: SML Generator - When you run the program and enter your station data it will generate an SML tagged data file. I had trouble deciding what to call the thing and "Generator" is the best I could come up with. A better name suggestion would be welcome.
G3ZZF: An SML Generator is a program that creates SML, Jim's SETI Markup Language.
KB9PIP: What is "SML tagging of data"? What data? What is an SML file?
W6KYP: SML tagging of data - SML tagged data is 'self defining;' that is, you can look at the data and the tags in it and pretty much know what the data means. After you run the SETI Generator, take a look at the file it generates.
G3ZZF: SGML/XML languages, like HTML, add tags, typically in < > to indicate the meaning of text; e.g., a link in HTML is tagged by enclosing the text between the tags <A HREF="url to go to"> and </A>, the whole being called an element (many people misuse tag to mean element, or even attribute (i.e. HREF="..." in the above example).
KB9PIP: I am just a lowly radio amateur operator...
W6KYP: As am I, going on 50 years now.
KB9PIP: ...not a master of acronyms and computer analysis.
W6KYP: It's part of the game anymore. Acronyms float through all of our lives nowadays. They allow us to make sense of a complex world by giving names to concepts. Give it a try; the worst that can happen is that you learn a new concept or two.
Have fun with it. That's the point in the long run, isn't it?
entire website copyright © The SETI League, Inc.
this page last updated 7 December 2002
Top of Page