[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

How to parse attributes in ruby?

dare ruby

2/27/2008 9:04:00 AM

Dear friends,

I'am in process of creating a new parser class. My parser was showing
parsing errors in case of input like,

<product prod_name="jean" size=" 24" boot-cut" price="$99">

i have got parsing error in attributes values " 24" boot-cut". I was
reading attributes values from " to ". But in above case double
quotes(") comes three times so my parser was not able to read it
properly.

How to solve the above problem?


Thanks in advance

Regards,
Martin
--
Posted via http://www.ruby-....

4 Answers

Martin DeMello

2/27/2008 9:15:00 AM

0

On Wed, Feb 27, 2008 at 1:03 AM, dare ruby <martin@angleritech.com> wrote:
> Dear friends,
>
> I'am in process of creating a new parser class. My parser was showing
> parsing errors in case of input like,
>
> <product prod_name="jean" size=" 24" boot-cut" price="$99">
>
> i have got parsing error in attributes values " 24" boot-cut". I was
> reading attributes values from " to ". But in above case double
> quotes(") comes three times so my parser was not able to read it
> properly.
>
> How to solve the above problem?

I'd suggest you require that "s within strings be escaped somehow.
Otherwise, the input is ambiguous - it might as well be 'size = "24"'
followed by an unterminated '"boot cut'

martin

Sebastian Hungerecker

2/27/2008 9:28:00 AM

0

dare ruby wrote:
> My parser was showing
> parsing errors in case of input like,
>
> =C2=A0 =C2=A0 <product prod_name=3D"jean" size=3D" 24" boot-cut" price=3D=
"$99">

Well, in case that the input is supposed to be XML, your parser was right t=
o=20
do so as the above is not valid.


=2D-=20
Jabber: sepp2k@jabber.org
ICQ: 205544826

dare ruby

2/27/2008 10:10:00 AM

0

Thank you sebastian and martin. so its invalid to pass xml like that i
hope.
The attribute value should be like,

size=' 24" boot-cut '

or like,

size=" 24' boot-cut"

Is the above xml is valid. Please suggest a better way of inputs in
proper xml for above attributes.


regards,
Martin
--
Posted via http://www.ruby-....

casa

2/27/2008 10:24:00 AM

0

dare ruby wrote:
> Thank you sebastian and martin. so its invalid to pass xml like that i
> hope.
> The attribute value should be like,
>
> size=' 24" boot-cut '
>
> or like,
>
> size=" 24' boot-cut"
>
> Is the above xml is valid. Please suggest a better way of inputs in
> proper xml for above attributes.

Yes, it's valid, but I suggest a better way:

size=" 24&quot; boot-cut"

Replacing " with its XML entity &quot;. Any attribute value should be
processed to replace special XML characters ("'<>&) with their entity.

--
Michel Casabianca
michel.casabianca@gmail.com