Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Omnimark vs. Perl

by Anonymous Monk
on Apr 26, 2004 at 04:37 UTC ( [id://348075]=perlquestion: print w/replies, xml ) Need Help??

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Dear All,

I am a moderate developer in perl. I use it mainly for all kinds of text processing purposes only. My work involves mostly with SGML, XML, HTML conversion tools and validation tools to check quality of these files.

Now, i heard that Omnimark is a streaming programming language and it has more similair advanced features as that of perl.

Please advice me about the Omnimark's capabilities over Perl. Is there any trial copy of Omnimark software for me to test?

Thanks in advance.

- Sampath

Replies are listed 'Best First'.
Re: Omnimark vs. Perl
by grinder (Bishop) on Apr 26, 2004 at 08:47 UTC

    One of the coolest things that Omnimark had at the time (I used it about 10 years ago) was the concept of referents.

    Imagine you are taking an SGML file and down-translating it into plain text. You encounter a link reference that you have to emit as "see chapter 10". You are, however, on chapter 2, and you have no idea in which chapter the link target will fall.

    So you open a referent and send it to the output stream at this point and move on. By the time you get to the link target, you can finally resolve the chapter number. As it happens, it turned out to be chapter 11 anyway. So you write "see chapter 11" to the referent, and close it. Here, Omnimark waves its magic wand and presto! the text gets inserted automatically back in chapter 2. It does all this by managing a number of intermediate temporary files behind the scenes. But it works correctly and transparently and is a joy to use.

    In the following years, whilst wandering through CPAN one day, I found a module that purported to offer exactly the same functionality. Unfortunately I can't find it after a long search, maybe the above description is enough to prod someone else into remembering the name.

    <update>Naturally, two minutes after posting this and proofing typos, I went straight back into CPAN and zeroed in on the module in question: Data::Locations. It also looks like String::Divert might be of use too. Funny the way the brain works.</update>

    The downside of Omnimark is that it is (IMHO) an exceedingly verbose language. Everything has to be spelt out in excruciating detail, almost as bad as COBOL's ADD A TO B GIVING C.

    That said, if you are hardcore SGML, doing hairy SGML conversions from one schema to another, and/or have complex validations to perform on native SGML data files, the fact that it is fully SGML-aware makes lots of things really easy since so much is built in.

    If you wanted to do the same in Perl, even with all the modules on CPAN your code would still have a lot of fussy "make work" code. But if your parsing and processing needs are simple you could certainly use Perl.

    Omnimark was a small-domain language, at least 10 years ago. I imagine it has evolved considerably in the meantime, but back then, while it was exceptionally good at munging SGML, it wasn't useable for anything else, it's not a general purpose language. Perl is.

    At the time there was a trial copy available. It was limited in a number of ways, but quite useable nonetheless. The full version required a dongle, and was fiercely expensive. This may have changed too since then.

    I think you want to look at OmniMark Developers Resources to find out more about it.

Re: Omnimark vs. Perl
by thelenm (Vicar) on Apr 26, 2004 at 05:05 UTC

    Maybe try OmniMark Monks? :-) Seriously though, Google would be a good place to start.

    -- Mike

    --
    XML::Simpler does not require XML::Parser or a SAX parser. It does require File::Slurp.
    -- grantm, perldoc XML::Simpler

Re: Omnimark vs. Perl
by dragonchild (Archbishop) on Apr 26, 2004 at 11:34 UTC
    What features/capabilities are you looking for that Perl doesn't provide? Remember, when it comes to conversion and validation, every single language is going to use modules to provide that kind of functionality. No language is going to have that kind of stuff in its core.

    ------
    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      Actually Omnimark was designed specifically to process SGML, then XML, so XML/SGML features are actually at the core of the language. It lacks the rest of CPAN though ;--)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://348075]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2024-03-29 09:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found