OmniMark

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

OmniMark is a fourth-generation programming language used mostly in the publishing industry. It is currently a proprietary software product of Stilo International. As of September 2018 the most recent release[1] of OmniMark was 10.1.2, dated April 2016.

Usage[edit]

OmniMark is used to process data, and convert it from one format to another, using a streaming architecture[2] that allows it to handle large volumes of content sequentially without having to keep it all in memory. It has a built-in XML parser, and support for XQuery via integration with Sedna native XML database. It also has features to process find rules which implement a similar concept to regular expressions, although the pattern expression syntax is more English-like than the regular expression syntax used in Perl and other languages like the Ruby programming language, both of which are more widely used than OmniMark. OmniMark can also be used for schema transformation tasks in the same way as XSLT, but supports switching between procedural and functional code without the need for any additional constructs to support the procedural elements.

History[edit]

OmniMark was originally created in the 1980s by Exoterica, a Canadian software company, as a SGML processing program called XTRAN.[3] XTRAN was later renamed OmniMark, and Exoterica became OmniMark Technologies. The current owners of OmniMark, Stilo International, have their main offices in the UK but also maintain an office in Canada.[4]

Previous versions of OmniMark have sometimes been made freely available. In 1999, OmniMark president and CEO John McFadden announced that OmniMark 5 would be free, to better compete with Perl.[5] More recent versions are proprietary.

Example code[edit]

This is the basic "Hello, World!" program:

 process
    output "Hello World!"

This program outputs all words starting with a capital letter in a text file:

 process
    submit file "myfile.txt" or
    submit "ANY TEXT"
 
 find (uc letter*)=>temp
    output temp || "%n"
 
 find any

Further reading[edit]

  • Baker, Mark (2000). Internet Programming with OmniMark. Boston: Kluwer Academic Publishers.
  • Smith, Norman E. (1998). Practical Guide to SGML/XML Filters. Plano, TX: WordWare Publishing.

References[edit]

  1. ^ "Guide to OmniMark 10.1.2". OmniMark Developer Resources. Retrieved 24 September 2018.
  2. ^ Stilo International (2004). Beginner's Guide to OmniMark (PDF). p. 3. Retrieved 24 September 2018.
  3. ^ Travis, Brian L. (1997). OmniMark at work: Getting Started. Englewood, CO: SGML University Press. p. vii.
  4. ^ "Office Locations". Stilo. Retrieved 24 September 2018.
  5. ^ "OmniMark 5 is Free". Cover Pages. Retrieved 24 September 2018.

External links[edit]