Phoenix.pm: My Object Oriented HTML tool.

Beaves at aol.com Beaves at aol.com
Sat May 29 19:48:20 CDT 1999


I am nearing completion of my HTML::Tag module.  I am happy with the results 
so far.

I am 'beta' testing it right now, and am pleased with the results.

I originally started off with just wanting to create HTML tables from a 
database.  While working on this project, I realized that with a few 
modifications, I could use this code to produce HTML for any situation.

The neat thing (IMHO) is that each Tag object can hold text, instructions for 
text, references to scalars and arrays which will be dereferenced at run 
time.   And of course, each object can hold other tag objects, which will go 
thru the same process iteratively when invoked via the 'as_string' method.

I am going to have the beta version posted soon at my site, and I'll let 
y'all know thru this forum when I do.

In the meantime, though, does this spark anyone's curiosity?  Did I reinvent 
the wheel?  Is there a current module out there that someone is using that 
does the same sort of stuff?

Oh, yeah, another neat thing is that you can automate the value for any 
attribute created for each tag.  If used for the ID attribute, this will 
enable some fancy onMouseOver, and onMouseOut scripting via JavaScript for 
tables (resulting from a search, etc).  I've tested this in concept, and it 
seems to work OK.  Since it is this sort of thing that got me going in the 
first place,  I thought this ability deserves some mention.

Well, take care.  I'm very anxious to get to a meeting and meet y'all.  I 
have some great internet ideas that I'd like to float by the group.  Hey, 
EBay had to start somewhere, right?

Tim

EXAMPLE CODE:
$page = Page->new();
$page->TITLE->contents('A super title!');
$scalarref = 'flibbidy';
$page->BODY->push('A string', \$scalarref, TagP->new('A new paragraph'));
print $page->as_string;
# will produce...

#Mime type will print here by default...


<head>
   <title>A super title!</title>
</head>

	A string
	flibbidy
     A new paragraph

	





More information about the Phoenix-pm mailing list