On 24 Feb 2006, at 17:46, Terrence Brannon wrote:
If you want to stay pure HTML, then do this:
<span myparser_action="include" myparser_args="header.html" />
The syntax was just chosen for conciseness but the actual syntax
looks like
<ido:include src="blah.html" />
I /assumed/ (perhaps mistakenly) that HTML::Parser would be OK with
arbitrary tag names provided everything was syntactically correct. Is
that a stupid assumption?
No need to use non-HTML and expect an HTML parser to parse it. If
you want
non-HTML, then maybe XML parsing is more appropriate.
That's certainly a possibility - although a quick glance at
XML::Parser suggests that I'd have at least the same - and possibly
worse - problems implementing an include() method on it.
Also, what you want appears to be do-able using the formerCPAN module
HTML_Tree by Paul J Lucas:
http://homepage.mac.com/pauljlucas/software/html_tree/
OK, that may be an option - although I have a working template
compiler built around HTML::Parser already so I'd rather keep going
in that direction unless it's a dead end :)
And you might like the CPAN module PeTaL or my own HTML::Seamstress
and XML::LibXML and XML::LibXSLT is XML floats your boat :)
OK :)
why not use HTML::Tree on CPAN (HTML::Tree is on CPAN, HTML_Tree is
at the
URL I gave you previously).
Build parse trees and then merge them? I could do - altenately I
could introduce a preprocessor stage using HTML::Parser that expanded
the include tags and generated HTML source with the included chunks
included and then parse that a second time. Ideally though I'd like
to handle the include directive at the same stage where I handle my
other tags - for various architectural reasons I won't bore you with.
Thanks :)
--
Andy Armstrong, hexten.net