$B;d$N:n@.$9$k$[$H$s$I$N%W%m%0%i%`$+$iMxMQ$9$k%D!<%k%/%i%9%i%$%V%i%j$G$9!#(B
lib$B%G%#%l%/%H%j$K$"$k(Bskutility.jar$B$r(BCLASSPATH$B$K4^$a$l$P(BOK$B$G$9!#(B
skutility.jar$B$O0J2<$N%i%$%V%i%j$K0MB8$7$^$9!#(B
$B$?$@$7!"0MB8$9$k%i%$%V%i%j$r;HMQ$7$F$$$k(BAPI$B$r!"(B
$B%"%W%j%1!<%7%g%s$,;HMQ$7$J$$8B$j$OITMW$G$9!#(B
$B$^$?!"%3%s%Q%$%k$K$O(BJavaCC$B$,I,MW$G$9!#(B
$BJ#?t$N%/%i%9$,4XO"$7$F!"(BAPI-doc$B$@$1$G$OGD0.$7$K$/$$$b$N$K$D$$$F(B
$B$6$C$H;HMQJ}K!$r5-$7$^$9!#(B
$B$3$3$K5s$2$F$$$J$$$b$N$O(BAPI-Doc$B$K5-=R$7$?DL$j$N$b$N$+!"(B
$B0?$$$O:n@.Cf$J$I$NM}M3$G%I%-%e%a%s%H2=$7$?$/$J$$$b$N$G$9(B^^$B!#(B
$B>-Mh:o=|$^$?$OBgI}$J%$%s%?!<%U%'%$%9$NJQ99$N2DG=@-$,$"$kEy$K$h$j!"(B
$B%I%-%e%a%s%H2=$7$?$/$J$$%Q%C%1!<%8$O0J2<$N$b$N$G$9!#(B
"MS932"$B%3%s%P!<%?$HB>$N%3%s%P!<%?$N%^%C%T%s%0$N:90[$K$h$C$F@8$8$k!"(B
Unicode$B2=;~$NJ8;z%3!<%I$N:90[$r5[<}$9$k%/%i%972$G$9!#(B
$B$3$N%/%i%9$rMQ$$$F$*$j!"(BOutputStreamWriter$B$H$7$F5!G=$9$k(B
CorrectOutputStreamWriter$B$d!"B>$N(BWriter$B$r%i%C%W$9$k(B
UnicodeCorrectWriter$B$rMQ$$$k;v$G!"MM!9$J>lLL$GMxMQ$,2DG=$G$9!#(B
$B=PNO%(%s%3!<%G%#%s%0$,F0E*$KJQ$o$C$F$bBP1~=PMh$k$N$,FCD'$G$9!#(B
$B$3$N%/%i%972$O8zN($ONI$/$"$j$^$;$s!#(B
$Be$2$k$h$&$K$7$?$$$H;W$$$^$9!#(B
DOM$B%D%j!
Extractor$B%*%V%8%'%/%H$rMxMQ$7$F
Extractor$B$N
$B$^$?!"(BFilterIterator$B$KEO$9$?$a$N!"%N!<%I$rNs5s$9$k(BIterator$B$H$7$F!"(B
$B0J2<$N
Under Construction...
TextFormatter$B$N%I%-%e%a%s%H$r;2>H$7$F$/$@$5$$!#(B
$BJ8;zNs5Z$S%9%H%j!<%`$KBP$9$k%U%#%k%?$G$9!#(B
$B4XO"%/%i%9$H$7$F0J2<$N$h$&$J$b$N$rMQ0U$7$F$$$^$9!#(B
$B@55,I=8=%i%$%V%i%j$r%i%C%W$9$k%/%i%972$G$9!#(B
$BJ#?t$N@55,I=8=%(%s%8%s$rE}0l%$%s%?!<%U%'%$%9$GEy2A$K(B
$B;H$($k$h$&$K$7$h$&$H$7$F$$$^$9$,!"8=:_$N$H$3$m$O
HTML$B;z6g2r@O4o$G$9!#%f!<%6$K(BHTML$B%?%0$NF~NO$r5v2D$9$k>l9g$N%?%0$N(B
$B6:@5$r9T$&(BTranslator(TagReformatter)$B$N0Y$KMQ0U$7$^$7$?!#(B
$B;HMQNc(B:
multipart/form-data$B7A<0$N%j%/%(%9%H$KBP1~$7$?(Bwrapper$B%/%i%9$G$9!#(B
application/www-form-urlencoded$B$N>l9g$H6hJL$J$/07$($^$9!#(B
$BCm0U(B:$B$3$N%/%i%9$OF|K\8l$N%Q%i%a%?(B/$B%U%!%$%kL>$J$I$rE,@Z$K(B
($B;XDj$5$l$?F~NO%(%s%3!<%G%#%s%0$K1~$8$F(B)Unicode$BJQ49$7$FJV$7$^$9!#(B
Tomcat$B$N$h$&$K%G%U%)%k%H$G(BHttpServletRequest$B$,(B
$B%^%k%A%P%$%HBP1~$7$F$$$J$$>l9g$K9T$&!"(B
new String(param.getBytes("ISO-8859-1"), inputEncoding);
$B$N$h$&$J=hM}$,ITMW$G$"$kE@$,(BHttpServletRequest$B$H0[$J$j$^$9!#(B
$B$3$N%/%i%9C1BN$G;HMQ$9$k>l9g$O!"(B
UnicodeCorrector.getInstance(encoding)$B$G%$%s%9%?%s%9$r
JSP$B$+$i$N=PNO$G$bJ8;z2=$1$r5/$3$5$J$$$h$&$K$G$-$^$9!#(B
com.sk_jp.xml.extractor.Extractor
Extractor$B$O>r7o%*%V%8%'%/%H$H$J$j!"
com.sk_jp.xml.extractor.AllConditionExtractor
$BB>$NJ#?t$N(BExtractor$B$NA4$F$,%^%C%A$7$?>l9g$K%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.AnyConditionExtractor
$BB>$NJ#?t$N(BExtractor$B$N2?$l$+$K%^%C%A$7$?>l9g$K%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.ChildNodeExtractor
$BBP>]%N!<%I$,FCDj$N;RMWAG$r;}$A!"3n$D$=$N;RMWAG$KBP$7$F(B
$BM?$($i$l$?(BExtractor$B$,%^%C%A$7$?>l9g$K%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.AttributeExtractor
$BBP>]%N!<%I$,FCDj$NB0@-$r;}$D>l9g$K%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.ContentMatchExtractor
$BBP>]%N!<%I$NFbMFJ8;zNs(B($B:G=i$N%F%-%9%H%N!<%I(B)$B$K(B
$B;XDj%Q%?!<%s$,4^$^$l$l$P%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.ContentRangeExtractor
$BBP>]%N!<%I$NFbMFJ8;zNs$r@0?t$H$_$J$7$F!"(B
$BCM$,;XDjHO0OFb$G$"$l$P%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.DateRangeExtractor
$BBP>]%N!<%I$NFbMFJ8;zNs$r(BDateFormat$B7k2L$H$_$J$7$F!"(B
$BF|;~$,;XDjHO0OFb$G$"$l$P%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.ElementNameExtractor
$BBP>]%N!<%I$NMWAGL>$,;XDj$7$?$b$N$G$"$l$P%^%C%A$7$^$9!#(B
com.sk_jp.xml.extractor.ChildNodeIterator
$B;XDj%N!<%I$ND>@\$N;RMWAG$rNs5s(B
com.sk_jp.xml.extractor.DescendantNodeIterator
$B;XDj%N!<%IG[2<$NA4$F$N;RB9%N!<%I$rNs5s(B
com.sk_jp.xml.table
com.sk_jp.text.TextFormatter
com.sk_jp.text.Translator
com.sk_jp.text.EntityRefEncoder
<>&"$B$r
com.sk_jp.text.regex.RegexTranslator
$B@55,I=8=$K$h$kCV49$r9T$&%U%#%k%?$G$9!#%Q%?!<%sCV49$@$1$G$J$/!"(B
Substitute$B%*%V%8%'%/%H$rMQ$$$k;v$b2DG=$G$9!#(B
com.sk_jp.text.regex.Substitute
$B%Q%?!<%s$K%^%C%A$7$?>l9g$N=PNOJ}K!$rDj5A2DG=$JCj>]%/%i%9$G$9!#(B
RegexTranslator$B$K
com.sk_jp.text.html.HTMLLayoutTranslator
<>&"$B$r
com.sk_jp.text.html.TagReformatter
$B%f!<%6F~NO%F%-%9%H$r(BHTML$B$KJQ49$9$k%U%#%k%?$G$9!#(B
HTMLLayoutTranslator/EntityRefEncoder/RegexTranslator
$B$N5!G=$r;HMQ$7$FE,@Z$JJQ49$r9T$$$^$9!#(B
$B%f!<%6$K8BDj$5$l$?%?%0$N;HMQ$r5v$9$3$H$,$G$-!"(B
URL$B$dFCDj$N%-!<%o!<%I$r(BA$B%?%0$KJQ49$7$^$9!#(B
com.sk_jp.text.html.TagProcessor
TagReformatter$B$KBP$7$FFCDj$N%?%0$r:F%U%)!<%^%C%H$9$k$?$a$N(B
$B%O%s%I%i$G$9!#(B
$B%f!<%6$K$h$kIT@5$J%?%0=q<0$r@55,2=$9$k0Y$K;HMQ$5$l$^$9!#(B
com.sk_jp.io.TranslatedWriter
$B3F
com.sk_jp.text.regex.Regex
com.sk_jp.text.html.HTMLLex
$B%?%0$N3+;O!?=*N;$H%F%-%9%H%N!<%I$KJ,3d$7$F%O%s%I%i(B(HTMLHandler)
$B$r8F$S=P$7$^$9!#$J$k$Y$/%V%i%&%6$N4E$$2r
HTMLLex lex = new HTMLLex(new HTMLHandler() {
public void text(String s) {
System.out.println("text = [" + s + "]");
}
public boolean enter(String name, AttributeMap attributes) {
System.out.println("Tag_start = [" + name + "]");
System.out.println("Tag_attributes = " + attributes);
return true;
}
public boolean leave(String name) {
System.out.println("Tag_end = [" + name + "]");
return true;
}
});
FileReader r = new FileReader("index.html");
lex.parse(r);
r.close();
com.sk_jp.servlet.MultipartRequest
$B$5$i$K!"F|K\8l$N%Q%i%a%?(B/$B%U%!%$%kL>Ey$K$bBP1~$7!"(BMap$B$r(Bimplements$B$7$^$9!#(B