[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

tag, tag_end in parser

dare ruby

12/1/2007 6:06:00 AM

I have created a buffer class and i was able to read a character, string
and write in the buffer. Iam in process of creating pull parser. Now iam
parsing only with strings. if i give a string
"<abc>defgh</abc><def>ijk</def>" as a string input i need to check the
starting of tag and end of tag. could any one help me to do tag_start
and tag_end method.
--
Posted via http://www.ruby-....

2 Answers

Phrogz

12/1/2007 7:02:00 AM

0

On Nov 30, 11:05 pm, Martin Durai <mar...@angleritech.com> wrote:
> I have created a buffer class and i was able to read a character, string
> and write in the buffer. Iam in process of creating pull parser. Now iam
> parsing only with strings. if i give a string
> "<abc>defgh</abc><def>ijk</def>" as a string input i need to check the
> starting of tag and end of tag. could any one help me to do tag_start
> and tag_end method.

Check out String#scan method with regexp %r{</?\S>} and StringScanner
class (require 'strscan').

MonkeeSage

12/1/2007 7:18:00 AM

0

On Dec 1, 12:05 am, Martin Durai <mar...@angleritech.com> wrote:
> I have created a buffer class and i was able to read a character, string
> and write in the buffer. Iam in process of creating pull parser. Now iam
> parsing only with strings. if i give a string
> "<abc>defgh</abc><def>ijk</def>" as a string input i need to check the
> starting of tag and end of tag. could any one help me to do tag_start
> and tag_end method.
> --
> Posted viahttp://www.ruby-....

You sure like doing needless work! First, you re-implemented StringIO
(as was pointed out to you before), and now you want to re-implement a
stream-based XML processing module? There is a reason why you didn't
get a meaningful response when you asked this question several days
ago.

Just for starters, properly parsing XML would require writing an LL(2)
lexer for the grammar. And why try to re-invent the wheel when there
are already plenty of stream-based/supporting XML processing libraries
with ruby bindings. In fact, the built-in, pure ruby REXML supports
stream processing. And even though REXML is (relatively) slow, it will
probably be faster than anything you (or I) might write.

Unless this is some sort of school assignment, why put yourself
through all the trouble of creating what already exists? And if it is
an assignment, just asking us to do it for you won't help you in the
long term anyhow--try it yourself and only ask for help where you get
stuck (google is your friend).

Regards,
Jordan