help me to validate a html file..to check for tag matching nd nesting..

Newbie Member
23Jan2008,16:35   #1
satya_11's Avatar
i need to write a program to open a given file and see if the nesting is fine,
assuming that all the tags in the html string are correctly formed,
that is when an angle bracket is seen,
assuming that it is followed by the remainder of a complete tag.

basically like validating infix expression..
but i dn ve a clear idea..
help me out!!
Ambitious contributor
24Jan2008,00:49   #2
Salem's Avatar
Code:
<head>
</head>
<body>
  <td>
    <tr>
    </tr>
  </td>
</body>
Use a stack.
Opening tag pushed onto the stack
Closing tag pops the stack and compares (they should be the same).
Newbie Member
24Jan2008,12:58   #3
satya_11's Avatar
ya..k..ll try wth tat..
Newbie Member
25Jan2008,09:16   #4
satya_11's Avatar
my prob is in pushing the html tag onto the stack..
In start tag, once i find '<' i need to store the characters as a string till it reaches '>'..
so that i ll be able to match d string wth d end tag..
dono hw to extract it..
Ambitious contributor
25Jan2008,13:36   #5
Salem's Avatar
while ( ch != '>' )
perhaps?
Newbie Member
25Jan2008,14:53   #6
satya_11's Avatar
i dn get u..
if i do so,wont i be pushing as characters into stack..
i wanna extract as substring..
like..


<html>
<body>
sdfg
</body>
</html>

In this code,
once i reach '<' in <html>,i need to store "html" as a string..
again wen i reach <body>,push "body" again as a string..
and wen i reach '</',in </body>,i pop d earlier n check whether both r same..


so,i need 2 push "html" as a singl string..
Ambitious contributor
25Jan2008,17:06   #7
Salem's Avatar
So separate the steps,
- read characters until you reach >
- push the resulting string onto a stack.

This should be a trivial problem compared to the rest of the task.
Go4Expert Founder
25Jan2008,20:56   #8
shabbir's Avatar
But there are some tags that don't have a closing tags like IMG which is closed with />. As an example

<IMG src="path/to/image/file/name" />