OmniMark

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

OmniMark is a fourth-generation programming language used mostly in the publishing industry. It is a proprietary software product of Stilo International.

Lua error in package.lua at line 80: module 'strict' not found.

Usage

OmniMark is used to convert data from one format to another. In many respects it is similar to the Perl language. It has a built-in XML parser, which has made it popular. It has 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 quite different from the more familiar regular expression syntax used in Perl and other languages. Its syntax is English-like and hence it is easy to understand. Although it is Perl's competitor, Perl and the Ruby programming language are more widely used than OmniMark. OmniMark can also be used for schema transformation tasks in the same way as XSLT, but allows straightforward paradigm switching between procedural and functional code without the need for any additional constructs to support the procedural elements.

Streaming Architecture

OmniMark is well known for its use of a streaming architecture which makes it particularly efficient in handling large volumes of content, and allows OmniMark to outperform its competitor technologies whenever the data volume is high (for instance when processing very large and numerous text, XML and SGML files). This is partly because data is handled "on the fly" without first building software data structures to represent it. The competitor technologies can be made to approach or match this performance but in general it would take a skilled and domain-competent Java developer (who had good knowledge of techniques such as, for example Boyer–Moore string search algorithm, referents and lookahead) to approach or match the performance of programs produced by a much less skilled and less knowledgeable OmniMark developer on large data sets. This would also assume that the greater system resources needed by the Java software were in place, and that the extra time needed to produce the Java code when compared with the time needed to produce the OmniMark code was available.

Hello World Program

process
   output "Hello World!"

Program to Locate 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

References

  • OmniMark at Work: Getting Started, by Brian E. Travis, John R. McFadden, Denielle C. Travis (Editor), Robert Peltz (Illustrator)
  • Internet Programming with OmniMark, by Mark Baker published by Kluwer Academic Press
  • Practical Guide to SGML Filters, by Norman E. Smith
  • Practical Guide to SGML and XML Filters, by Norman E Smith
  • OmniMark Programming Principles, by Errol Chopping, an online book.

External links


<templatestyles src="Asbox/styles.css"></templatestyles>