Professional Documents
Culture Documents
æ% z
Ëw ® www.2tigers.net
Ð);*2¥ www.ufoc.com.tw#QÃ
Many of the designations used by the manufacturers and sellers to distinguish
this book, and the author was aware of a trademark claim, the designations
Íh/ZXèC2¥C®`(Ìí &Xò2¥Xb
ÍhP»ÝPDCXbã®ïèºìµ8í ã¹ð8m!ñ
¢1iXbP4KB®ï¼T¼æãn?¬³3Xp¹u.¸àà
#T #CW£]ö´ÙЪ×6¡ã¸àïH®ïÃ.
c
Copyright
1999 by Lao Hu and Two-Tigers Workshop. All rights reserved.
1¹hJP[ã¢ðà¬v®¤¼¿àHÝGèìã3
h° Ó*|JTI5P%»µ
\ïµÍß
ÑT^n.l0mã|^
TßK°
W`ÿày¤¼¿àH!`ÿ'¸àï[ã¢ðà
Íhå»j½®J2°1®ï1º×6°_åJ
¯Þhh¤
lÁ>0jÞ ºÞ
ÒÁ||¦(¿{¯
ê
¶3G« xiii
0.5 þ8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
0.6 t¡ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
1 +Û XML 1
1.2 XML Æ6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1 ó. ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2 î= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
v
ê
1.3.4 XSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.5 bø°8nÝçì . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.7 £8÷ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 àÎ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 XML +°r
21
2.1 Gu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 -ôòP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Û . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4 TþÝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.1 Xb-ôKÑ@2nT . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.3 XbòPKÿîSr . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.4 Í! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.6 |° J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.7 ¶b5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.8 CDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9 ×èËè! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10 PI ø!# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.11 ¢¢ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3 Unicode 15 35
3.1 Unicode + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
vi
ê
3.2 CÒ»Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 ||ÝÞ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.6 {à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4 XML ;õ 45
4.1 CSS á . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 (Ìè 47
5.1 %m(Ìè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 (Ìè Ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.1 ýîÎ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.3 (Ìè @» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.1 GHC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.5 ï'Ý(Ìè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
vii
ê
6.4.1 XHTML Q
ê . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.4.3 l?JµA . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.4.4 Í!¯4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.6 ¢ìW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.7 t¡ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.1.3 XSL ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 XSLT á . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.3 Þ XSLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.3.1 W`ï . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
viii
ê
7.3.3 ÙW5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3.4 q-ôîb×ù . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.3.6 !òPÂÿ" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.5 ð
Ý — @®Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.5.1 xt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.5 + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ix
ê
x
ny®ï
Run!PC Ó* ¶Ýû
ç°']«Ý¶pÓ½
xi
ê
xii
¶3G«
0.1 ¶9ÍhÝ^
®`«¤î9°¬½NÍ]±I*ÝÕ¼e¡K²Ý×Í2Í£µ
ÎZÝç¾??.+ZCÝâbP°ñDzåÕ94±I*Xñ¼
Ý-¿
XML Î×ÍμÝçt&Ûyßv^ðßþñ¼¬úP;
Ý8I
*9g&ËÝ:Õ&Æ39]«ê . . .
ÿ¾Õ9ÍêÝ9Ä6Î×͹ðìµÝéh¬¹ð¬î35²6Ý]
\T|^Kÿt·Ý[ÞéhÝ©PsìÕÁ
0.2 \ïTÌnÝÃ
3. XML GÈ
t?E HTML ý¥+bÃÍÝ-IAW¶Ä HTML
xiii
¶3G«
DOMA
Ìn CSS ÝÃÍÃFJÞºbQÃǸ
^àÄ CSSô
0.3 ÍhX¸àÝBrýî°
• Z©½úÝ2]×|Eî
• P»õæD|ÆC^CCourierÓ¨A
h²hLæÝ×°oo!`g)î×°ÝÐrA[ A à
¼èø×°¥¯4Tèº@àÝF9°ooÏÝ
Õ`Î×:µU3
hm¾ðS»9®1¯h(
æ
0.4 A¢àhÝ&4
h PDF XÛÝ5h6µÎ
à PDF å\ Acrobat Reader ×Æ
9ÍhÝ`Î3¼W\X:ÕÝ£ÍWÏxê1 ÍhÝh3ZÌÝ
ìAg)PÁÏ×vÝ8TôÑ@2¨¼
1
9õp ÝhbX!ô¯¸àï.
KÝ PDF °«xÕh
xiv
0.4 A¢àhÝ&4
/Zøü# Z8!¢Ý#×|äî
3é\îà#å\9Íh
Ý`Î|à9°#.
ñÕhÍ2] G«ÀêÝ&Ía;4
êZaÝÛXC&!!%Ý_rí|/I#]PÓ¨]-\ï
ãå
N hèÕ¥ÝÝb(Þ`A9Í(Þ3hÍ2]b©½ÕÝ
º3å#½(Þ¡:Õ×ÍäÝ#5ËË
a;# A × Í Ý b ( Þ Î Ø a ; Ý x Þ » A n y Unicode[3] Ý D
¡9Í`Î
3#:ÕÝÑΣÍa;Ý_r
°# AÝb(ÞÎØa;"DÝxÞ¬3Ø°èÕÄÉA Ù
r
9ø'ÝêÝtݽ¿yJÌ«ÝY̲?¥ÝΠݯ.h
¼3üîå\Ý\ïô²åÕv«aîø=Ý-¿
²I# tÝ/I#²Xbh èÕÝçëCçîÝ£ÙK×| ø=
ôΠݯ\ï3üîå\`ôºý´9°8nÝçë£G
Ýp ¬
=Õçë
xv
¶3G«
0.5 þ8
4Q&E9ÍéhÝ_4C&4ø=Ý']«õðsT¬"y%®8ݧ
¬9¿à&4ø=Ã
">2®Õ0Ýa;õ/
0.6 t¡
ͽËw 5ãyçàyç6Ý×/ÝÞß3hTDÄ9Íh çî
ÝZt&¼× eSÛÝßæ
Ñ
b¢1ÝÈ <Tý0lÑK&ðK
¶*¼
&pailing@2Ti.com
xvi
1 +Û XML
^ÏÝ@Ä×O 3Y&£GvÝÓ*çì 9ÍC¿1BÕ
¾Ø~Ý2M&£G®`PÊ8õ¸n;«¤9°t#Ýi¥
;1ÎÏ×?à#ñÝ×®GXÎbÝ£G¬úÑ3çîß
. ¸ÑÎ'¼ÞZ/Ó¨3¸àï¿GݬÎQ&ð¿y^ Ý
} (table) ]P4
<h1>.¦Lh</h1>
<table border="1" cellpadding="5">
<tr>
<th>(Ì</th>
<th>®ï</th>
<th>³±¬J</th>
1
1 +Û XML
</tr>
<tr>
<!-- Ó
ÝhXÝP9
F ;-) :M -->
<td>õi¯Ýç°'a</td>
<td>
</td>
<td align="right">590</td>
</tr>
<tr>
<td>A¢3 7-11 ç*ç</td>
<td>P(h</td>
<td align="right">120</td>
</tr>
<tr>
......
</table>
2 Ëw
2tigers.net
1.1
%. XML
<font> ff/Î
î&é¤7.t±Ýê8/¼¯&ÆÝV|¢hfhô
mss2×çìÏ:®Þ3h7äÝç°¸àv«î»Ý¶
b°T&ÎJ¼ý¥Â×:Ýb°ÎJ¼ý0=ÝÕ9ø¿ÍÎ
ý¤`(ÌõêÝýA¢Þ¸Æê2³ã¼9µbF{[Ý1 A&
PAΩ½Ï£qͽE&&øÝç°ÂD¹0n"£G¾
WA9°ç°£G©Îöºßvå\;£^b®Þ'×6K4
J¬3£GÝçt&ßvm@ä^ ¼&Æ95Íz|
þz[£
HTML Eµ ²Ì]«<QÁþzE/ôµÎ£Gݾ
ß^øøàÝEî«X$ÕÝpÞ&ÆtmÝÎ×ÍÞ¤`}@ýî
1
A
H ÝÈ
Õ×Íé¤çìG×G3ç°ó×ø¤`Q¡3p
óCî HTML æD:D|2.4¤`3æDÝ5]6¡2
¼ ;-)
P¾ XML 3
1 +Û XML
5£Îε;
Ñ HTML 9]«¼½WÊ`¶m9
×°±ý
6
×Í <price> ݱýp¼ßµºá&Æ[?¢µ&&¼màÕ&P&
ø!ÝýAÙÙK
HTML
£ÿÝ
(Ìr} . . . &D3XòÝû4ê5ÿ×zÞ½¬×Ë£
£]A¤`T1ºæÍJÝ£]Úx×"×è23 õVÝ
*Ýçt&é¤@·¼²²é\Ù Ý!^Çä£
G!F;Pô¼¥ÉAGÝÉ©P&Æm×Ífê
4 Ëw
2tigers.net
1.1
%. XML
õ > ÐrÀR¼?UÝÎ:@»
<.¦Lh>
<h°>
<!-- Ó
ÝhXÝP9
F ;-) :M -->
<(Ì>õi¯Ýç°'a</(Ì>
<®ï>
</®ï>
<³ 0J="±¬J">590</³>
</h°>
<h°>
<(Ì>A¢3 7-11 ç*ç</(Ì>
<®ï>P(h</®ï>
<³ 0J="±¬J">120</³>
</h°>
</.¦Lh>
5\ b=ýKÎZÝóç 6
1ËÝÎ&ðÝɯ
©ÝTàAÓ¨ç°X'¬¯@î¸Î×P§;¨à¼'&P&
õ <³>µ|5¿¾WÞ&h7êGXWÝh°õ³××8/
P¾ XML 5
1 +Û XML
¨ÝóCÄ6±y¬Jëû-93*^BÎ ß10õF]K¿Í`G.
hûî«ÝD¡
ºs¨ XML Ìn¿4¬úPÝ©²bÃy»;¨*Ýé
²²Ù Ý£G!;
µ=&9
¼/IÝ&ÍI KD3&9!ÝÙÕóy0Y-Ý
Ù ??.8A1Ý¿¬£]08CW£Gø;Ýæp39°²²
Ù £Gøø??m¸à©Ý85¿2¬÷BhÝb&
&ðjìAøÍÙøFð±Ý8êº×ÿCW×p
RB
CjTÞ-jKý¥®£GøøÝ&Ùî©mb XML
[2.4]
-\㽬^ XF¼Ý£G
|¿à XML ãÿ|b98
6 Ëw
2tigers.net
1.1
%. XML
P¾ XML 7
1 +Û XML
+}PÇAh×¼ØÍÙ/IÝ?¬ºîCõ¸øø?¼ÝÍÙ
. XML èºÝ×·§Ýc
XML 9 4 ¿ y £ ] Ý ø ð õ F L Ý © P ¯ 9 ß - XML Þ é ¤
DÄ XML ¼ì2óTFL'%®`Þ
®æàÝòÝçÆשbl
¼ (Fortune 1000 ùÝ) ÔÿRXML Ý
8 Ëw
2tigers.net
1.1
%. XML
KÎt·Îóß
XML Î2wÝýãßßK|J¸¼s8N82¥.¹
Lºb1ÿPÝ2¥¢½Ñ;©bÆ z½Ý}P¼¿ßþ>
^é\{Ýæ¹²>W£]§Ý>3μÞ?ήÞ
1Â
SGML HÄÿÓX|×à^b3t&îøR¼×©bl
¼TÅ8^
2
XML ZÍÕÎ;Ý
3
ãz©« (Intel) 2¥xðß«Xèï?I*Ý
">Þ¸×ÍþnXûÝ0À
óNO¡¼ÑÑ
NËO¹¦×g
P¾ XML 9
1 +Û XML
Ä`ÝP?W®Þþ9°PÝé\?\
ýïÀ:NÕ}Î
ÃÿÕ9øÝlA½8Ý?±õ>ù\ÞZg)»ð
>ùÕt±Ý}PJê&ð^b[£±ÌÝZh_ì8EÌÝZÝø
P?ÿK×"×è2D@¥¨
?ÎD|Ü~Þm1ÂÝZËKÜñÅ8ú2Z°Z
ª]ÀBI.@~ ×#yÍßÝ^B/7Km1D
Ý` º¡t¢3Zhé;Ý 21 tSA¢ò1D9°Zõ
ÞÝ«
ìÌ^ ßÝ×ÍÎlÝ»çîÝ&¨õS[ìêÝÑÎ9°PN
F\ÞWûî0Ýç°/8/¿OGµbßμÝçt&YÿÞ
9øÝ;
1. ¸àït×µGm^Ç
2. 9¸àïyÎ.@é\îÝ^ ߧ¼.Tê§Ýè2¥C²
10 Ëw
2tigers.net
1.1
%. XML
ÝRFâF^'?¡¯PçîÝ_ãì¬.t±Ý 8/
¼
3. ××8ÕÝ|¡^ ß'¸àï/ ×áø×}t-!èº
® ^ÇÝ¥¢
#ÞÝà#«^ ß×W
¬Î 9øY?ÝGÿKÕêGK^b@¨I5æ.ÑÎG«X1
|DÄ9°ý"20Õ0Ý£GºZ´3×n5HTML Wõ6Ý
?Þãݨõ
èîXý¥Ý/¯¨õS[¢ãýõ/ ݵDn;ã@20Õê
ý¾WÜÍ»&Íß?£ËÆR¼(Ý"8àR¼¯øÍÝßÆ
né\"8Ý£G?® &óGÝ¢¬®ÞÎ5"86ËCHÄTÙ
¨3é\ëÝç°ÑÎ&0ÝA
<é\à>
......
<ø\> ýTø\"8 PS2 +« </ø\>
...
<ø\>{ùÔ"â!lÆUSB +«</ø\>
</é\à>
P¾ XML 11
1 +Û XML
¬¸Æô¨yØ)¬$Ý+Û
<)¬$>
<$(>\Zoo!</$(>
<Wõ>
<$>A
x¬é¥</$>
<$õ>äßé</$õ>
<$õ> ¨î"8 </$õ>
......
</Wõ>
</)¬$>
#¨yÍvlÝç°ÉA °ÿbTébÝ®`1°
lsv¨õR¼3[£ã@PîK{9Ý
1.2 XML Æ6
!) ¸'9ø!ÉA×Íçh7Ý%h£]Émw3ç°
ºßpêm.¸Æ3ó°ÝsÇ hØ)9Í`Ω'Ë
¥ÝÎZÝ/õ²Ì'Î5ݲÌø!`XML Z
åÅ(
12 Ëw
2tigers.net
1.3 XYZ Ýb(Þº — XML Tà@»
GÃ&ÝÄP
1.3.1 ó. ML
1.3.2 î=
P¾ XML 13
1 +Û XML
ã
Ý'iÊ`2ùÌápÝ×I59]«ÝèçW2Æ(Ý9Í®
ãs" %¢×ͱÝ÷
14 Ëw
2tigers.net
1.3 XYZ Ýb(Þº — XML Tà@»
àï3p ®C¨õÝ@bß.Za
Flash éÅ
9øÝç°
ôP°¯¨õS[ìõSrÍÝZCº"®Zlõh²{!PÝ
\bÂݸàßý
Îç°'it?ÝX]nSVG ÝGÿ4Y?¬êG$)º3^ÏÝ
2t¡ìº§øp\
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG August 1999//EN"
"http://www.w3.org/Graphics/SVG/SVG-19990812.dtd">
<svg width="4in" height="3in">
<desc>|ìÝ SVG Dºi×Í ÝiRݲo</desc>
<g>
<circle style="fill: blue; stroke: red"
cx="200" cy="200" r="100"/>
</g>
</svg>
P¾ XML 15
1 +Û XML
16 Ëw
2tigers.net
1.3 XYZ Ýb(Þº — XML Tà@»
ËÝsß½Ý
Î39
:ÕÝù ;-)
1.3.4 XSL
1.3.5 bø°8nÝçì
îserver 3¸Ý£]00Õ9Íç°¬vÞXbõ9Íç°n;tÛ6ÝÍç
àïóCG?
é\óPTÎFÙÝ5nhà6PÑÎÎlÝî£GRDF 'Ýê
6
Ãà RDF ýãÝ1°
P¾ XML 17
1 +Û XML
ÝÑÎà¼àî£G¬¯^ \?¯¸\ÿU9Í¥Ý
Ý;øø|à¼àç£Ù]-¨´¾£Ù£Ù Ý8!n
;
5£ Netscape øÿ¼99ç°çìn=PÝ£]÷6
Ý WAIS ¨õS[Ýs߸ݨõÎÍa7bxÝF¸Æ#
åçì¼x (rBº®îä^ É©8/¼Ýç°EÍÝø=
Ý¥¢
çì¼ïLÍÎõãPP²Ýì¬ ÝÚS?9Ý"~àn"CÝ'
¥-`¨õPôª±Ý¨´ìÝ@àÂ
HTML4.0 : 100% Yî W3C Ý HTML4.0 XML CSS1 DOM1 ²E CSS2 DOM27 ô
http://www.w3.org/
b×°Yî Mozilla ݸà+«ôÎ×x±¬¬¿¬v|¯ß
TR/REC-html40
XUL : ã'¶È¼-à¼'׸à+«Ý+ — XUL êÎ×4
http://www.
XML ÝTàôµÎ1! XML Ýß|52à XUL õ CSS ¼; Mozilla Ý
mozilla.org/
xpfe/xptoolkit/ ¸à+«p ݲÌô.ÿ Ùw« (themes) ×ø¯b'»¤Ýß
xulintro.html
5sì Ýè µ #Ý MP3 êw Sonique õ WinAmp XYîÝ skin
18 Ëw
2tigers.net
1.4 àÎ
ðî
1.3.7 £8÷
õ Commerce server
1.4 àÎ
XML Î^ÝI*
¨3µ|5²å¸Xñ¼Ý?94¥Ý XML 8n
I*CýãKs"W!&vTà8?A$¡Ê\">2¦
P¾ XML 19
1 +Û XML
20 Ëw
2tigers.net
2 XML +°r
®Õ14+°Ýa;×:~b
2.1: Z XML @»
2.1 Gu
3 2.1 ÝÏ×B&Æ:Õ A
21
2 XML +°r
yEÍ»2 P_DÝYîJã&8s"ï
2.2 -ôòP
50J=”...”6JÎ5³69Í-ôÝ×ÍòP&Æ.50J6Ì®
5òP(6r¡«ÝÂJÌ®5òPÂ6t{·Ý-ô.¦LhÌ®5q-
ô6 (root element)
22 Ëw
2tigers.net
2.3 Û
2.3 Û
î
-ô(`¥.³E0íáÝZCDÝ
2.4 TþÝ
“parse” µ Î Ý ¤ 0 Î · Ý ß v & Æ Ý \ N F K 3 Ý
P¾ XML 23
2 XML +°r
parsing ®Q??BQá —
¨3µÑ3 parsing — å\9Íh
X|:ÿU&¶ÝZaTAh ;-vWUøÍÝßýÝÑÎ.
Ý\
\C\×àÕ+°+59Í ÝÓõÞ@΢é\+¯íá
8XT&CÝ'3Õîb×Ͳ'
«¼ý¼
T5\ 9Îø»Ý+°ôá¼9ͲÎ3ø
.ZÝÄâW
3.lÎ Ý 6
%&Æ×WգͲݺyîb9ËDT9µÎ. &Æ\Ý+
Î+§ÝtGaÉA&¼^.Ä»\.bþ+Ý
«E× +Z`&=tÃÍÝCÞxK¢z½?$è¯&
×MËTÑ;9SZaÝ
Æ
×M¿àZÝ/G×à .Z5W×ÍÍÎ
HTML j
Þç°µ Ó¨3¸àï«GA¸\ÕHùÒHÝ HTML Z
ç°©?-íwaÝ
jݶ°õ}P}ýR¼K)}.hX9g×µ}Æ!X
bÝ XML ZKÄ6ñF¿ÍÃÍ!ì×;ÝxÞÍJ׺ÙÙª
£NÝý0G>
5Æ!ÿ96
24 Ëw
2tigers.net
2.4 TþÝ
P¾ XML 25
2 XML +°r
XML Ý+°CE}PÝ}O2CÉ£°#Ós"ý
Ýƶ1°Î×Íé\IÝ@~ßc9ËÍ´` µT¶×Í
\ XML £]ÝP
!ñ×èÝάÎàËp ?Ä^®ÞÝç°µ1JÐ)
¼\Ö¯ÆÝ®`ȼiâ2§&Ë"â+°-Ýç°9µ
G«èÕݲ®Ý»Ñ&ÆàÆý¼ÝM¬T&&Æl
ÿ¼1ÝÎ%X|&1&Æ\Ý+ ËÝÎ
Õ´?%KW
2.5.1 Xb-ôKÑ@2nT
3 2.1 &Æ:ÕXbÝ-ô[2.2]ÑÍLæÝ9K£]T¿Í-ôÕ
26 Ëw
2tigers.net
2.5 XML ZÄ5C}6
src="foo"> 9vW×Í-Ýý§ð6
AñbòPÝJ¶W
<-ô òPä="foo" òPØ="bar"/>
&Ƶ¸à5.¦Lh6Ý»'*Fb9ø×Íý4
<h°>
<(Ì>A¢3 7-11 ç*ç
<®ï>
</(Ì>
P(h</®ï>
Ix¡u¼ßA
E£]x (data structure) õÎ0'ÝÃF´
ß
P¾ XML 27
2 XML +°r
2.5.3 XbòPKÿîSr
3 HTML &ÆBþûððÝTÿàSr.&ýÝòPÂR¼ç°
p E9øݶ°;ðKÑ@§ï[¯9ÍSrݨé?ûC
.hSrÝêY÷\òW÷?
2.5.4 Í!
Í}PÑ@ÝO9îè¼1ݩοÍ3Tàîtð$ÕÝ
YW XML Ýί
"2
áµTà¯@îb°9]«Ý!
2.6 |° J
<h°> £];W
<h°>
<(Ì>A¢3 7-11 ç*ç</(Ì>
<®ï>P(h</®ï>
<³ 0J="±¬J">120</³>
<³ 0J="±¬J">90</³>
</h°>
5C}ýã6¼××J::¬×Íh!`bËÍDv¸àÝÎ!×Ë0
J«{bFMÄT&3Ø°)ìÎ|WñÝÉAÍ×ÍÎ$Ý
28 Ëw
2tigers.net
2.6 |°
J
8¬Î9ÎεÎçh7BïTêTÝ}P÷ê'*F
¡Ý5·®ï6(ghostwriter)P(h©Îð3£ [þݵ f«î£ËÍ
<h°>
<(Ì>A¢3 7-11 ç*ç</(Ì>
<®ï ßó="2">P(h, p</®ï>
......
ε9ø
<h°>
<(Ì>A¢3 7-11 ç*ç</(Ì>
<®ï>P(h, p</®ï>
......
. ®ïßó¢ã<FÝóꯧ£]ÝPÕÎ
<h°>
<(Ì>A¢3 7-11 ç*ç</(Ì>
<®ï>P(h</®ï>
<®ï>p</®ï>
......
|3Í!5®ï69Í-ôÕ9Î|¨9gÎ3¢×Í <h°>
P¾ XML 29
2 XML +°r
2.7 ¶b5
Windows õ MacOSj(¶PXÛ9F\BÆ©½¥
2.8 CDATA
£Õ9§¶÷:
<![CDATA[
zccc &; ...... zzzzz
²Õ <<<
>>>>>> ê²Õ
]]>
1
XML DTD Ý+°Îà#µY SGML
30 Ëw
2tigers.net
2.9 ×èËè!
5\ 'W9ø Bÿ6
Í@9Ñθ'»úµÎÆ'W9øÞPTÝý03Õt
£ÍÝ
<![cdata[ T <![Cdata[
×"×è2øì*ÝP}ݵ=¢3 sRõÝèç
ðC-ôP°¹f´
<![CDATA[&Î sÝÏ×
&ÎÏÞ
]]>
õ
<![CDATA[
&¨3^Õ sÝÏÞÝ :-(
&^ÕÏëÝ
]]>
:ÿÍÝ!Ï¡A
3ZÝNÍ CDATA G9×Íè
ÝÉAbYÌîÝJT2à|îÏ×˶°
2.9 ×èËè!
P¾ XML 31
2 XML +°r
3 HTML ZC/|5×è65Ëè6#5ë=è659=
¶W
<®ï>
</®ï>
î×Íèç.ZCõýâÿ×FÇ
<®ï>
</®ï>
32 Ëw
2tigers.net
2.10 PI ø!#
çKbÍD3ÝÂC©½L
2.10 PI ø!#
Ý PI¶°
P¾ XML 33
2 XML +°r
2.11 ¢¢
ήÕÏ 8 aå\
34 Ëw
2tigers.net
3 Unicode 15
3.1 Unicode +
Unicode Ù×D)(¤LÎ×ÍÞt&î¿èËóBÝZC_DJ)3×RÝÄ
æÍK¡ÎãY»&é\äXàWÝ Unicode
º¼.êÝ3.Â×Í Unicode
º :
http://www.
t&;Ý_D×ÞXbt&îðàÝZCK
3K&é\¤s»
unicode.org/
²½`XÍÂÕÝ®ÞE&Æ9°ðm3&ËZCD ®»ðÝçß1
Î!å
ÝÞWûî0ÝZCÙÙ[/Õ×Í;Ý_D^×9ì3×)BzÝæJ
*×çƼÂÿÈ5ÝÎUnicode
º 1991 O|¼-õ ISO Ý UCS à
õ ISO10646-1 ¸à8!ÝC0õCD
ô¦CÎ ÝZCµb°0ÚAî «^bÝCõ×°
35
3 Unicode 15
Qò¸àøbõ2ZZ°Z¿èËÍZC¸àjE9Í®
]n.^8Z«ÝC|×ÍD¼»A'C3Ã
Z ÕW°ËÍèC¬3ZC^Z©bë ×U
/Unicode E¯9ËÝ-½Xbñb°'ÝC}'×Í
D¬ÎA×ÍC3Ã-½f´½ºE¸àïCWZ§îÝ
æpT-`Unicode º ÃËËÌÍͽ_D»AC^3ÃÎÚ
ËÍ!ÝCD¼××Ã
B Ä 5 ^ 8 Z J ) 6 Ý C 3 Unicode Ì UnihanÙC 3
CAô¦CÎÝ&9C
Big5 ðÝ5n6Cè0
×D
0xF9D8.
A ¥
^b[3 Unicode (2.1, 3.0) Ýýã.hÈ
3
ðW®r
Public/UNIDATA/Unihan.txt ìµÊ×
ÝÎ9Í database &ð
ø Ä 16Mb ¢ U Æ ¢ D ¹ × ì Í ¬ â Ý Unicode õ
Big5CNSGB2312-80GB2312-12345SJIS . . . 8!ÝET?=¬Èé D
36 Ëw
2tigers.net
3.2 CÒ»Y
ïmìµ9Í database
3.2 CÒ»Y
ÍhûõJ§9øÝ\ïÆ3å\Õ¡«Ýa;`f´ºZ´]'#
Þì×;5||Ý;6Jð®Ä\A
E9ìI5B:ÿbFáX
½HT©Ã:×ìbÍÃFÇ
¶Unicode
º.¦¸àÝÎ UTF-8 õ UTF-16 9ËË}PÍÝ “8”
OÝ_D^×Kà쫺Õ
æÏåÅ(.hm»ð¬Í+ZÝ£]JmDÄ
_D
¢!÷Í@-½
øÝà
hJH9\
2
×Í byte ã 8 Í bits XàW8*K©ß
P¾ XML 37
3 Unicode 15
Î|×gE×Íê9ìXbÝjn®M¼»ð9
H]°õ¸à13hµ¥«ìµF http:
//2tigers.net/runpc/xml/runpc_xml_2.html
h ² b × Í ´ 9 ¬ Î ¹ ð Ý UTF-8 » ð
Ì § uniconv b à Ì ì µ http://rosette.
basistech.com/demo.html
¼1@@]-99
38 Ëw
2tigers.net
3.3 ||ÝÞ;
;ðºª×ð(ÍúÝý0G>µÎ×À®rTP°ï]Ý®ï
ÑzZTÝ
Cð1AØ8Ñ@Yî UTF-8¸PµE&ÆbÝ¿àÂ
3.3 ||ÝÞ;
A
-
. XML Ý^©ÎÃy?TÞG§y¸à¨WÝÌH
à#õPDÆø¼£î«XèºÝÃÍÃFT&µBàݹ#Ç9ì
||ÝI*Þ;QÃ3K´ÌÁ§Ï¬ÎA
¿ðô¶×FP
Dæ§ÝI5&ð¥¯@î9ìÞ+ÛÝáIJÕ&9ÍÝr½ ô×øå
P¾ XML 39
3 Unicode 15
ó¸/D
XbÍyì¼ÝCÐÀXbÝZCJ×|ÏëËP¼_4
|
40 Ëw
2tigers.net
3.3 ||ÝÞ;
ªàëÍ bytes
P¾ XML 41
3 Unicode 15
ÍOÝð}P-^£}§ UTF
çëº&9®Þv©Î 0x00Íb¿Í©C-ôKõ&
ØÍCÝ&þz[£h²8*Kb9øÝBb`ÎZZØÍ
CTèçC-¨ c
Ý&AÂÕû*ÝCôºrq¡×ÇCUnicode ýã!`bZ
Fé
42 Ëw
2tigers.net
3.3 ||ÝÞ;
µª×¹\
&Æ'2ì3ÆÝñ¼ôpM&9]t&Ý8¼ïõP'/
Î
ÎzZ
Ý5=]n¸Ý8F«{ÄyþF
°Í bytesf´Bz
R¼§ UTF-16
P¾ XML 43
3 Unicode 15
T&ºMÉQ§EÎ'¼T}μCóUÝm£
%¯{
ËÍ bytes ýlôº¡««½i
¿O/ÃôºàÕ. §E|²Ý009 B|T}*^9ó
)ÝmÑAh&Æ|¿àÍÝ{à 9Îì×;ÝxÞ
3.3.6 {à
Unicode 1ºÝës{à ¶PÝß|J¼ãºàÍËs3§E
Ý ½6g)§EÝ_D]PÇ UTF-16¼¸àA&ÆÝPmàÕ
Unicode ^b[ÝCT©Ðrµ|¿à{à ¼£°CÐ_D
44 Ëw
2tigers.net
4 XML ;õ
4.1 CSS á
xml/runpc_xml_3.html
45
4 XML ;õ
46 Ëw
2tigers.net
5 (Ìè
2åÕ§×A
ºà Perl T Java £
B3¸à(Ìè
áÝ1
V
<V(>
<V> <!-- Vä -->
<(Ì>±Æs</(Ì>
<2ë>...</2ë>
<é>...</é>
<fax>...</fax>
......
</V>
<V> <!-- VØ -->
......
</V(>
Äb°VμÝõñ
¼Ý;ð3õ9°VÝ=]«KÎDÄ&
Z — 5õ(6
1
39ËÍ+(Ìè ÎDÄ package ¼@¨Ý
47
5 (Ìè
<õ(>
<õ> <!-- õä -->
<(>...</(>
<I>¼I</I>
<>Ýõ</>
<`Þ>36000<`Þ>
<é>
<5^>...</5^>
<î>...</î>
</é>
<email>...</email>
<fax>...</fax>
......
</õ>
Ý£]9ø &Æ=ãÝõ¼.ÝV`-|yîá¼0øÝõÆ
<V(>
<V> <!-- Vä -->
<(Ì>±Æs</(Ì>
<2ë>...</2ë>
<é>...</é>
......
<=ß>
<(>...</(>
<é>
<5^>...</5^>
<î>...</î>
</é>
......
</=ß>
......
|Ý.h39˵ì&ÆmÝÎסÝð°¯^ 3§Ý`
48 Ëw
2tigers.net
5.1
%m(Ìè
ÎàJ\Ǹ^b¢(ÌîÝM&Æ)m×ÍÝ]°¯é
P
Ý-ô( 5(Ì652ë65é6×Cî5V6ËCôµÎ.
¸Æ5½;W5V(Ì65V2ë65Vé6.(ÝÞ@×Fh
5õ(6õ5õé69øµ|ª±(ÌMÝ^£Ý
KÎã&ÆÏW'Ý2 Î1;µ;µÕË;Ý&ƵP°@1*¡º
ÂÕͲ¼Ý!(-ô
XML +[p.29]K&à×Í}×PÞÝý*¼¬v3¸à`.9Íý*õ+
Ý-ôòP(=3×sɸàµEºõÍ+4zÝ. NÍ+
X]nõî«èÕÑ;ý(ÌÝ°b°v«â&ÆÎ.5V6Þ
C3LâWÝ(ÌA52ë65é6G¯5V(69Í+ Ý-
ô(ÿf´}©
3KõÍ+RMÝ^º(Ìè Ý°Jί_
¶ XML ZÝßZXàÕÝ+¼ýîD
×Í}©ÝýîD×+&+Ý(Ì.&ÿÍXb Ý
2
¯@îµ 8×ø9óߺ$ DTD 'ݺà#¿à¨WÝ DTD XL¼Ý
+ÉAã×Í!¼º×¼Ý
P¾ XML 49
5 (Ìè
5.2 (Ìè Ý
5.2.1 ýîÎ
î«BèÕýîDt¥Ý©PÎ}×PÞ9|¢ã9Ë]P¼¾
gѧ£¬ºÿÓvº^[£¸àGÿÛ#ÿ}ð
¢?=ʽ«?(ÝBéKº¥ ;-)
¢à#¿à.Ã3¸îàçë¼(Ìè ÷3 a9aHÁ
3 ç½9ìÝçëTbÝxJX|×6(Ìè ýîDݼ®
+| â¼øÍçëÿc¥© â¼µ?XàÝçë#
mD3 ¬3hÎÈ
òW?êY — h&ÆÝç½3^Çÿß
homepage 9ìÝçë
3
Java Ý(Ìè ôÎàv«Ý]°à#Úx3 DNS ½(î
4
ïÝ@Äbß9
50 Ëw
2tigers.net
5.2 (Ìè Ý
ݯ\ï|§&Ñ3î¸àf´!Ý5çë6×ÞURI (§
RFC 2396y×ß´
!áÝ URL ×ÞJÎ Uniform Resource Locator Ù RFC 2396 :
http://www.ietf.
×£ÙDݹ¶£ URL õ URI tÝ(²b!÷:% 5.1
org/rfc/rfc2396.
Ý/)n;ÃÍîURI f´ÂL ½¼Xb|CýîÝç£ÙPÝ txt
%h Ý%hÀê
5
b.®Ý1°
5@ýî£ÙÝãÿH5CѼÝD6
6
çìç°Ý.ú8f
P¾ XML 51
5 (Ìè
5.2.3 (Ìè @»
3D¡(Ìè Ý
×]PG
®Í5W`ï6
ÎàAr.ËÍ(=3×RÝ
52 Ëw
2tigers.net
5.3 (Ìè Ý
×
5.3.1 GHC
Ý-ôòP(Kb ÝF2ºõÍ+Ý(!«28ð
1CîÝýîDNÍ(µÿ}×PÞ
B×\8×\3®Ý5î«Î1ÕXML óà URI ¼}©Ýý
ëÍCÒÝGHC1º®©àHX|¸àïÝGHC&à9ëÍC
©sì¼'ݵ?ã®%(CÅÎÍguÎy¾ QÎt?
CæW¸ÆXÝ URI
£GHCõ¸XÝ(Ìè DÄ%øÝ ×]P.¸Æ
nÐ3×R÷9ÿDÄ×Ë©½ÝòP¼¾W — 9vòPÝòP(×|
P¾ XML 53
5 (Ìè
ArBó®5âBrb©ÝàX|GHC|àAr×ÍJ
º 3 × ° B Ä ` Ý XML h ° T Z : Õ
A ¥
<?xml:stylesheet ... ?> Ý PI[2.10] ( Ì
« b A
8M
. (Ìè ΢½òP¼® ×X|Ä6µ!3×Í-ôý «yw
3øÍ-ô :@jm&Æ}¡ºjE9ͮޮ1
+Ý(Ìè õGHCL ×?Q¡Úm3-ôTòP(GCîÊ
ÝGHC¬ÞÞï|ArâÇ9ø×¼¬øÍ(̼øÍ+
5ÿ×zÞ½?àHTºb!(ÝMbÝ9øÝ^×G«èÕÝ5V(
6õ5õ(6)¸àÝ®Þ|i2ÿÕXÝ
<k:V( xmlns:k="http://foo.bar.com/xml/customer.dtd"
xmlns:y="http://foo.bar.com/xml/employee.dtd" >
<k:V>
<k:(Ì>±Æs</k:(Ì>
<k:2ë>...</k:2ë>
<k:é>...</k:é>
......
54 Ëw
2tigers.net
5.4 (Ìè ÝP
<k:=ß>
<y:(>...</y:(>
<y:é>
<y:5^>...</y:5^>
<y:î>...</y:î>
</y:é>
<y:email>...</y:email>
</k:=ß>
</k:V>
......
</k:V(>
3î»http://foo.bar.com/xml/customer.dtd Î&Æ5V(6
××Ë ×?Ý|¡©Þ&Í-ô(KCîÊ ÝGHCøÍ-ôhòøÍ
+5ÿzz½½
P (scope) ÝÃFEP'&ð¥'&Æ.î«Ý»;¶W B
<k:V(>
<k:V>
<k:(Ì>±Æs</k:(Ì>
......
<k:=ß xmlns:k="http://foo.bar.com/xml/customer.dtd"
xmlns:y="http://foo.bar.com/xml/employee.dtd" >
<y:(>...</y:(>
<y:é>
<y:5^>...</y:5^>
<y:î>...</y:î>
</y:é>
<y:email>...</y:email>
8
C (string) |©âb×Í#ëÍC-èC
P¾ XML 55
5 (Ìè
</k:=ß>
</k:V>
......
</k:V(>
Ý[.˼Ù!Ý-ô 5¬(Ìè XÝP;XbRCI
·ùÝ®ÞÊ
tÝ]° QÎ3t²Ýq-ôý
.XbÝ(
Ìè õ¼ÝGHCK××L?9ÑÎG×;»Ý°A3Z
màÕ!×Í(Ìè `êÿ¶× ××g
5.5 ï'Ý(Ìè
rõGHC9I5ôµÎW xmlns="URI"ð1&Æ|.ï'(Ìè
ÝGHCWÎèCî«ÝP»A;àï'è Ý°¼¶µWÝ
<V( xmlns="http://foo.bar.com/xml/customer.dtd"
xmlns:y="http://foo.bar.com/xml/employee.dtd">
<V>
<(Ì>±Æs</(Ì>
<2ë>...</2ë>
<é>...</é>
56 Ëw
2tigers.net
5.5 ï'Ý(Ìè
......
<=ß>
<y:(>...</y:(>
<y:é>
<y:5^>...</y:5^>
<y:î>...</y:î>
</y:é>
<y:email>...</y:email>
</=ß>
</V>
......
</V(>
(Kº-®Îòy9Íè
º«G«!(Ý
×ÉA
<V( xmlns="http://foo.bar.com/xml/customer.dtd" >
<V>
<(Ì>oɸ</(Ì>
<2ë>...</2ë>
<é>...</é>
<çë>...</çë>
......
<!Û>
<!-- ;à HTML ¼®ï'è -->
<p xmlns="http://www.w3.org/TR/REC-html40" >
hV8 pv<b>&ð¾</b>õÆ1TËGt?ÕÝ
<a href="http://jerk.com/boss/">Íßçì</a>::tKÔ%
</p>
<!-- Ò HTML (Ìè ÝP -->
</!Û>
......
P¾ XML 57
5 (Ìè
ZÝï'è
58 Ëw
2tigers.net
5.5 ï'Ý(Ìè
¥ÝÎî»à¼ HTML (Ìè Ýçë¶ý
.Õ9
TBåÕ(Ìè XèºÝúbÝ(Ìè ¡&
-ôòP-¬÷ZÝ&©ÎöØ&3Ø+ÝZ}P+
ô!`¬×W ¦PÝÿà|õÍÝ+ÿàà)¤gº&
Úx3(Ìè ÝÃîA
à×ÍöZC_ì × 8 Office 2000 Xs
µ¼Ý HTML D
ºsƸ
«Ý XML I5à(Ìè ôàÿ4
P¾ XML 59
5 (Ìè
60 Ëw
2tigers.net
6 ì×Ý HTML — XHTML
Æ Ä£-
XHTML 1.0 9ýã3 1999 O 8 ` 24 ^>}
Èýã (proposed recom- XHTML 1.0 :
http://www.w3.org/
mendation)Ía-εA9 t±Ýýã¶WÄW
Èý㬵×
TR/xhtml1
5¿W
ÑPýã¯@îXHTML 1.0 9 ýãêGÑk¦2D¡ÊÈ
ÝNF×Î(Ìè ÝÕ®ÞõvÑt¡ÝA¢&Æ|áÝ
[5]
ï?»
:×ð XHTML æD3\bÍïÝÆNµ?&ƺ3¡«×
×ÞÕCÝ\ï|¿àÍÝsà#®Õ8nÝa;×"~b
61
6 ì×Ý HTML — XHTML
Ý XHTML Ý&Í©ÇüQ¥¬Î¤õ×ͱI*ÎÍÌb@²îÝL
bD3ÝÂ
Í®ÞD3 — Lÿ
áá¼çî9óÝ HTML jn}¼ýKÎ)
62 Ëw
2tigers.net
6.3
%m XHTML
}Ý
Kà Netscape õ IE lãÄH¦ 6
½Hb.éù
Ýç°8*à PC îÝp :ÎP®ÞݬAà
^Ýî¼:÷
5î6
&95ï?*¡¿Oºb¼9Ýl Ìõ;¸àï
ÞDÄ9°&wîlé\¼:1
6¥Ý!ÝÎÞºb¨×v!Ý^ ²3çîþ
Pilotݷͼ´`ݼÛbîçÝéOݨ33p %
5ƺ9ï?
)ýã?NÝÎ=×°ç°%®Ì¼Ýç°Kÿ)}3 PC
¾Ýæ5¿2Ó¨¼÷
1
à#Sà XHTML ýã
2
Nokia t-sÝμîÝÕl¬[:óéÚ?/ Linux ®¼Ùõ Mozilla p
¯¸àïÌ»ç
P¾ XML 63
6 ì×Ý HTML — XHTML
îÎÊ)ÄÝ
¹ — ÿà;
Ýz¬Að°¡'
64 Ëw
2tigers.net
6.3
%m XHTML
mà!à)Ý DTD
ª — UP
YÝ©PôµÎUP;"P (eXtensibility)
{^Ýçÿbð°¸x±Ýýy×y£K½vNL
P¾ XML 65
6 ì×Ý HTML — XHTML
Þj8F
¼;ÝXMîP¶'G
×MA
Ñ3'×ͱçì?T8ʸà
XHTML
6.4.1 XHTML Q
ê
66 Ëw
2tigers.net
6.4 XHTML õ HTML 4.0 Ý-½
bø°2]mJ
¨b¿4!ú×Æ
ý6
J ZµC}&¶X|×6 9ø
<p>9Î×Íða
ìÍða4èP×Îý)QWÔWE
</p>
<p></p>
ëzÝý
P¾ XML 67
6 ì×Ý HTML — XHTML
Õ
<i>EC<b>ÕEC</i></b>
6DøüDÆ
<i>EC<b>ÕEC</b></i>
è-ô XML ;
Ý ¬P!°×Ý-½Îè-ô©bRQ^bý¼õ¸gEtð
òPÂ×îSr
F B ÿ 3 Ï 2.5.3 ; Ä Ñ Î C T ó C XML Z Ý ò P Â × à S
width="100"> Än
5
<img> 4/!òPsrc height. . . ¬)ÕÎè-ô
68 Ëw
2tigers.net
6.4 XHTML õ HTML 4.0 Ý-½
òP(a
P`A&ÆÛ¸ÝÂÎùݵ.¸Ý(Ìw
ý
¬6¯¡«Ýr
K©ß9ËòPÂ6¯Ý°©½bÍ+§òPt; (attribute
minimization)
3 XML ×׿O׸à5òP(="òPÂ"6Ý°ìî«»
5t;6ÝòPÄ6××;¶
<input checked="checked">
<option selected="selected">
<ul compact="compact">
ôµÎ.òP(J¼ òPÂô×ŵÎÝ
6.4.3 l?JµA
¡£XHTML ZtÝO}PÑ@²ÎÍôb°J÷
£ Q
Î } P Ñ @ Ý Z q Í Õ Î XHTML Í © Î ) } Ý XML Z i
P¾ XML 69
6 ì×Ý HTML — XHTML
b°JÝLX3
óÛ DTD
¼«¸8(ÉA
ÝZ©à CSS ¼Ó¨¾Xà <font> £9ÎÊ)
Ý DTD
ì©ÿ{½è. <font>
HTML 4.0 Ýýã¬31ZC)
£ÌA
Ýçì 9óçì×ø¸àÕ <font> ýÝJ
Frameset 5vi«P A
U¸à <frame> Ý£9Î
ÞÝóC ;-)
7
39Íh×µÕÄ9Í®Þ9ÎÑ@ÝÌF?ñÝ XML Ýß
70 Ëw
2tigers.net
6.4 XHTML õ HTML 4.0 Ý-½
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/frameset.dtd">
©½èø
ÝÎ <!DOCTYPE>
×Ä6¨3q-ôýGÍJÚ
KB:Õq-ôýÝQBQá9Í-ôÎòyøÍvl¢øÍ
DTD£µ¼CÝ
Ýá¼
P¾ XML 71
6 ì×Ý HTML — XHTML
®¼Ýç°&ðÝz¨×ÍmEÝ]°Îà#3ç°×Íø=
=Õ http://validator.w3.org/check/refererQ¡3p F\9Í=
Ç
Ĩ3Õ?Ý`Î. b¿4!ø×ì
6.4.4 Í!¯4
}PÑ@õb°JÝ®ÞKX¡#ì¼Ýµ?ðÝ
-ôòP׶
X2à¶.h»lÕ XHTML£°Äà¶CÒ¼¶Ý-ôòP(
KÿðW¶
¸àÑ@Ýq-ô(Ìè
<html xmlns="http://www.w3.org/TR/html1">
çë¼
72 Ëw
2tigers.net
6.4 XHTML õ HTML 4.0 Ý-½
àHT!(ÝýºÆÚÝ
ýøÉÎøÉÎ
¹ \ZÝØ°£]t?Ýð°Î.9°£]w
CDATA
<script language="JavaScript">
<![CDATA[
......
if (i < 3 && ......
]]>
</script>
DT"Ý\ïyî®5bÄ£jì[XML ÎôbÛ[v¶°
µÝAì6
P¾ XML 73
6 ì×Ý HTML — XHTML
<script language="JavaScript">
<!--
......
if (i < 3 && ......
//-->
</script>
æ2øì*ÝPð1Û/ÎÍÕÿÝp Wÿ:
TK\ÿ;
Í @ © Î j ( \ ï Ý ì (webmaster) Æ K á ¼ x ^ Ð b
XHTML Z|¶m'W9ËËvlÍ×ËÇ
74 Ëw
2tigers.net
6.5 XHTML — Õ9 :
ݶ°
ôº9°p |¼Ý¬^bð°
[6.4.4]ݶ°
P¾ XML 75
6 ì×Ý HTML — XHTML
6.6 ¢ìW
\Õ9
º5ö994WR¼?jì b99G.Ä
http://www.w3.org/People/Raggett/tidy/
»W XHTML }PA
©Î฼Q
z§×ì HTML D»W XHTML
Kî
AÆÝ Tidys¨íjÎèÝ9Í`ÎÎ
Ý HTML Db
¥Ýý0Tidy P°§
¢¸Ýý0G>:Õ9Î3Ï¿Ý2]bý?
Ñ¡¥±þ×g Tidy
76 Ëw
2tigers.net
6.7 t¡
5¿ÿÕíj¬×6Ð)ýãA
ÝjnàÕÝýãYî
¬Øp YîÝýòPý0G>º××ܼĥÝÎ
|ìZ¸àïtàÕÝ¿Í¢óó4®¢
¢óó4 1
-f j( .ý0G>DÕ¼Ýjn
-m (-modify) à#.Ñ;ÄÝ/D/íáj/ãæ/
ýã#åÝý
-h (-help) XbYîÝó4
6.7 t¡
èºÝ×°'n^bÝܲ£G
È
/ÕÍaâÝ2]¿à£
ÝæDP»QÃ
××/39a
.ÕݱÃF¯é?Ñ
P¾ XML 77
6 ì×Ý HTML — XHTML
78 Ëw
2tigers.net
7 XSLT — XML ÝòÝ»ð+
à¼g)ÓTÇK Þ@2'²ÌPøÉACÝYwÝH
ð
79
7 XSLT — XML ÝòÝ»ð+
3 IE5 ©3ÇKî:P°
»AËÍ^nT
¼ | XML ¼FL£GABh¸àÝ XML }P
jn/J1¹
80 Ëw
2tigers.net
7.1 ¨×Ëø! — XSL +
7.1.3 XSL ª
XSL aB&ðîþYPÝs"¬'nBÄ×ëÝ»Ñ;$ÎW
ÑPýãÝp¹Î9øs"Ä?alK1¾õDEÝÎ XML Ý
¼ßÿ #Bsß=õDEËp8!§p56à8EÝ#«
XSL ÝÊÈP
ÊÈP²¯@î×I5ô. FO ÝÓI58À\-
¥#B¸à5¥ªìÄbKG6ݯªËë0Y- <çî&
Ý8µ??ó
(recommendation)n"µºëLv¯&Ƹê|Íhôº«t±Ý
VÊ`?±
P¾ XML 81
7 XSLT — XML ÝòÝ»ð+
`G¶ÝZa?Î¥ñ;bÍÝ]°|:
Õ£?Î¥a Ý3hÈ.ïEÄ`¬T
ýã ¢ÿµ\ª¯¹
7.2 XSLT á
tf´ß×ê9ó8YîÝô©Î9I53ì« àÕ “XSL” 9Í
(Þ`¼ÝôKÎ XSLT
»ð®sßÝ2F¼55
` ê5W
ñÇ»ð HTMLÇÑX3ç°bVP£]Ç`æáT
XML ZΣ]0Ç`ãÿÝ)ìtÊ)9˺®]P.í
82 Ëw
2tigers.net
7.2 XSLT á
X|"Ýçì Ý×)">»ðÝOÄ6¸à{jÝ^
ðÝ®Jµ@jm3üÝ`ð;Æ9Ý?Î
ðÝ°µêG@àP)8 b§Ä9ÍYÿ3μÎbT@¨Ý
Mozilla i
P¾ XML 83
7 XSLT — XML ÝòÝ»ð+
»ð9Ë°m´{Ý*iã#m¥xݼ8?KÝ
{jÝ{®¡;
J§f§¡
×M¿àÉQ XSL ø!õ¸X»ðÝ XML æ
:% 7.1
XML
W|íÕjn ;DR¼Tãp 3ÇKî
9Õ
E@j»ðÝÞ;εW½HT 3}¡Ýa;&Þ
ñ
5ÉW6@2lÚ XML WÝ;êG©mßé×ÍÃÝÆNµ?
84 Ëw
2tigers.net
7.2 XSLT á
P¾ XML 85
7 XSLT — XML ÝòÝ»ð+
l¼×ùÝõ!vlݤ¼88f??bÄPC?òÝÎÝ
http://www.w3.org/Style/XSL/
7.3 Þ XSLT
ã-Ý]P×M×M.êA×TO"ßËþãaÿ?·h
:×ì XSLT æDÕ9ÿ%øQ¡&jEÍÝÌFõÞ;××
ß
1
õx SGI Netscape
¼ James Clark !!(¬×ÍÎz»ß×ÍÎY»ß
2
3 Ì Ý xt
X b B Ä § Ý Z C © | UTF-8 P í . h A Þ í D » /
Big5/GB2312 m9þ×¼»DW9͵3í XML `µQD3¬Î patch
p× XSLT ýãÑP;Äxt s"××ða¡Aµµ&º
¶×Í patch ¯ xt
|à#| Big5/GB PíÄjE 1999 O 3 ` 7 ^ÌÝ xt ¶Ä patch ¬Ä`
à
3
Àÿÿ(Ý Expat | C ¶W>Á" Mozilla p õ perl Python Ý XML
ÿàó®/
86 Ëw
2tigers.net
7.3 Þ XSLT
7.3.1 W`ï
'b×é\{%C¤3çì躮`¨´ÝÆÝ£]0B
MÕ
| XML Pí|ìÎ×Þaݨ´
<?xml version="1.0" encoding="Big5" ?>
<?xsl-stylesheet type="text/xsl" href="search_result.xsl" ?>
<®`¨´>
<`>¨´CEâ "8F0Õ 2 </`>
<®`>
<0r>12478943</0r>
<`(>Wlôâ</`(>
<>$234</>
<1° çë="http://foo.bar/mouse/12478943">î½sº</1°>
</®`>
<®`>
<0r>83424723</0r>
<`(>Æ(??"8</`(>
<>$567</>
<1° çë="http://foo.bar/kbd/83424723">®`©P</1°>
</®`>
</®`¨´>
¼Ó¨¨õÕÝ®`£G
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=Big5">
<title>®`¨õ</title>
</head>
<body>
<h1>®`¨õ</h1>
<p>
<b>`</b>¨´CEâ "8F0Õ 2 </p>
<table>
<tr>
<th>`(</th><th></th><th>1°</th>
</tr>
<tr>
<td>Wlôâ</td><td>$234</td>\continuearrow
<td><a href="http://foo.bar/mouse/12478943">î½sº</a></td>
</tr>
P¾ XML 87
7 XSLT — XML ÝòÝ»ð+
<tr>
<td>Æ(??"8</td><td>$567</td>\continuearrow
<td><a href="http://foo.bar/kbd/83424723">®`©P</a></td>
</tr>
</table>
</body>
</html>
5×| ýî
88 Ëw
2tigers.net
7.3 Þ XSLT
<xsl:template match="/"> C D
<html>
<head>
<title>®`¨´</title>
</head>
<body>
<h1>®`¨´</h1>
<p><b>`</b><xsl:value-of select="*/`"/> E </p>
<xsl:apply-templates select="®`¨´"/> F
</body>
</html>
</xsl:template>
<xsl:template match="®`¨´"> D
<table>
<tr>
<th>`(</th>
<th></th>
<th>1°</th>
</tr>
<xsl:for-each select="®`"> G
<tr>
<td><xsl:value-of select="`("/></td>
<td><xsl:value-of select=""/></td>
<td><a href="{1°/@çë}"> H <xsl:value-of select="1°"/></a></td>
<!-- IE5 ©#å <td><a><xsl:attribute name="href"> ←-
<xsl:value-of select="1°/@çë"/> ←-
</xsl:attribute><xsl:value-of select="1°"/></a></td> -->
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
®
P¾ XML 89
7 XSLT — XML ÝòÝ»ð+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
à#!3(Ìè çëÝ
GHC¬µA!&Æ3Ï 5 aXèÕÝGHCÎßÝA
à xsl 9ëÍCÒ3 ×;àÍ¢GHCÀZ¼
ìݶ°Îy5y){!ݬÎ9øb^b@²îÝLµã&ßã
TJÏ
<&{·:stylesheet xmlns:&{·="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<&{·:template match="/">
......
</&{·:stylesheet>
7.3.3 ÙW5
bZC/Ý;F£°þ?ÝYi×KÎf;F
90 Ëw
2tigers.net
7.3 Þ XSLT
P¾ XML 91
7 XSLT — XML ÝòÝ»ð+
È
3å\Ý`Î\`ßé99ÙWÝxõW5|¾Õt{Ý.ê[
m/¼9¾9Í%¿¿
7.3.4 q-ôîb×ù
Ý\ïTp
ÿõETP
Ý ® Þ ; G « 1 Õ XSL § ¶ïø! Ý'3ÙWî0´)ÊÝ
Ý:Í@»
92 Ëw
2tigers.net
7.3 Þ XSLT
9 Í - ô ¼ L - ô X â Ý / ² Ñ Î XSLT X Û Ý 5 ÿ
Í»ÿP¼ETÝ;FÎ / ôµÎ3ÙWtc·Ýq-ô
XSL § 3R`ºÞXb3ø!ÝÿP:Ä×ŬnB3TQ
¡-lÚÙWv× / ìWNETÕ×Í;Fµ.8nÝÿPÝ
ÿ'× ¼
íÝZ
X®ßÝKÄÎ
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<p>×ÍèüÝÿ§¼N</p>
</html>
;F¡«º
×M+Û
ø XSL § Ý.hAø! b¢×ðÀe}PÑ@ÝæJJÍ»ðÄ
P¾ XML 93
7 XSLT — XML ÝòÝ»ð+
¨;Fõ+(
ÝêµWÝ×68E5µÇÝýã
Î| / ®¨;F§9ÍÿPÝ'
¨;FTà@» — xsl:value-of
ð
<xsl:template match="/">
<html>
<head>
<title>®`¨´</title>
</head>
<body>
<h1>®`¨´</h1>
<p><b>`</b><xsl:value-of select="*/`"/></p>
......
</body>
</html>
</xsl:template>
ãÙWØ-ôXâÝZC/TÎØÍòPÝÂ
94 Ëw
2tigers.net
7.3 Þ XSLT
ÿPÝjn5î°b°v«39ÍPÏr * ºETÕy¨;Fì×
Fº35 / 6Ý+(쩺ETÕ5®`¨´6
&ÆÝPb×fEa / 93ETP+°Îà¼5â;F·ùݵ /
FÝ-ô;F¸ÝÒ;Fâ?Ψ;FÝ-ô;F
ð
<xsl:template match="/">
......
<h1>®`¨´</h1>
<p><b>`</b><xsl:value-of select="*/`"/></p>
......
º XSLT § »ðW
......
<h1>®`¨´</h1>
<p>
P¾ XML 95
7 XSLT — XML ÝòÝ»ð+
9øÝ
+(ȃ
¼¾Õ9Íêݻɨ;FÝH
ÿá — xsl:apply-templates
F 3&ÆÝP»ETÕ / Ýÿ
©yì×ͼ^ø
<xsl:template match="/">
<html>
<head>
<title>®`¨´</title>
</head>
<body>
<h1>®`¨´</h1>
<p><b>`</b><xsl:value-of select="*/`"/></p>
<xsl:apply-templates select="®`¨´"/>
</body>
</html>
</xsl:template>
XSL § B+ÄÝI5|CºÝø
1. XSL § \áXbÝÿPÀî«9Í
96 Ëw
2tigers.net
7.3 Þ XSLT
3. lÚXbÝÿP::b^bÿPETÕ /
4. s¨×ÍàÝÿP§ÍÝ/
-ôÝZC/pá
é
Ý
9 »GÆÍÝÿP¬vÞ®ßÝã <xsl:apply-templates
.../> 9Fæá×àÕXbETÕÝÿPKƱt¡/¼Ææ¼ÿ
ø!'ÿ?J¨PMÆÝ(
M
P¾ XML 97
7 XSLT — XML ÝòÝ»ð+
ETÕ5®`¨´6ÝÿP|¸à
7. s¨×ÍàÝÿPAì
<xsl:template match="®`¨´">
<table>
<tr>
<th>`(</th>
<th></th>
<th>1°</th>
</tr>
<xsl:for-each select="®`">
<tr>
<td><xsl:value-of select="`("/></td>
<td><xsl:value-of select=""/></td>
<td><a href="{1°/@çë}"><xsl:value-of select="1°"/> ←-
</a></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
xsl:for-each ]º
select ETPXETÕÝ;Fÿ©b×Íb?¿ÍA©
98 Ëw
2tigers.net
7.3 Þ XSLT
`6"8î
&ƨ3|µî×;ÎÝø.yìÝI5ø
ôµï'
W²N ÂÕ <xsl:value-of ... /> ` XSL §
º|ÙWXETÕÝZC/ — 5½Î5Wlôâ65$2346
I5Îì×;ÝxÞõ`Ѹ
ÉÕÏÞÍ5®`6"8A°¼%µ§ÍÝ/
¨´6ÝÿP.×Ʊ§ yÎ/Õæ¼Ý6áFôµÎq-ô /
¸Æï'Õí×W
ôÉA 5®`¨´6Ý5®`6Q¨Ýgó??üNg¨´Ý
¨¿5®`6&ÆÝø!K|BÑ;µÑ@2º9ͥݩPÎ
7.3.6 !òPÂÿ"
P¾ XML 99
7 XSLT — XML ÝòÝ»ð+
»b9×ð
<td><a href="{1°/@çë}"><xsl:value-of select="1°"/></a></td>
ETP¬v®ðAPETÿÕÝ39ÍP»òPÂÿÎ
Îà¼ETòP(Ý 9ø@ETÝòP(.h)R¼51°/@çë6
ºETÕ¨;F9ì×ͧ51°6-ôÝ5çë6òP
C/¼®ðÄ9gÝPETÕÝÎ-ôÎòP9˵ì XSL
§ º|òPÝòP¼ð.h
<td><a href="{1°/@çë}">......</a></td>
º5½»ðW
<td><a href="http://foo.bar/mouse/12478943">î½sº</a></td>
õ
<td><a href="http://foo.bar/kbd/83424723">®`©P</a></td>
7.3.7 íZCD'
UTF-8
°²ÀÝ×°ÐóèºÃÍÝóCºÕõC§
7.5 ð
Ý — @®Y
.Ð@3hÈ
| xt ®
Ý XSL § A
à IE5 ÝÄ¢
Ï 7.5.2 ;Ý&¥¯4
7.5.1 xt
ETP 1
Ø-ô ETÕ¨;FìXb(
5Ø-ô6Ý-ô
* ETÕ¨;FìXb-ô
*/Ø-ô ETÕ¨;FÕRXb(
5Ø-ô6Ý
;F
@ØòP ETÕ×Í!òy¨;F(
5ØòP6ÝòP
@* ETÕXb!òy¨;FÝòP
text() ETÕ¨;FÝ-ôXbZC;F
. ETÕ¨;F
.. ETÕ¨;Fî×ù
Ø-ô[1] ETÕ¨;FìÏ×ͧ5Ø-ô6Ý-ô
Ø-ô[position()=1] ®à!î
Ø-ô/[@ØòP="ØÂ"] ETÕ¨;FìXb(
5Ø-ô6Ý-ô9
Í-ôÄ6âb×ͧ5ØòP6ÝòPÍò
PÂÄ6
5ØÂ6
-ôä|-ôØ ETÕ¨;FìXb(
5-ôä6õ5-ô
Ø6Ý-ô | 5T6Ýn;
.//¡t ETÕ¨;F9ìXb(
5¡t6Ý-
ô// Ðr¬÷óù
Þ//4 ETÕXb(
546Ý-ô¸ÆÝîùÄ6
b×ͧ5Þ6Ý-ôv5Þ6ÿΨ
;FÝ×Í-ô
Java Ìa^
ÝÈ
óìµ
xt © Î Í XSL § P Í Î / ¢ XML . h H xt G
P ê Y î Z Ý ? ? ó 3 h '
. ¦ Sun Ý XML parser ¸
http://developer.java.sun.com/developer/products/xml/ ¹ð쵬
×Àýï
ìµ xt
xt ftp://ftp.jclark.com/pub/xml/xt.zip ìµ
H — 'v½5
xml4j.jar . . . ÝH5
à1gj;¼
xt ÎͼÝP¢ób°3ANgÆ`KÆ×H^[£Ý9
shell script »
#!/bin/sh
JÍÝ5'A
¸à Windows ¿¬J|¶×Í 9øÝ1g
j (.bat)
@ECHO OFF
SET JAVA=java
¸à]°
3ÙÆj5
xt XMLæDj( XSLø!j( íjj(
×ÎëÍÛj(Ý¢ó'
Ý'×6Ñ@¿JÖ¡»ð¼ÝT
µºD3íjj( 9Í
X¼Ý±jn
ÝA^ÿÕíjQ:Õý0
|¶m¼2sìxÞî«èºÝ shell script |Ñ;ÉAá]
7.5.2 ε IE5
6J9°2]KB|Ûýî3P» |ì/1Ñ;Ý¥F
(Ìè Ý-²
w3.org/1999/XSL/Transform . h ¯ IE5 Ñ @ § ø ! Ä 6 Ñ ;
ÿ.P»9À*TÛ*
IE5 YîòPÂÿ
ï[7.3.1]bn9I5ÝÛ¬Þ
<td><a href="{1°/@çë}"><xsl:value-of select="1°"/></a></td>
9ð;ð
Ûݶ°Ç@®`T¶W×
<td><a><xsl:attribute name="href"> ←-
<xsl:value-of select="1°/@çë"/> ←-
</xsl:attribute><xsl:value-of select="1°"/></a></td>
Þ|yîÆ/E]P¥FTE]p£]ÝßÑÑ¡¥X9øµº.
«Pf§Ý+°`TqÝ^h|¡:Õ9Í~ OK T&&
107
8 DTD — XML +ÝL
µ¯&ÆJ¸®Yê_Í DTD Ï
8.1.1 W`ï
<?xml version="1.0" encoding="Big5" ?>
<!ELEMENT .¦Lh (h°*) > A
<!ELEMENT h° ((Ì, ®ï+, ³*) > B
<!ELEMENT (Ì (#PCDATA)>
<!ELEMENT ®ï (#PCDATA)>
<!ELEMENT ³ (#PCDATA)>
<!ATTLIST ³
0J ( ±¬J | ßÓJ | )J | Y- ) ’±¬J’> C
8.2 -ôv½ ×
A &ÆZÝtÝ-ô½W2ã5ãìÕî6ݯ¼59 ZÝ
2ELEMENT ¡wÝÎ-ô(#½Î¸Ý5/ÿl61Wç
¶!9Í5ÿl6àÀrÀR¼
É
|îëÍ-ôÝ/ÿlK§¼N ©bÝZC/¯@
ôêâZC/Ç #PCDATA9Ë)/Ýhéÿlµf´Þýb:
°Ý
3#½LÍ-G&+Û¿Í56Ðr
8.2.1 .
DTD ×A3Ñ!¨PbXÛÝquantifierTÌ5Þ6tðàÝb
5?65*6õ5+69ëÍÎà¼Ñø¸G«Ý£Í-ݧ1÷É
A&Æ15?0Ë69Í50Ë6ÑÎ×Í¡«¼ÑøÝÞ3 DTD
8.2.2 ¨g
¨3/Õ-ôLÝÞîtÝ¿Í-ôXÝ|¡&Æ|?îL B
î×·Ý-ôôµÎ <h°>
¡&Æ-Eh@|!P
......
<®ï>f«+</®ï>
<®ï>á(Ë</®ï>
......
Ý]P¼ý¥ÏÞë° . . . ®ï9ÑÎî«Ý ×35®ï6¡\w×Í
rÝÞb¥¸!`!×Íh^b®ïÍJµº E5³6
9Í-ôÝL×øàÏràr
5£ %³×4µbPv|&ËË!ݳ6
. ×Íh^ÑP.}$ÎXh²×Íh|à!Ý0J
¼5½ Q9°K©Î&ÍßÝ:°
|µï
ÝmOõ?Ê
)§Ýçh7 DTD
8.3 òPv½ ×
×:R¼Î9øÝ
<!ATTLIST ³
0J ( ±¬J | ßÓJ | )J | Y- ) ’±¬J’ >
t¥ÝÎ50J . . . 69Ì®5òPL6bëÍ2
Ï×ÍÎòP(ÏÞÍÎòPv½t¡Îï'ÂTï' ÝàAòP©
×ÍÝ9ëÍ-|NëÍëÍ9ø×à¥ì39 &Æàð
õ¹4.òPLM¼Í@ÙÙ^ÕG×ôWÈNÍ- ©
b×ÍèçC-âµÈÝ
òPLb9Ëø39 &ÆóàÝÎÊ)&ÆÝfPî°.Xb
&Æ.50J69ÍòP6¯*©¶
<³>120</³>
î«Ý-ôòP ×××'?¡&Æ|.¸ÆJ§R¼W×ÍJÝ
Ý!×Íê9ìJÄ6@ýç멶j(5ÍJº0Õ
8.5 +
DTD Z`yíÞâc½\
ÑPýã