Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

As already mentioned XML isn't a layout system. XML is a markup language that is relativly easy to manipulate with Perl (or any other modern language) and it's easy to convert to other XML and non XML formats via XSLT.

XML is buzz word compliant, but don't let that put you off, it is a great format to use and Perl has the tools to do the work. With XML you get a nice public standard, so you get lots of documentation both on and off line. While it's verbose, you can read and edit it by hand with a simple text editor - though I would recommend a proper XML editor. My favourite is the XSLT language, while it seems a bit wiered at first it's very powerful, and well documnented too.

I'd start by looking at XML::LibXML and XML::LibXSLT these are great modules, giving you a powerful XML parser and very fast XSLT processor. Both are well written and based on the excellent and very fast The XML C library for Gnome. Don't think that XSLT is slow, while it's true that the first processors were slow with poor standards support the picture has improved, and it can be done on the fly without big-iron.

Depending on how sophisticated you want to go, I'd also take a look at the excellent AxKit XML publising suite for Apache. It's based on the LibXML and LibXSLT modules, but adds sophistication and Apache integration as well.

XSLT can easily handle common XML output forms such as XHTML or RSS/RDF, plain text formats such as CSV/TSV, and produce XSL-FO for conversion to PDF. It may be overkill for your project, but it is a pretty sophisticated set of technologies.

Good luck!


In reply to Re: Is XML the only generic layout system out there? by ajt
in thread Is XML the only generic layout system out there? by dragonchild

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [ovedpo15]: that's the task i was given
    [choroba]: for my $element (@array) { $element .= 'hey'; } is a bit more verbose, plus it creates a scope for each element, but doesn't contain $_.
    [choroba]: but avoiding $_ makes no sense, it makes it impossible to use grep or map
    [choroba]: e.g. @array = map $_ . 'hey", @array;

    How do I use this? | Other CB clients
    Other Users?
    Others surveying the Monastery: (8)
    As of 2018-03-24 23:29 GMT
    Find Nodes?
      Voting Booth?
      When I think of a mole I think of:

      Results (299 votes). Check out past polls.