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

Hi Great Monks

Im currently doing a text conversion job for journals, in which we will have short tags and convert them to valid XML file.

In our file we are having section levels ranging from 1 to 9.

we use short tags <h1> to <h9> to represent them.

INPUT: <h1> abc <h2> abc <h3> abc <h3> abc <h2> abc OUTPUT: <sec id="1"> <p>abc</p> <sec id="2"> <p>abc</p> <sec id="3"> <p>abc</p> </sec> <sec id="3"> <p>abc</p> </sec> </sec> <sec id="2"> <p>abc</p> </sec> </sec>

We have converted the input to output using regular expressions and subroutines. we have done it by comparing the current level with the next level. if the level is equal then just one close tag is given, if greater then the difference between the current and next level number of closing tags will be given.

Even though we are getting the result rightly, we feel that we not doing it in precise. Is there any other way to do this effectively.

Thanks in advance.

--Murugesan & Prasad--

Replies are listed 'Best First'.
Re: section closing
by sgifford (Prior) on May 01, 2004 at 07:10 UTC
    That sounds to me like exactly the right way to do it.