Fellow monks,
I have a problem regarding XML::LibXML, another great API by
Matts.
I have an xml document like this:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE page SYSTEM "entities.dtd">
<form>
<method>POST</method>
<action>/cgi/process.cgi</action
<input>
<type>text</type>
<name>name1</name>
<required>0</required>
<value></value>
<comment>This field is not required.</comment>
</input>
<input>
<type>text</type>
<name>name3</name>
<required>1</required>
<value></value>
<comment>Put three words here!</comment>
<test>
my @tmp = split(/\ /, shift());
return 1 if ( $#tmp == 2 );
return 0;
</test>
</input>
</form>
The XML above creates a web form through the use of XSLT. The little bit of perl-code is stuffed through ev'l into a closure and the value of the CGI::param("name3") is put into that routine. If 0 returns we show the form again, if 1 returns we continue.
To be nice and informatife, I'd like to tell the user he/she is a stupid user. But I also like to store into my DOM the values to user already submitted. And I want to add another branch to the
<form> trunk, holding information on why they failed.
I've tried _a lot_ in adding childs, nodes, childnodes, textchilds, you name it, but I just can't seem to get it done propperly.
I now have a hack, where I do:
$string = $dom->toString;
$string =~ s/<\/form>//gim;
$string .= "<info><failure>blah</failure></info>\n</form>\n";
$dom = $parser->parse_string($string);
This cannot be the purpose of libXML, and it surely is pretty expensive....
Er formait hyarya.
"Field experience is something you don't
get until just after you need it."
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.