OmniMark
Encyclopedia
OmniMark is a fourth-generation programming language
used mostly in the publishing
industry. It is a proprietary software
product of Stilo International.
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, because they are open source
and freely distributed. OmniMark can also be used for schema transformation tasks in the same way as XSL-T, but allows straightforward paradigm switching between procedural and functional code without the need for any additional constructs to support the procedural elements. In general OmniMark is significantly faster to write than XSL-T for any given application (assuming equal developer competence).
, 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.
submit file "myfile.txt" or
submit "ANY TEXT"
find (uc letter*)=>temp
output temp || "%n"
find any
Fourth-generation programming language
A fourth-generation programming language is a programming language or programming environment designed with a specific purpose in mind, such as the development of commercial business software. In the history of computer science, the 4GL followed the 3GL in an upward trend toward higher...
used mostly in the publishing
Publishing
Publishing is the process of production and dissemination of literature or information—the activity of making information available to the general public...
industry. It is a proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
product of Stilo International.
Usage
OmniMark is used to convert data from one format to another. In many respects it is similar to the PerlPerl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
language. It has a built-in XML parser, which has made it popular. It has support for XQuery
XQuery
- Features :XQuery provides the means to extract and manipulate data from XML documents or any data source that can be viewed as XML, such as relational databases or office documents....
via integration with Sedna
Sedna (database)
Sedna is an open source database management system that provides native storage for XML data.The distinctive design decisions employed in Sedna are schema-based clustering storage strategy for XML data and memory management based on layered address space.- Data Organization :Data organization in...
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
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
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, because they are open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
and freely distributed. OmniMark can also be used for schema transformation tasks in the same way as XSL-T, but allows straightforward paradigm switching between procedural and functional code without the need for any additional constructs to support the procedural elements. In general OmniMark is significantly faster to write than XSL-T for any given application (assuming equal developer competence).
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 algorithmBoyer–Moore string search algorithm
The Boyer–Moore string search algorithm is a particularly efficient string searching algorithm, and it has been the standard benchmark for the practical string search literature. It was developed by Bob Boyer and J Strother Moore in 1977...
, 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.
Program to Locate All Words starting with a Capital Letter in a Text File
processsubmit file "myfile.txt" or
submit "ANY TEXT"
find (uc letter*)=>temp
output temp || "%n"
find any