Content
2004/11/15 05:08:38Tag.pm - XML/HTML¥¿¥°¤òÀ¸À®¤¹¤ë¤¿¤á¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
¢£ Tag.pm - XML/HTML¥¿¥°¤òÀ¸À®¤¹¤ë¤¿¤á¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
NAME ̾¾Î
Tag.pm - XML/HTML¥¿¥°¤òÀ¸À®¤¹¤ë¤¿¤á¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
SYNOPSIS ³µÍ×
use Tag;
my $t = Tag->new;
@list = ( 1, 2, 'a' );
# html¤òɽ¼¨¡£
print $t->start_html;
print $t->head(
$t->title('Sample')
);
print $t->start_body({bgcolor=>'#ff0000'});
print $t->ul(
$t->li([@list])
);
print $t->end_body;
print $t->end_html;
¼Â¹Ô·ë²Ì¡§
<html><head><title>Sample</title></head><body bgcolor="#ff0000"><ul><li>1</li><li>2</li><li>a</li></body></html>
# xml¤òºîÀ®¡£
my $xml = $t->xml_header.
$t->methodCall(
$t->methodName('hatena.setKeywordLink'),
$t->params($t->param($t->value($t->struct(
$t->member(
$t->name('body'),
$t->value('¤Ï¤Æ¤Ê¥À¥¤¥¢¥ê¡¼¤Î¥¡¼¥ï¡¼¥É¤ò¥ê¥ó¥¯¤·¤Æ¡ª')
),
$t->member(
$t->name('score'),
$t->value($t->if(20))
),
$t->member(
$t->name('cname'),
$t->value(
$t->array(
$t->data(
$t->value($t->string('book')),
$t->value($t->string('movie'))
)
)
)
),
$t->member(
$t->name('target'),
$t->value('_blank')
),
$t->member(
$t->name('class'),
$t->value('keyword')
)
))))
);
¼Â¹Ô·ë²Ì¡§
http://d.hatena.ne.jp/hatenadiary/20040615
¤ÎÌ䤤¹ç¤ï¤»ÍÑXML¤ÈÅù¼Á¤Îʪ¡£
DESCRIPTION ÀâÌÀ
¤³¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢ÊĤ¸Ëº¤ì¤Î¤Ê¤¤¥¿¥°¤òºîÀ®¤¹¤ë¼êÅÁ¤¤¤ò¤·¤Þ¤¹¡£ CGI¥â¥¸¥å¡¼¥ë¤Î¥¿¥°ºîÀ®µ¡Ç½¤Î¥¯¥í¡¼¥ó¤ËÁêÅö¤·¤Þ¤¹¡£
METHODS ¥á¥½¥Ã¥É
AUTOLOAD¥á¥½¥Ã¥É¤Î¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ·¤Æ¡¢Perl¤ÎÌó«¸ì¤È°Ê²¼¤Ë¼¨¤¹¥á¥½¥Ã¥É·²°Ê³°¤Ï¡¢Á´¤Æ¥¿¥°¤È¤ß¤Ê¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤â¤·¡¢¤³¤ì¤é¤ÎÌó«¸ì¤ÈƱ¤¸Ì¾Á°¤Î¥¿¥°¤òºîÀ®¤·¤¿¤¤»þ¤Ï¡¢Âçʸ»ú¤Ç¥á¥½¥Ã¥É̾¤òµ¤·¤Æ¤¯¤À¤µ¤¤¡£
| Îã¡Ë | |
| use Tag; | |
| $t = Tag->new; | |
| $t->tr('hode'); # ¥¨¥é¡¼¡ª | |
| $t->TR('fuga'); # <TR>fuga</TR> |
CGI¥â¥¸¥å¡¼¥ë¤Ç¤ª¤Ê¤¸¤ß¤Î²óÈòË¡¤Ç¤¹¤Í¡£
°ú¿ô¤Ï¥¹¥«¥é¡¼¡¢¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¡¢ÇÛÎó¥ê¥Õ¥¡¥ì¥ó¥¹¤Î»°¤Ä¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£
¥¹¥«¥é¡¼¤Î¾ì¹ç¡¢¤½¤Î¤Þ¤Þ¥¿¥°¤Ç¶´¤Þ¤ì¤ëÃæ¿È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¤Î¾ì¹ç¡¢¥¿¥°¤Î°À¤Ë¤Ê¤ê¤Þ¤¹¡£
ÇÛÎó¥ê¥Õ¥¡¥ì¥ó¥¹¤òÅϤ·¤¿¾ì¹ç¤Ï¡¢ÇÛÎó¥ê¥Õ¥¡¥ì¥ó¥¹¤ÎÍ×Áǰì¤Ä°ì¤Ä¤ò¥¿¥°¤Ç¶´¤ó¤À¤â¤Î¤òÊÖ¤·¤Þ¤¹¡£
¥á¥½¥Ã¥É̾¤Ë¥×¥ì¥Õ¥£¥¯¥¹¤È¤·¤Æstart_, end_¤ò¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ start_¤ò¤Ä¤±¤ë¤È¡¢ÀèÆ¬¥¿¥°¡Ê¤È°À¡Ë¤·¤«À¸À®¤·¤Þ¤»¤ó¡£end_¤ò¤Ä¤±¤ë¤È¡¢¤ä¤Ï¤êËöÈø¥¿¥°¤·¤«À¸À®¤·¤Þ¤»¤ó¡£
new
¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤¹¡£ Á´¤Æ¤³¤ì¤òÄ̤¸¤Æ¥¿¥°¤ÎºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
xml_header
xml¤Ç¤Ï¤ª¤Ê¤¸¤ß¤Î¡¢'<?xml version=``1.0'' encoding=``UTF-8''?>'¤Îʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£ °ú¿ô¤òÍ¿¤¨¤ë¤È¡¢encoding°À¤òÊѹ¹¤Ç¤¤Þ¤¹¡£
sanitize
ÆâÉôŪ¤ËÉÑÈˤ˻Ȥï¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£ ¥¿¥°¤ò¥¨¥¹¥±¡¼¥×¤·¤Þ¤¹¡£
AUTHOR ºî¼Ô
¤à¤¤¤à¤¤ <band@room.ne.jp> 2004.06.18-
COPYRIGHT Ãøºî¸¢
The Tag module is Copyright (c) 2004 Muimui.
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.