Revision History | ||
---|---|---|
Revision Revision: 1.1.2.9 | Date: 2004/03/08 14:11:53 | |
²Ä¤@¦¸¥¿¦¡µo§G |
¥»¤å¥Dn¦b±´°Q DocBook ¦p¦ó§Q¥Î SGML ®æ¦¡»y¨¥ªº¹êÅé(ENTITY)¡A¯à¹F¨ìÃþ¦ü¹³¤@¯ëµ{¦¡»y¨¥½sͮɡA¨ººØ±`¼Æ«Å§i¡A¥H¤Î§t¬A´¡¤J¥~³¡¼Ò²ÕÀɮתº¥\¯à¡A¨Ó¹F¦¨¤å¥óªº¼Ò²Õ¤Æ¡C¥H¤ÎÂǥѦ¹ºØ¼Ò²Õ¤Æ¡A¨Ï±o¤å¥ó¤À¤u¡A¦@¦P¼¶¼g¦¨¬°¥i¯à¡A¤å¥ó°ò¥»¤ù¬qªº¦A§Q¥Î¡AÅܱo»´¦Ó©öÁ|¡C³Ì«á¡A§A·|µoı¡A±Ä¥Î DocBook ®æ¦¡¨Ó»s§@¤å¥ó¡A¤£ºÞ¬O·s°µ©Î×¥¿¡A³£±N¤j´T»ü¬Ù²Õ´ªº¯Ó¥Î®É¶¡¡A¼W¥[¤@ӹ椪º¤u§@®Ä²v¡C
¥»¤å±Ä¥Î GNU ²Õ´ªº GPL¤½¶}ª©Åv«Å§i¡AÅwªï½Æ»s,§ï¼g,´²§G¡A¨Ãn¨D§AÀ³¸Ó¥H¦P¼ËªºÅv§Q±ø´Ú¡A±Â¤©¤å¥óªº¨Ï¥Î¤H¡C¹ï GPL ªº¶i¤@¨Bªº¸ÑÄÀ¡A½Ð°Ñ¦ÒGNU ³q¥Î¤½¦@³\¥iÃÒ¡C
¥»¤å¬O¨t¦C DocBook ®æ¦¡¤å¥ó±´°Qªº²Ä¤T½g¡A¤]¬O¤ñ¸ûÁ}²`¤@ÂIªº½ÒÃD¡C¦pªG§A¥H«e±q¥¼±µÄ²¹L DocBook ®æ¦¡¤å¥ó¡A©Î¤£¤Ó¼ô±xªº¡A«ØÄ³§A¥ýŪ¤@¤U DocBook ¸ÑĶÂà´«Àô¹Òªº«Ø¥ß ©M DocBook ¤å¥ó¼g§@¤Jªù ³o¨â½g°ò¦¤å¥ó¡C¦ý¦pªG§A¬Ý¹L¨Ç DocBook ¤å¥ó¡Aı±o¥¦¤£¹L¬O¬YºØÃþ¦üªº HTML ¡A¥u¤£¹L´«¨Ç¼ÐÅÒ¦WºÙ¡A¥[¤FÂI¦Û°Ê½s¿è¥\¯à¡A¤j¶O©P³¹¤§«á¡AÁÙ¤£¦p HTML ¯à¹ï¿é¥X¼Ë¦¡°µ§óºë·Ç±±¨îªº¸Ü¡A¨º§A´N¤@©wn¬Ý³o½g¤å³¹¡C¦]¬°¥»½g¤å³¹±N¤@¤@¦V§A®i¥Ü¡A¨º¨Ç¥u¦³ SGML ¤å¥ó¤~°µ±o¨ì¡A¤£¥u HTML ¡A´N¬O§A©Ò¼ôª¾ªº¨ä¥L¼Ë¦¡±Æª©¤å¥ó¡A¤]µLªk¹F¦¨ªº¥\¯à¡A¤]´N¬O³o¨Ç¤~Åý SGML ¦³µL¥i¨ú¥Nªº²z¥Ñ¡C
DocBook ¤å¥ó¼Ò²Õ¤Æ²o¯A«Ü¦h SGML ©M XML ¬ÛÃö»yªk¡A³o¨âªù¼Ð°O»yªkªº±M·~»â°ì§Ú¯AÂy©|²L¡C¤å³¹¤¤¦p¦³²¨º|©Î¿ù»~¡A½Ð¨Ó¨ç <oldgen@pchome.com.tw> «ü¥¿¡A§Ú·|ºÉ§Ö×q¨Ã¥[¥H¤½§G¡C¦pªG§A·Q¾\Äý¥»¤å SGML ì©l®æ¦¡¡A½Ð «ö¦¹³B¤U¸ü ¡C
DocBook ¥i¥H¤@¦¸¿é¤J¡A¦hºØ®æ¦¡¿é¥X¡A³o¬O³z¹L¤º®e¸ê®Æ»Pªí²{¸ê®Æ¤À¶}¡A¤Î DSSSL ©Î XSLT ªº¼Ë¦¡ªí§Þ³N¹F¦¨¡CDocBook ¥i¥H§@¬°¤å¦r«¬ºAªº¾ðª¬¸ê®Æ®w¡A¨Ñºô¸ô·j´M¡A¦]¬° DocBook ªº¼Ð°O±Ä¤º®e·N¸q¤ÀÃþ¡A¨Ã¦³ÄYÂÔªºµ²ºc¡CDocBook ªº©Ò¦³¥\¯à´N¥u¦³³o¨Ç¶Ü¡H·íµM¤£¬O¡ADocBook ªº³Ì¤j¥\¯à´N¬O§@¬°²Õ´»P¹Î¶¤§Q¥Îªº¦@¦P¼g§@»P§Ö³t×q¨t²Î¡C
½Í¨ì¦@¦P¼g§@¡A¬Û«H±`¦b Unix ¨t²Î¤U¤u§@ªº¤H³£·|·Q¨ì CVS Server ªº¬[³]¡A¥H¤Î³Ìªñ¤j¦æ¨ä¹Dªº Wiki ºô¶½s¿è¨t²Î¡C¦ý¤£ºÞ¬O CVS ÁÙ¬O Wiki ¡A°µªº³£¬O¤å¥ó×qªºª©¥»±±¨î¤u§@¡A¥LÀ°§U¤@Ó¹ÎÅé²Õ´¤£·|¦]¬°¤j®aªº¦@¦P°Ñ»P¡A¦Ó§â¤å¥ó§ïªº¤£²Î¤@¡A¤@¹Î¶Ã¡C¦ý¬O DocBook nt¾áªº¦@¦P¼g§@¥\¯à«o¤£¬Oª©¥»±±¨î¡A¥L¬Ot³d§â¤@Ó¤j¤å¥ó©î¦¨³\¦h¤p³¡¥÷¡AÅý¤£¦Pªº¤H¥ht³d¤£¦Pªº¤ù¬q¡C¨CÓ¤H¦b¥L¦Û¤vªº¤ù¬q¸Ì¡A¥un«öµÛ DocBook ³W¯x§â¸ê®Æ¶ñ¶i¥h¡A¤£»Ýn¥hÅU¼{§O¤H«ç»ò°µ¡A³Ì«á«o¯à§â©Ò¦³¤ù¬q¦X¦b¤@°_¡A½sͦ¨¤@Ó§¹¾ã¤@Pªº¾ãÅé¤å¥ó¡A§¹¥þ¬Ý¤£¥X¨Ó¦³¦U¦Û¬°¬Fªº¤£¨ó½Õ¡C
³oºØ§â¤@Ó¤j¤å¥ó©î¦¨¤p¤ù¬qªº¥\¯à¡A¬O¦p¦ó¹F¦¨ªº©O¡Hµª®×´N¦b SGML »y¨¥ªº¹êÅé(ENTITY)§Þ³N¹B¥Î¡C³z¹L¹êÅé(ENTITY)¡A¤@ SGML »y¨¥©w¸qªº®æ¦¡¤å¥ó¥i¥H¹F¦¨Ãþ¦üµ{¦¡»y¨¥ªº±`¼Æ«Å§i¡A¥H¤Î§t¬A´¡¤J¥~³¡Àɮתº¥\¯à¡C
µ{¦¡»y¨¥³z¹L±`¼Æ«Å§i©M¥~³¡§t¬AÀɮרӹF¦¨¼Ò²Õ¤Æ¡A¨Ï±o¬Y¨Ç°ò¥»ªºµ{¦¡±Ôz¥i¥H³Q«½Æ§Q¥Î¡ASGML ®æ¦¡¤å¥ó¤]³z¹L¹êÅé(ENTITY)±N¤å¥ó¸ê®Æ¼Ò²Õ¤Æ¡A¹F¦¨©î¨ø«²Õªº¥\¯à¡C©Ò¥H¹êÅ骺¹B¥Î¡A¬O SGML »y¨¥ªº¥»¦³¥\¯à¡ADocBook Ä~©Ó¤F³oÓ¯à¤O¡A¦Ó HTML ©ñ±ó¤F³oÓ¥\¯à¡C[1]´«¥y¸Ü»¡¡A´N¬O§A¥i¥H¦b DocBook ¤¤¨Ï¥Î SGML ªº¹êÅé¥\¯à(ENTITY)¡A¦]¬° DocBook ªº SGML ¸ÑªR¾¹·|¤ä´©³o¶µ¥\¯à¡C[2]¦ý¤@¯ëªººô¶ÂsÄý¾¹«h¤£¤ä´© HTML ¨Ï¥Î¹êÅé(ENTITY)ªº¥\¯à¡C
ENTITY ´N¦p¦Pµ{¦¡»y¨¥ªº±`¼Æ«Å§i¤@¼Ë¡An¥ý«Å§i«á¡A¤~¯à¦bµ{¦¡±Ôz¤¤¥[¥H¤Þ¥Î¡A¦Ó«Å§i¤@Ó ENTITY ªº§¹¾ã±Ôz¬O¡G
§Ú̦b SGML prolog °Ï¬q¤¤¡A¦b "<!" ¦r¦ê«áÁä¤J ENTITY ªí¥Ü³qª¾ SGML ¸ÑªR¾¹n·s¼W¤@Ó¹êÅé¨Ó¨Ï¥Î¡C
SGML ªº ENTITY ¦b¨Ï¥Î¤è¦¡ªº¤£¦P¤W¡A¥i¤À¬°°Ñ¼Æ¹êÅé(Parameter ENTITY)©M¤@¯ë¹êÅé(General ENTITY)¡A§Ú̱N¥ýÁ¿z General ENTITY ¡AParameter ENTITY ¤ñ¸û½ÆÂø¡A©ñ¦bµy«áÁ¿¡CGeneral ©M Parameter ªº¤À§O´N¬O Parameter ±Ä¥Î '%' §@¬°«e¸m¦r¤¸¡A¦Ó General ¤£¨Ï¥Î¥ô¦ó«e¸m¦r¤¸¡Cnª`·Nªº¬O¡AParameter ªº«e¸m¦r¤¸ '%' ¥²¶·©M«e±ªº ENTITY ©M«á±ªº¹êÅé¦WºÙ¦r¦ê¡A³£¦Ü¤Ö¥H¤@ӪťÕÁä¹j¶}¡C
´N¬O¬°§An¨Ï¥Îªº¹êÅé¨úÓ²µu¦n°O±o¦W¦r¡A³o¸Ìnª`·N¡A¦P¦Wªº¹êÅé¦pªG«½Æ«Å§i¡A¸ÑªR¾¹¨Ã¤£·|µo¥X¿ù»~³qª¾¡A¦ý·|±Ä¥Î¥ý¦ûµ¦²¤¡A¤]´N¬O¦P¦Wªº¹êÅ餣ºÞ³Q«Å§i´X¦¸¡A¨ä¤º®e³£¥H²Ä¤@¦¸«Å§i®Éªº³]©w¬°·Ç¡C¦¹¥~¹êÅé¦WºÙ«e«á¤£¥i¥H¨Ï¥Î '"' ¦r¤¸°µ¦r¦êªí¥Ü¦¡ªº¥]§¨¡C
·í¤@Ó ENTITY ¦b«Å§i¹êÅé¦WºÙ»P¹êÅ餺®e¦r¦ê¤§¶¡¦³¥[¤@Ó SYSTEM ´yzµü®É¡A´Nªí¥Ü«á±¸òµÛªº¬O¤@Ó System Identifer ¡C¤°»ò¬O System Identifier ¡HÁ¿¥Õ¤@ÂI´N¬OÀɮ׸ô®|¦ì§}°Õ¡A¤]´N¬O§An¦b§Aªº DocBook ¤å¥ó¸Ì´¡¤J¥~³¡ÀɮסA´N¥²¶·¥ýÁä¤J SYSTEM ´yzµü¡AµM«á¸òµÛ¥´¥~³¡Àɮתº¸ô®|¦ì§}¡A¥i¥H¬Oºô¸ô¦ì§}¡A¤]¥i¥H¬O¥»¾÷¦ì§}¡A¥i¥H¬Oµ´¹ï¸ô®|¡A¤]¥i¥H¬O¬Û¹ï¸ô®|¡C¨º¨S¥´ SYSTEM ´yzµü¬O¤°»ò·N«ä¡H´N¬O¹ê»ÚÅã¥Üªº¤º®e¦r¦ê°Õ¡CÄ´¦p¡G
<!ENTITY somename SYSTEM "/etc/passwd">
&somename; Åã¥Ü /etc/passwd ³oÓÀɮתº¤º®e
<!ENTITY somename "/etc/passwd">
&somename; ª½±µÅã¥Ü /etc/passwd ³oÓ¦r¦ê
¦pªG©ú¥Õ¤F external ENTITY ©M internal ENTITY ªº®t§O¡A¨º¹êÅ餺®e¦r¦ê¥Nªíªº·N¸q¡A´N«D±`²M·¡¤F¡A¤£¬OÀɮצì§}¡A´N¬O®É¹ê»ÚÅã¥Üªº¦r¦ê¤º®e¡Anª`·Nªº¬O¡A¤£ºÞ¬Oª½±µ¤º®e©ÎÀɮ׸ô®|¡A³£¥²¶·¦bÀY§À¥H '"' ¦r²Å¥]§¨¡C
![]() | ENTITY «Å§iªº¿ï¶µ»P¿ï¶µ¤§¶¡¡A°£¤F "<!" »P ENTITY ¤§¶¡¤£n´¡¤JªÅ¥Õ¦r²Å¥~¡A¨ä¥L³£¥²¶·´¡¤J¤@Ó¥H¤WªºªÅ¥Õ¦r²Å¡C |
ª¾¹D¤F ENTITY n«ç»ò«Å§i«á¡A±µµÛ§ÚÌnª¾¹D ENTITY ¦b¨º¸Ì«Å§i¡A´N¦p¤@¯ëµ{¦¡»y¨¥³£¦³©T©wªº«Å§i°Ï¡ASGML ®æ¦¡¤å¥ó¤]¦³©T©wªº ENTITY «Å§i°Ï¡A¤£¦b«Å§i°Ï«Å§i¡A´N·|³Q¸ÑªR¾¹§P©w»yªk¿ù»~¡C
¤@¯ë»¡¨Ó¡AENTITY ªº«Å§i¬OÄÝ©ó SGML DTD ªº¤@³¡¤À¡A¬O¸ò ELEMENT,ATTLIST,..... ³o¨Ç«Å§i²Õ¦¨¸j¤@°_ªº¡A¤]´N¬O¥²¶·¦b¤@Ó SGML ¤å¥óªº prolog °Ï§¹¦¨ªº¡Cprolog °Ï¡H¨º¦b¨º¸Ì¡H¨ä¹ê¤£Ãø§P§O¡A´N¬O¤@Ó SGML ¤å¥óªº®Ú¼ÐÅÒªº¶}©l¼ÐÅÒ¥H«eªº°Ï¬q¡A´N¥s SGML prolog ¡C
§Aªº²Ä¤GÓ°ÝÃD¡A¤Ñþ¡IÃø¹Dn§Ú¥h×§ï DocBook ¨ºÓ¬Ý³£¬Ý¤£À´ªº¤Ñ®Ñ¡ADTD ¼Ò²ÕÀÉ®×¶Ü¡H¶â¡Iì«h¤W¨Ó»¡¬O¥i¥Hªº¡A¦ý¤£¹ªÀy³o»ò°µ¡C²Ä¤@¡G«Ü¤Ö¤H¯à²M·¡´x´¤ DocBook Ãe¤j DTD ªº²Õ´µ²ºc¡A©Ò¥H§A¤£¨£±o¯à§ä¨ì¥¿½Tªº¥[¤J°Ï¬q¡C²Ä¤G¡G§A«Ü¥i¯à¤£¸g·Nªº¦b«Å§i ENTITY ®ÉÔ¡A¤zÂZ¤F DocBook DTD ì©lªº ENTITY «Å§i¡AÁa¨Ï³Ì«á¸ÑªRµ²ªGµL»~¡A¦ý®M¥y DocBook ©x¤èªº»¡ªk¡A¦pªG§A§ó§ï¤F DocBook ªº ELEMENT or ATTLIST ¡A¨º´N¤£¯à¦A¥s DocBook ¡A¦ÓÅܦ¨ YourBook ¤F¡C
©Ò©¯ SGML »y¨¥¦´N¦Ò¼{¨ì DTD ©µ®i©Êªº°ÝÃD¡A§ÚÌ¥i¥HÂǥѤ@¨Çªí¥Ü¦¡¨Óªí¥Ü°£¤F DTD ÀÉ®×¼Ò²Õ¥~¡A§ÚÌn¶}±Ò¤å¥ó§@ªÌÓ¤Hªº subset °Ï¬q(¦ì©ó prolog °Ï¤¤)¡A¨Ó©ñ¨Ï¥ÎªÌ¦Û¤v©w¸qªº ENTITY «Å§i¡C¨Ò¦p¡G
Example 1. ©µªø SGML ¤å¥óªº subset °Ï¬q
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [ <!-- ªí¥Ü subset °Ï¶}©l -->
<!ENTITY teamname "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤"> <!-- internal ENTITY -->
<!ENTITY authfile SYSTEM "/etc/passwd"> <!-- external ENTITY -->
]> <!-- ªí¥Ü subset µ²§ô -->
Example 2. ©µªø XML ¤å¥óªº subset °Ï¬q
<?xml version='1.0' encoding="Big5"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"[
<!ENTITY teamname "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤">
<!ENTITY authfile SYSTEM "/etc/passwd">
]>
³o¸Ìn¨Ó¼á²M´XÓÆ[©À°ÝÃD¡A§ÚÌ´¿¦b ENTITY «Å§i»yªk¤@¸`»¡¡A¦b SGML ¹w³]ªº¿ï¶µ¤U¡A¦P¦WºÙªº¹êÅé³Q«½Æ«Å§i¤£ºâ»yªk¿ù»~¡A¥u¬O±Ä¥ý¦ûµ¦²¤¡A¥ý«Å§iªº¥ýĹ¡C¦ý¬O SGML ¹ï prolog °Ïªº°õ¦æ¶¶§Ç«o¬O¡A¥ý°õ¦æ§ÚÌ user ¦Û¤v¦b subset ªº«Å§i±Ôz¡A¦A¥h°õ¦æ PUBLIC Identifier «ü¨ìªº DTD ÀÉ®×¼Ò²Õ¡A©Ò¥H¦pªG§Ú̦b subset ¤£ªø²´·ú¡Aè¦n«Å§i¤F DTD ¼Ò²Õ¤¤·|¥Î¨ìªº ENTITY ¡A¥Ñ©ó¥ý¦û¥ýĹ¡A§Aªº ENTITY ³]©wÈ·|¨ú¥N DocBook ENTITY ªº³]©wÈ¡Aµ²ªG·íµM¬O¤Ñ¤U¤j¶Ã¡A¸ÑªR¾¹³ø§i¿ù»~¤@©w³s½g²ÖÃ|¡C
¨º«ç¼ËÁ×¶}¤@Ó DocBook ®æ¦¡ DTD ªº«½Æ ENTITY «Å§i©O¡A¬d²M·¡ DocBook ªº«O¯d¦r¶Ü¡H«Ü©êºp¡A³o¿ìªk¤£³q¡C¦]¬°°£¤F DTD ¤¤ DocBook ¨Ï¥Î¤F¤j¶qªº ENTITY «Å§i¨Ó¨ó§U¥Lºc¿v¤å¥óµ²ºc¥~¡A¥LÁ٤ޥΤF¤@¤j°ï ISO ²Õ´©w¸qªº ENTITY ¯S®í¦r¤¸ªí¡A¼Æ¶q¤§Ãe¤j¡A¤£n»¡¤@¯ë¤HÃø¥H°O¾Ð¡A¦Ó¥B¨C¦¸§ïª©¡AENTITY «Å§i¦WºÙ¤@©w¤j´T§ïÅÜ¡AÅý§A°O¤£³Ó°O¡C[3]
±¡ªp¯u¬O¨º»òµ´±æ¶Ü¡H¨ä¹ê´«±ø¸ô¨«¡A±Ä¥Î¦WºÙªÅ¶¡ªº©R¦W¤è¦¡¡A´N¯à«OÃÒ§A¤£µo¥Í ENTITY «Å§i½Ä¬ð¡C¨Ò¦p«e±¨âÓ½d¨Ò¡A§A¦pªGı±o teamname ©Î authfile ÁÙ¬O¤£°÷¦w¥þªº¸Ü¡A´N¬°¥L¥[Ó«e¸m¦r¦ê§a¡C¨Ò¦p§Ú³ßÅw¥Î twbaby ·í§@§Ú¦Û¤v²Õ´ªº«e¸m¦r¦ê¡A¨º§Ú´N¥i¥H§ï¥Î¡G
<!ENTITY twbaby.teamname "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤">
<!ENTITY twbaby.authfile SYSTEM "/etc/passwd">
¨Ó«Å§i§Ú¦Û¤v±M¥Îªº ENTITY¡AÁöµM¼W¥[ÂI³Â·Ð¡A¦ý¥i¥H«OÃÒ¤£·|¦³µo¥Í·´Ãa DTD µ²ºcªºª¬ªp¡C
¦P®ÉÆ[©À¼á²M¨ì³o¸Ì¡A¤]¥i¥H¶¶«K¦^µª¤@Óªþ±aªº°ÝÃD¡C¬°¦ó HTML ¦P¼Ë¬O SGML ®æ¦¡¤å¥ó¡A«o¤£¯à¨Ï¥Î SGML ªº ENTITY «Å§i¥\¯à¡H¦]¬°§A¨S¦³¿ìªk½s¿è HTML ªº prolog °Ï¡A¥Lªº prolog °T®§¤Î³]©w¡A¼g¦º¨ìÂsÄý¾¹¸Ì¥h¤F¡C
ENTITY ¬J¸g«Å§i«á¡A´N¥i¥H¦b SGML ªº¤å¥ó±Ôz¤¤¨Ï¥Î¡A¦ý¦]¬° ENTITY ªº¤ÀÃþ¤£¦P¡A¤]¦³¨Ï¥Î¦aÂI©M¤è¦¡ªº®t²§¡CÄ´¦p¡G
Example 3. ENTITY ªº¨Ï¥Î¤è¦¡¤Î³õ¦X
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY teamname "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤">
<!ENTITY authfile SYSTEM "/etc/passwd">
<!ENTITY % twbaby.include SYSTEM "test.ent"> <!-- ¼Ð»x¥~³¡«Å§iÀÉ -->
%twbaby.include; <!-- ¨Ï¥~³¡Àɮתº«Å§i¥Í®Ä -->
]>
<article><title>&teamname; SGML ¤å¥ó½d¨Ò</title> <!-- ±`¼Æ«Å§i®i¶} -->
<para>§ÚÌ¥i¥H¥Î ENTITY ªº SYSTEM ´yzµü¨Ó´¡¤J¥~³¡ÀɮסG</para>
<literallayout>
&authfile; <!-- ¥~³¡ÀÉ®×®i¶} -->
</literallayout>
</article>
¥Ñ¤W±½d¨Ò§ÚÌ¥i¥H¬Ý¥X¤@¨Ç³W«h¡A¨º´N¬O¹êÅé¦WºÙ(ENTITY)«e¦³ '%' ¦r²Åªº Parameter ENTITY ¡A¥Dn¥Î¦b prolog ªº subset «Å§i°Ï¬q¡A¥Øªº¬OÀ°§U subset «Å§i¼Ò²Õ¤Æ¡C¥Lªº®i¶}ªí¥Ü¦¡¬O¹êÅé¦WºÙ«e¥[¤@ '%' ¦r²Å¡A¦Ó¦b¹êÅé¦WºÙ«á¥[¤@ ';' ¦¬§À¦r²Å¡A¦p %twbaby.include;¡C
¦Ü©ó¹êÅé¦WºÙ«e¨S¦³ '%' «e¸m¦r²ÅªººÙ¬° General ENTITY ¡CGeneral ENTITY ¥Dn¬O¨Ñ SGML ¤å¥óªº¼¶¼gªÌ¡A¦b®Ú¼ÐÅҰϬq¤º¡A°µ¦r¦ê¨ú¥N©M®i¶}¨Ï¥Îªº¡A¥L¥u¯à¦b®Ú¼ÐÅҰϤº¨Ï¥Î¡A¤£¥i¥H¥Î¦b prolog ªº subset °Ï¡C¥Lªº®i¶}ªí¥Ü¦¡¬O¦b¹êÅé¦WºÙ«e¥[ '&' «e¸m¦r²Å¡A¦b¹êÅé¦WºÙ«á¥[ ';' ¦¬§À¦r²Å¡A¦p &teamname; or &authfile;¡C
¤£ºÞ¬O Parameter ©Î General «¬ºA¡AENTITY ³£¥i¥HݥΠinternal ©M external ªº¤è¦¡¨Ó¨ú±o¦r¦ê¤º®e¡C¥u¦³ Parameter ©M General ªºÄݩʷ|³y¦¨ ENTITY ¨Ï¥Î³õ¦Xªº¤£¦P¡Ainternal ©M external ªºÄݩʤ£·|¡C
![]() | Parameter ENTITY ¨Ã«Dµ´¹ï¤£¥i¥Î¦b®Ú¼ÐÅÒªº¥»¤å¤å¥ó°Ï¬q¤º¡A¥u¬O¨ººØ¨Ï¥Î¤è¦¡«Ü¯S§O¡AÀ³¸Óºâ¬O¤@ºØ¯S¨Ò¡A¦Ó¥B XML »yªk¨Ã¤£¤ä´©¡A¥u¦³ SGML ¦³³oºØ¥Îªk¡C |
¸g¹L¤W¤@¸`¹ï¹êÅé(ENTITY)°ò¥»·§©Àªº¸Ñ»¡«á¡A¥»¸`§Ú̱N¥Ü½d¤@¨Ç SGML ©M XML ³q¥Îªº ENTITY ¨Ï¥Î§Þ¥©¡Cº¥ý°²³]¥»¸`¦U½d¨Ò³£¬O¦b user ®a¥Ø¿ýªº Document/sgml ¸ô®|½s¿èªº¡A©Ò¥H§ÚÌ¥ý°õ¦æ¤@¤U«ü¥O¡G
$ mkdir -p $HOME/Document/sgml |
¹ï©ó¨Ï¥Î XML »y¨¥©w¸qªº DocBook ¤å¥óÂàĶ¡A§Ų́ϥΠRed Hat ¤½¥qªº xmlto ®M¥ó¡C¦Ó¹ï©ó¨Ï¥Î SGML »y¨¥©w¸qªº DocBook ¤å¥ó¡A«h¨Ï¥Î openjade ®M¥ó¡CÁöµM openjade ¤]¥i¥H¸ÑĶ XML »y¨¥©w¸qªº¤å¥ó®æ¦¡¡A¦ý¨º¬O¥H SGML ªº³W«h¥h¼ÒÀÀ XML ªº¦æ¬°¡A±`±`·|¤£¤p¤ßÂX¤j¤F XML ªº¸ÑÄÀ¡A¦Ó¨º¨ÇÂX¤j¸ÑÄÀ¡A¤@¯ë¼Ð·Çªº XML ¸Ñ;¹¬O§@¤£¨ìªº[4]¡C©Ò¥H°w¹ï¤£¦P»yªk¿ï¾Ü¥¿½Tªº¸Ñ;¹¡A¬O¥¿½T¤F¸Ñ¼Ð°O»y¨¥®Ä¯àªº¥²n³~®|¡C¤£²M·¡«ç¼Ë¦w¸Ë¨Ï¥Î¤W±¨âÓ¸Ñ;¹ªº¡A½Ð°Ñ¦Ò DocBook ¸ÑĶÂà´«Àô¹Òªº«Ø¥ß ¤@¤å¡C
¤@¦p§Ú̦b³\¦hµ{¦¡»y¨¥ªº±`¼Æ«Å§i¤@¼Ë¡A¹ï©ó¤@¨Ç¤º®e±Ôz¥i¯à·|¦³§ó°Êªº¦r¦ê©ÎÀËÅçÈ¡A¬°¤F«O«ù¼u©Ê¡A§ÚÌ¥ý¦bµ{¦¡ªº¤@¶}©l¬°¦¹¹w³]ȨúÓ¥N¦W¡A¦A¨ì¹ê»ÚnÅã¥Ü¹w³]Ȫº¦a¤è¥´¤W¥N¦W¡A¦Ó¤£¬Oª½±µ¥´¹w³]È¡C¦n³B¬O¦pªG¨º¤Ñ§Ú̦³¥²n§ó¸Ó¦¹¹w³]ȮɡA¥un§ó¸Ó¸Ó¥N¦W«áªº¹w³]ȧY¥i¡A¤£»Ýn¨ìÁc½Æªºµ{¦¡±Ôz¤¤¡A¤@¤@¥h§â³o¨Ç¹w³]ȧï¹L¨Ó¡A¦]¬°¥un«·s½sͤ@¹M¡A½s;¹´N·|®Ú¾Ú·sÈ¡AÀ°§Ú̦۰ʧ󥿹L¨Ó¤F¡C
SGML ªº»yªkªí¥Ü¤¤¡Ainternal ENTITY ªº·N¸q¡A´X¥G´N©Mµ{¦¡»y¨¥ªº±`¼Æ«Å§i¤@¼Ë¡C¨Ò¦p¡G
Example 4. ²³æ internal ENTITY½d¨Ò
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY teamname "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤">
]>
<article><title>&teamname;²Õ´³¹µ{</title>
<para>......</para>
</article>
³o¬O SGML »P XML ³Ì²³æªº¤@ºØ ENTITY ¨Ï¥Î½d¨Ò¡A§A¦b prolog ªº subset °Ï«Å§i teamname ³oÓ±`¼Æªº¹w³]ȬO "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤"¡CµM«á§A¦b article,title «á´¡¤J teamname ³oÓ±`¼Æ«Å§i¡A¨º»ò¸g¹L¸Ñ;¹ªº½sĶ¡Aarticle ªº title ³Ì«á·|Åã¥Ü "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤²Õ´³¹µ{" ¡A¦pªG§A§â teamname ¹w³]ȧ令 "»Å¾Ç¶é"¡A¨º·íµM title ´NÅã¥Ü "»Å¾Ç¶é²Õ´³¹µ{"¡C
¤W±³oÓ½d¨Ò¥i¥H»¡Â²³æ¨ì¤£È±o¦h°µ»¡©ú¡A¤U±§ÚÌÁ|ӧ󦳥Ϊº½d¨Ò¡CÄ´¦p©w«¬¤Æ«´¬ù¡A¥ß¬ù¤H³£¬O¥Ò¤è¤A¤èªººÙ©I¡A¨ìñ¬ù®É¦A§â·í¨Æ¤H¯u¹ê©m¦W¶ñ¤J¡C¦pªG¬°¤F½d¥»¤å¥ó©Mñ¬ù¤å¥óªº·í¨Æ¤H¸p¦W¤£¦P¡A¦Ón·Ç³Æ¨â¥÷ÀɮסA¨º¤]¦³ÂI¤Ó¨S®Ä²v¤F¡C¤U±ªº½d¨Ò§â«´¬ù¥ß¬ù¤H§ï¥Î¹êÅé¿é¤J¡A§A´N·|µoı¡A¤£¦Pªº¤Hñ¬ù¡A¤£»Ýn§ï¾ã¥÷¤å¥ó¡Aprolog °Ï§ï ENTITY §Y¥i¡C
Example 5. ³sÄò´À´«¦r¦êȽd¨Ò
<?xml version='1.0' encoding="Big5"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"[
<!ENTITY site.org "¥X¯²¤è">
<!ENTITY site.user "©Ó¯²¤è">
<!ENTITY sign.date "¤¤µØ¥Á°ê xx ¦~ xx ¤ë xx ¤é">
]>
<article><title>ºô¶ªÅ¶¡¯²¥Î¦X¬ù®Ñ</title>
<para>¤µ¦³Âù¤è¬°©Ó¯²ºô¶ªÅ¶¡¡A¯S¥ß¬ù³W©wÂù¤èÅv§Q¸q°È¦p¤U¡G</para>
<orderedlist>
<listitem><para>¤µ¦³©Ó¯²¤H&site.user;¦Vºô¯¸¾÷ºc&site.org;©Ó¯²ºô¶ªÅ¶¡§@¬°ºô¶µo§G¨Ï¥Î¡C
</para></listitem>
<listitem><para>&site.user;¦Û¥»¦X¬ù¥Í®Ä¤é°_¡A¾Ö¦³©Ò©Ó¯²ºô¶ªÅ¶¡§¹¾ãÅv§Q¡A©Òµo§Gºô¶ªº
¨¥½×³d¥ô¡A¥ç¥Ñ&site.user;¦Ût¡C</para></listitem>
<listitem><para>&site.user;À³«ö¤ë¦V&site.org;ú¯Ç¯²ª÷·s¥x¹ô 200 ¤¸¡C</para></listitem>
<listitem><para>&site.user;¦p¤íú¤TÓ¤ë¥H¤Wªº¯²ª÷¡A&site.org;¦³Åvµø¬°¦X¬ù²×¤î¡A°±¤î
&site.user;¨Ï¥ÎÅv§Q¡C</para></listitem>
<listitem><para>¦X¬ù´Á¶¡¡A&site.org;À³¹ï&site.user;±H©ñªººô¶¡AºÉµ½¨}ºÞ²z¤H¤§³d¥ô¡A
¨Ã¦b¦X¬ù²×¤î«á¡A¥N¬°«O¦s&site.user;ºô¶¤TÓ¤ë¡C</para></listitem>
</orderedlist>
<para>¥H¤W±ø´Ú¡A¬Ò¸g¥ß¬ùÂù¤è¦P·N¡A¯S¦¹®Ñ±¬°ÃÒ¡C¥ß¬ù¤H¡G</para>
<simplelist>
<member>ºô¶ªÅ¶¡¥X¯²¤H¡G&site.org;</member>
<member>ºô¶ªÅ¶¡©Ó¯²¤H¡G&site.user;</member>
</simplelist>
<para>¥ß¬ù¤é´Á¡G&sign.date;</para>
</article>
¤W¨Ò¬O¤@Ó©w«¬¤Æ«´¬ùªº½d¥»¡A¨Ñ«È¤áñ¬ù«eªº°Ñ¦Ò¡A¹ê»Úñ¬ù®É¡A§ï´«¤@¤U site.org, site.user ©M sign.date ¤TÓ internal ENTITY ªº³]©wÈ¡A´N¥i¥H«½sͦ¨¤@¥÷¹ê»Úªº¥¿¦¡¦X¬ù¡A§A¥i¥H¤À§O§ï³o¤TÓ¹êÅé«á«½sͤ@µf¡A¥HÅçÃҮĪG¡C
«e¤@¤p¸`¬O ENTITY ¦r¦ê´À´«ªº³Ì²³æ¥Îªk¡A¦]¬°¤£ºÞ¬YÓ ENTITY ¦b¤å¥ó¤¤³Q´¡¤J´X¦¸¡A¥L³£¥u¬O§â ENTITY ª½±µ´«¦¨¹w¥ý³]©wªº¦r¦ê¦Ó¤w¡C¥»¸`n¤¶²Ðªº¬O¦r¦ê´À´«§ó¶i¤@¨Bªº§Q¥Î¡A´N¬O¤@Ó ENTITY ªº³]©wȸÌÁÙ¥]§t¤F¨ä¥Lªº ENTITY¡A³o¸Ì§Ú̺٥L¬O²Õ¦X§Î¦¡ªº¹êÅé¡CÄ´¦p¡G
Example 6. ²Õ¦X¹êÅ骺¨Ï¥Î
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY cool.school "http://www.study-area.org/"> <!-- (1) ºô¯¸¦ì§} -->
<!ENTITY cool.subject"tip/"> <!-- (2) ¤ÀÃþ¦ì§} -->
<!ENTITY dbook.write "&cool.school;&cool.subject;docw/docwrite.html"> <!-- (3) Àɮצì§} -->
<!ENTITY dbook.trans "&cool.school;&cool.subject;doctrans/doctrans.html"><!-- (4) Àɮצì§} -->
]>
<article><title>DocBook ²¤¶</title>
<para>»Ýn¤F¸Ñ¦p¦ó«Ø¥ß DocBook ¸ÑĶÀô¹Òªº½Ð°Ñ¦Ò <ulink url="&dbook.trans;">
&dbook.trans;</ulink>¡An¤F¸Ñ¦p¦ó¼g§@ DocBook ¤å¥óªº½Ð°Ñ¦Ò
<ulink url="&dbook.write;">&dbook.write;</ulink> ¡C</para>
</article>
¦p¤W¨Ò¡AÀɮצì§} (3) ©M (4) ³£¤º²[ (1) ºô¯¸¦ì§}©M (2) ¤ÀÃþ¦ì§}³o¨âÓ¹êÅé¡A¦]¬°¥L̳]©wªº¤º³¡¤£¬O³æ¯Âªº¦r¦ê¡AÁÙ¥]§t¤F¨ä¥L¹êÅé´¡¤J±Ôz¡A©Ò¥HºÙ¬°²Õ¦X¹êÅé¡C²Õ¦X¹êÅ饻¨³Q´¡¤J®É¡A·|±N©Ò¦³¤º²[¹êÅé¤@°_´À´«®i¶}¡A¦X¦¨¤@¾ãÓ¦r¦ê¡C
¨Ï¥Î³oºØ¤è¦¡¨Ó²Õ´¹êÅé¡A³Ì¤jªº¥\¥Î´N¬OÅý¹êÅé(ENTITY)¶¥¼h¤Æ¡C¥H¤W¨Ò¨Ó¬Ý¡A·í§Ú̧ó§ï (1)(2) ³o¨âÓ¹êÅé®É¡A(3)(4) ·|¸òµÛ³s°Ê¡A©Ò¥H·í¤å¥ó¨Ìì²Õ´µ²ºc·h²¾¨ì·s¦aÂI«á¡A¥un§ïÅܬÛÃöªº¶¥¼h¹êÅé³]©wÈ¡A´N¥i¥H¹F¦¨¥þÅé¹êÅé¤@°_§ïÅܪº§@¥Î¡C³o¦bºô¶·h®a©Î²¾¥Ø¿ý®É¯S§O¦³¥Î¡A¦]¬°§A¥un§ó§ï (1) ©Î (2) ªº¹êÅé³]©w§}¡A´N·|¤Þ°_¨ä¥L¦Pµ²ºc¹êÅ骺¬Û°t¦X§ïÅÜ¡A¦Ó¤£¥²¤@Ó¤S¤@Óªº¥h¬ÛÃö¹êÅé§ó§ï¡C
Á|ӧڳ̱`¨Ï¥Îªºª©Åv«Å§i¤è¦¡¡A§Ú¥ý¨Ï¥Î¡G
Example 7. ·s¼W¥~³¡§t¬AÀɽd¨Ò
cat << EOF > $HOME/Document/sgml/legal.inc <?xml encoding="Big5"?> <para>¥»¤å±Ä¥Î GNU ²Õ´ªº GPL¤½¶}ª©Åv«Å§i¡AÅwªï½Æ»s,§ï¼g,´²§G¡A ¨Ãn¨D§AÀ³¸Ó¥H¦P¼ËªºÅv§Q±ø´Ú¡A±Â¤©¤å¥óªº¨Ï¥Î¤H¡C¹ï GPL ªº¶i¤@¨Bªº¸ÑÄÀ¡A ½Ð°Ñ¦Ò<ulink url="http://www.linux.org.tw/CLDP/OLD/doc/GPL.html"> GNU ³q¥Î¤½¦@³\¥iÃÒ</ulink>¡C</para> EOF |
![]() | legal.inc ³oÓ§t¬AÀɪº²Ä¤@¦æ <?xml encoding="Big5"?> ±Ôz¹ï SGML ¦Ó¨¥²@µL§@¥Î¡A¦ý¹ï XML ¦Ó¨¥«oÃö¥G¸ÑªR¬O§_¦Xªkªº«nÃöÁä¡C¤Z¬O¸Ó¤å¥ó¤£¬O±Ä¥Î UTF-8 (us ascii ºâ¬O UTF ªº¦@¦P¤ä´©)©Î UTF-16 ½s½Xªº¡A³q³q¥²¶·¦b¤å¥ó³Ì¶}ÀY¨Ï¥Î¦¹ XML ±Ôz¡A¨Ãµù©ú¥¿½Tªº encoding ½s½X¡C©Ò¥H¬°¤F½T«O§Aªº§t¬AÀÉ¥i¥H¦b SGML ©M XML ¨âÃ䪺¸ÑªR¾¹³q¥Î¡A«ØÄ³³£¥[¤W³oÓ XML ±Ôz¡C |
¤W±«ü¥O°õ¦æ§¹²¦¡A§Ú´N¦h¤F¤@Ó legal.inc ¡A±µµÛ§Ú´N¥i¥H¦b§Úªº SGML ¥»¤å¸Ì¤Þ¥Î¥L¤F¡CÄ´¦p§Ú¦b $HOME/Document/sgml ¼g¤F³o¼Ë¤@Ó DocBook ¤å¥ó¡G
Example 8. §t¬A¥~³¡¤å¥ó¤ù¬q
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY twbaby.include SYSTEM "legal.inc">
]>
<article><title>SGML ENTITY §t¬A¥~³¡ÀÉ®×½d¨Ò</title>
<para>§ÚÌ¥i¥H¥Î ENTITY ªº SYSTEM ´yzµü¨Ó´¡¤J¥~³¡ÀɮסG</para>
<sect1><title>ª©Åv«Å§i</title>
&twbaby.include;
</sect1>
</article>
½sĶ«áªºµ²ªG¿é¥X¬O¡G
SGML ENTITY §t¬A¥~³¡ÀÉ®×½d¨Ò
§ÚÌ¥i¥H¥Î ENTITY ªº SYSTEM ´yzµü¨Ó´¡¤J¥~³¡ÀɮסG
ª©Åv«Å§i. ¥»¤å±Ä¥Î GNU ²Õ´ªº GPL¤½¶}ª©Åv«Å§i¡AÅwªï½Æ»s,§ï¼g,´²§G¡A¨Ãn¨D§AÀ³¸Ó¥H¦P¼ËªºÅv§Q±ø´Ú¡A±Â¤©¤å¥óªº¨Ï¥Î¤H¡C¹ï GPL ªº¶i¤@¨Bªº¸ÑÄÀ¡A½Ð°Ñ¦ÒGNU ³q¥Î¤½¦@³\¥iÃÒ¡C
§ÚÓ¤H´X¥G¨C½g¦bºô¸ô¤Wµoªíªº¹q¸£§Þ³N¤å³¹¡A³£·|°µ³o¬q GPL ª©Åv«Å§i¡A¦]¦¹§Ú§â¥¦§@¦¨§t¬AÀÉ¡A´N¥i¥H¤@¦Aªº´¡¤J§Úªº DocBook ¤å¥ó¤¤¡C¤£¥²¨C¦¸³£«·s§ï¼g¡A¤]¤£¥²§â¤@ÓÀÉ®× copy ¦n¦h¥÷©ñ¤£¦P¤å¥ó¤¤¡A®{µM¼W¥[Àɮתº²V¶Ã¡A³oºØ¤å¥ó¼Ò²Õ¤Æ¡A¯u¬O¦n¥Î°Ú¡C
¦b¥D¤å¥ó¤¤´¡¤J¥~³¡§t¬AÀÉÁöµM¤è«K¡A¦ý¤å¥óµ²ºc²Õ´ªº°t¦X¤´¤£¯à¿ù¶Ã¡An¿í¦u DocBook DTD 즳ªº¬[ºc¡A«ÂI¦p¤U¡G
´¡¤Jªº§t¬AÀÉ¥u¬O¥D¤å¥óªº¤@Ó¤p¤ù¬q¡A¨Ã¤£¬O¤@Ó§¹¾ãªº DocBook ¤å¥ó¡C
¤@¥÷ SGML ¤å¥ó¥u¥i¥H¦³¤@Ó DOCTYPE «Å§i¡A¤@Ó Subset «Å§i°Ï¡A©M¤@¹ï®Ú¼ÐÅÒ¡A¦]¦¹§t¬AÀɤ¤¤£¥i¥H¥X²{ DOCTYPE «Å§i¡ASubset «Å§i°Ï¥H¤Î¤å¥ó®Ú¼ÐÅÒ¡C
©I¥s§t¬AÀɪº¥D¤å¥ó¡A³Ì¤Ön¦³§¹¾ãªº DOCTYPE ¤å¥ó«Å§i¡Asubset «Å§i°Ï¬q©M¤@¹ï®Ú¼ÐÅÒ¡C
¥~³¡§t¬AÀɤ£¬O´¡¤J¦b SGML prolog ªº Subset «Å§i°Ï¡A´N¬O´¡¦b¥»¤å®Ú¼ÐÅÒ¤º¡C
´¡¤J¨ì Subset °Ïªº§t¬AÀɤº®e¥²¶·¬O DTD «Å§i¦¡©ÎªÌ DTD «Å§i¦¡ªº¶°¦X¡C
´¡¤J¨ì¥»¤å®Ú¼ÐÅҰϪº§t¬AÀÉ¡A°£¤F¤@¯ë¤å¦r¡A¤]¥i¥H¦³¼ÐÅÒªº¶¥¼hµ²ºc¡A¦ý¥Lªºµ²ºc¥²¶·°t¦X©Ò´¡¤J°Ï¬q¡A²Å¦X DocBook DTD ªº©w¸qµ²ºc¡CÁ¿ªº¤ñ¸û²LÅã¤@ÂI¡A´N¬O§t¬AÀɤ¤¦pªG¦³¼ÐÅÒµ²ºc¡A¥L¥u¯à´¡¦b¤÷¼ÐÅҰϬq¤¤¡C
§t¬AÀɸ̥i¥H¦A´¡¨ä¥L§t¬AÀÉ¡A¦ý¦P¼Ë¥²¶·²Å¦X«ez¦U±øì«h¡C
¨ä¹ê¦b¥D¤å¥ó¤¤´¡¤J§t¬AÀɪº³W«h¨Ã¤£Ãø²z¸Ñ¡A§â¥L·Q¦¨¨ä¹ê´N¬O¿í¦uì¨Ó DocBook ¤å¥óªº³W«h¡A¥u¬O§â¤¤¶¡¬Y¨Ç¤ù¬q¸ê®Æ¡A¦s¦b¥t¥~ªºÀɮ׸̡A½sͮɦA§â¥L³q³q«÷´ê¦^¨Ó¦Ó¤w¡C
ÀHµÛ§A¨Ï¥Î DocBook ®æ¦¡¼¶¼g¤å¥ó¡A¸ê®Æ·U¨Ó·U¤j¡A©T©wªº¦@¥Î¸ê®Æ¤ù¬q¤]·U¨Ó·U¦h¡A³o®É¦A¦b¤å¥óªº subset °Ï¬q¤¤§Q¥Î SI ±Ôz¨Ó¤@¤@«ü©ú¥~³¡¸ê®Æ¸ô®|¦ì§}¡A¥H¨Ñ¦b¥»¤å±Ôz¤¤¯à°÷´¡¤J¡A´N·|Åܱo¤Q¤ÀÁcº¾¡C³o®É§Ú̬O§_¯à§â©Ò¦³¨Ï¥Î SI ±Ôzªº external ENTITY «Å§i¡A¶°¦X¼g¦b¤@ÓÀɮפ¤¡A¨º»ò¥H«á©Ò¦³»Ýn«Å§i³o¨Ç¥~³¡¸ê®Æªº¤å¥ó¡A¥un¦b subset °Ï°õ¦æ¤@¦¸´¡¤J°Ê§@¡A´Nµ¥©ó«Å§i¤F©Ò¦³ªº¦@³q¥~³¡¸ê®Æ¡Hµª®×¬OªÖ©wªº¡A§Q¥Î«e¤@¸`§Ú̾Ƿ|ªº¥~³¡¸ê®Æ§t¬Aªº°ò¥»ª¾ÃÑ¡A§ÚÌ´N¥i¥Hºt¦ù¥X§ó¶i¶¥ªºÀÉ®×§t¬A¥\¯à¡C
º¥ý§Ṵ́²©w©Ò¦³¥~³¡§t¬A¸ê®Æ³£¶°¤¤©ñ¸m¦b common ³oÓ¤l¥Ø¿ý¸Ì¡A¦]¦¹§Ṵ́õ¦æ¤U¦C«ü¥O¨Ó°µ¤@Ó¸ô®|¥X¨Ó¡G
$ mkdir -p $HOME/Document/sgml/common |
±µµÛ§Ṵ́²©w¤U¦C¤TÓ¥~³¡¸ê®Æ¬O¨C½g¦bºô¸ôµoªíºô¶®É¡A³£·|¤Þ¥Îªº¸ê®Æ¡A§ÚÌ¥ý¤@¤@»s§@¡A¦s©ñ¦b $HOME/Document/sgml/common ¸ô®|¤U¡C
ÀɮצWºÙ:legal.inc <?xml encoding="Big5"?> | ||
--ª©Åv«Å§i |
ÀɮצWºÙ:author-oldguy.inc <?xml encoding="Big5"?> | ||
--¤å¥ó§@ªÌ¸ê®Æ |
ÀɮצWºÙ:twbaby.org.inc <?xml encoding="Big5"?> | ||
--¤å¥óµo§G³æ¦ì¸ê®Æ |
±µµÛ§Ú̦b common ¸ô®|¤U§@Ó index.ent ªº SI «Å§i¶°¦XÀɦp¤U¡G
ÀɮצWºÙ:index.ent <?xml encoding="Big5"?> | ||
--ENTITY ¶°¦X«Å§iÀÉ |
nª`·Nªº¬O¡G
¦]¬°³o¨Ç external ENTITY ±N¨Ó¬On´¡¦b¤å¥ó½s¼g°Ïªº(®Ú¼ÐÅҰϬq¤¤)¡A©Ò¥H¨Ï¥Î General ENTITY «Å§i¤è¦¡¡A¹êÅé¦WºÙ«e¤£¥[ % ¦r²Å¡C
³o¨Ç SYSTEM ´yzµü«á¬O±Ä¥Î¬Û¹ï¸ô®|«ü¥X¥~³¡§t¬AÀɸô®|¡A³o¸Ìªº¬Û¹ï¡A¬O«ü ENTITY «Å§iÀÉ©M¨ä«ü©w§t¬AÀɪº¬Û¹ï¦ì¸m¡A¦Ó¤£¬O«ü¥D¤å¥ó»P§t¬AÀɪº¬Û¹ï¦ì¸m¡C
³Ì¦n¬°¨CÓ ENTITY «Å§iÀɪº¤º®e©Î¥\¥Î°µÓ²µu³Æµù»¡©ú¡A§_«h¡A¤£¥X¨âÓ§«ô¡A§A·|§Ñ¤F¨º¨Ç§t¬AÀɬO°µ¤°»ò¥Îªº¡C
þ©È¤¤¤å¸ê®Æ¥u¦b³Æµù¦r²Å¤¤¡Aþ©È¯u¥¿ªº«Å§i±Ôz³£¬O^¤å¡A¥un¤å¥ó¤¤¦³¤@Ó¤¤¤å¦r¡A³£½Ð§A¨Ï¥Î xml ±Ôz³]©w¦n encoding ÄݩʡA¦]¬° xmlto ¥un¬Ý¨ì¤å¥ó¤¤¦³«D ascii ©Î utf-8 ¦r¤¸¡A¤@«ßµø¬°¿ù»~¦Ó²×¤î°õ¦æ¡A¤£¥u xmlto ¦p¦¹¡A³\¦h¨ä¥Lªº XML ¸ÑªR¾¹¤]¤@¼ËÄY®æªºªñ¥GÀt¤ò(¦pªG§A½T©w§Aªº©Ò¦³§t¬AÀɳ£¥u¦b SGML ¤U¸ÑĶ¡A´N¤£¥²¦p¦¹³Â·Ð¡ASGML parser ¤£ care ¨ºÓ encoding¡C)
³Ì«á§Ú̽s¿è¤@¥÷´ú¸Õ¥\¯àªº¥D¤å¥ó $HOME/Document/sgml/test.sgml(or test.xml)¡Aº¥ý«Å§i¤å¥ó«¬ºA¡A¨Ã¥´¶} prolog ªº subset °Ï¡ASGML ®æ¦¡¬O¡G
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
XML ®æ¦¡¡G
<?xml version="1.0" encoding="Big5"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd" [
±µµÛ§Ú̧âèè¨ºÓ ENTITY «Å§i¶°¦XÀÉ´¡¤J¨ì prolog ªº subset °Ï¡A²£¥Í³v¤@«Å§i ENTITY ªº®ÄªG¡G
<!ENTITY % twbaby.include SYSTEM "common/index.ent">
<!-- ¥Ñ©ó ENTITY ¥²¶·©ó subset °Ï«Å§i¡Asubset °Ï¥²¶·¨Ï¥Î Parameter
ENTITY ¡A©Ò¥H¹êÅé¦WºÙ«e¥[ % ¦r²Å¡C -->
%twbaby.include; <!-- §â index.ent ÀÉ®×´¡¤J«Å§i°Ï¡A²£¥Í«Å§i®ÄªG¡C -->
Ãö¤W subset °Ï¡A¨Ã¶}©l®Ú¼ÐÅÒ¡A¶i¤J¥»¤å½s¿è°Ï¡G
]]>
<article>
¦b¥»¤å½s¿è°Ï¤¤¨Ï¥Î subset °Ï«Å§iªº External ENTITY¡G
<title>©T©w¸ê®Æ¤ù¬q«½Æ¨Ï¥Î½d¨Ò</title>
<articleinfo>
&twbaby.legal.inc;
&twbaby.authur.oldguy;
</articleinfo>
<para>§A¥i¥H¥Î¤@Ó¥~³¡ ENTITY «Å§i¶°¦XÀÉ¡A¨Ó²Î¦X©Ò¦³ªº±`¥Î¸ê®Æ¤ù¬q¡A´¡¤J¥»¤å¤¤¨Ó«½Æ¨Ï¥Î¡C</para>
</article>
²{¦b§A¥i¥H§â©Ò¦³³o¨Ç³£´ê¦b¤@°_¡A¥Î openjade or xmlto ½sͦ¨ HTML ¬Ý¬Ý®ÄªG¡C
![]() | ¦b³o½d¨Ò¤¤¡AÁöµM article ®Ú¼ÐÅÒ¥u¥X²{¨âÓ External ENTITY ´¡¤J¡A¦ý¨ä¹ê¬O¤TÓ ENTITY ³£¥Î¤W¤F¡A¦]¬°¦b author-oldguy.inc ³oÓ§t¬AÀɦ³°µ¤F´¡¤J¥t¤@Ó§t¬AÀÉ twbaby.org.inc ªº°Ê§@¡A©Ò¥H¤@Ó³Q«Å§i¹Lªº External Entity ¡A¤£¥u¥i¥H¥D¤å¥ó¤¤³Q´¡¤J¡A¤]¥i¥H¦b«Å§i®Ä¤O©Ò¤Îªº¥t¤@Ó§t¬AÀɤ¤³Q´¡¤J¡C |
¦b¼ô±x¤F internal ENTITY ªº±`¼Æ«Å§i¡A¥H¤Î external ENTITY ªº¥~³¡§t¬AÀɫŧiªº¨Ï¥Î¤èªk«á¡A§ÚÌ´N¥i¥Hµ½¥[ÅܤơA°µ¥X³\¦h¬Ù®É¬Ù¤Oªºªþ¥[¾÷¨î¥X¨Ó¡CÄ´¦p¤U±¤¶²Ðªº¡A¸Ñ¨M¦]¥~³¡³sµ²Àɦì§}§ïÅÜ¡A¾ÉPì³sµ²¥¢®Ä°ÝÃDªº¾÷¨î¡C
¦pªG§Ú»¡ªñ¦~¨Ó·°g¨ì¥@¬É¦U¦a¨CÓ¨¤¸¨ªº¡AWorld Wide Web ºô¶¡A¥¦³Ì¤Þ¤H¤J³Ó¡A¨Ã¿W¨ã¯S¦âªº¡A´N¬O Hyper Link(¶W³sµ²)³o¶µ¥\¯à¡AÀ³¸Ó¤j®a¤£·|¦³²§Ä³¤~¹ï¡C¦ý¦³¹LºûÅ@¨Ã§ó·sºô¯¸¸gÅ窺¤H³£ª¾¹D¡A³Ì¥O¤HÀY¯k¡A¨Ã¥B»Ýn±`±`¯d·Nªº¡A´N¬O¹L®É³sµ²¦ì§}ªº§ó¥¿¡C¦]¬°§A¥i¥H¾aµÛ¥J²Ó©MÂÔ·V¨ÓºÉ¥i¯à°§C¦Û¤v¼¶¼gºô¶ªº¿ù»~¸ê°T¡A¦ý§A¨S¿ìªk±±¨î§O¤Hªººô¶¤£·h®a´«¦a¤è¡A¥un§Aªººô¶¤¤¦³¦V¥~³sµ²¨ä¥Lºô¸ô¸ê°Tªº±Ôz¡A§A´Nn¦³¦¹³sµ²±Ôz¥i¯àÀH®É·|¹L®Éªº¤ß²z·Ç³Æ¡A§A¥u¯à±µ¨ü³oӨƹê¦Ó¤@ÂI¿ìªk¤]¨S¦³¡C
·íµM¡A´Nºâ¥Î DocBook ¨ÓÂàͲ£¥Íºô¶¡A´Nºâ¥Î SGML ENTITY ¥\¯à¨Ó¨ó§U¡A¤´¤£¯àªý¤î§O¤Hªººô¶¤£·h®a¡C¦ý¥i¥HÂÇ¥Ñ SGML ENTITY ªº¨ó§U¨Ó»ü¬Ù§A§ó·sºô¶¤¤¹L®É³sµ²±Ôzªº¤u§@¡AÅý§A¤£¥²Â½¹Mºô¶ªº¨C¤@¦æ¬q¸¨¡A¨Ó§ä¥X³sµ²±Ôz¦ó¦b¡C
n¹F¦¨³o¼Ëªº¥\¯à¡A¥²¶·°µ¨ì¨âÓ«ÂI¡G²Ä¤@¡A©Ò¦³¦b¤å¥ó¤¤ªº¶W³sµ²±Ôz¡A¤@«ß¥Ñ internal ENTITY ¨ú¥N¡F²Ä¤G¡A©Ò¦³·|¥Î¨ìªº¶W³sµ² ENTITY «Å§i¡A¶°¤¤¼g¨ì¤@Ó¥~³¡§t¬AÀɤ¤¡C¨Ò¦p§Ú·|°µ¤@Ó $HOME/Document/sgml/common/oururl.ent ¦p¤U¡G
<?xml encoding="Big5"?>
<!ENTITY addrlose.url "http://mysite.mydomain/addrlose.html">
<!-- ºô¸ô¤WµLªk¦A·j´M¨ìì©lÀɮתº¿ù»~³qª¾ºô¶ -->
<!ENTITY docbook.onlinebook.url "http://www.docbook.org/tdg/en/html/docbook.html">
<!-- DocBook ©x¤èª©½u¤W¤â¥U¦ì§} -->
<!ENTITY openjade.download.url "http://openjade.sourceforge.net/">
<!-- openjade ì½X¤U¸ü¦ì§} -->
<!ENTITY install.jade.url "http://www.study-area.org/tips/doctrans/doctrans.html">
<!-- OpenJade ¦w¸Ë»¡©ú¤å¥ó¦ì§} -->
<!-- ¨ä¥Lºô¸ô³sµ²¦ì§} ...... -->
±µµÛ§Ú¦b $HOME/Document/sgml/test.sgml ¥D¤å¥ó¤¤¥Î oururl.ent ªº ENTITY ¨Ó¨ú¥N Hyper Link ªº URL ±Ôz¦p¤U¡G
Example 9. ¥~³¡§t¬A¶W³sµ²«Å§i
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY % twbaby.hlink.ent SYSTEM "common/oururl.ent">
%twbaby.hlink.ent;
]>
<article><title>DocBook ²¤¶</title>
<para>·Qn¨ú±o DocBook ¸ÑĶªºµ{¦¡¼Ò²Õ¡A¥i¥H¨ì <ulink url="&openjade.download.url;">
openjade ®M¥ó</ulink> ¥h¤U¸ü¡C¤£ª¾¦p¦ó¦w¸Ëµ{¦¡¼Ò²Õ¡A¥i¥H¥h <ulink url="&install.jade.url;">
¬d¬Ý¦w¸Ë»¡©ú¤â¥U</ulink>¡C¦Ü©ó¤£ª¾¦p¦ó¼¶¼g DocBook ¤å¥ó¡A¤]¥i¨ì<ulink url=
"&docbook.onlinebook.url;">½¾\©x¤è½u¤W¤â¥U</ulink>¡C</para>
</article>
·í§A°µ³o¼Ë¦w±Æ¡A¥H«á¥ô¦ó¨ä¥L³Q³sµ²ºô¶·h®a¡A§A¥un§ó§ï oururl.ent ³oӫŧiÀɪº¬ÛÃö ENTITY ³]©wÈ«á¡A¦A«·s±N¤å¥ó½sͤ@¦¸§Y¥i¡C¤£»Ýn¨ìºô¶¤º®e¤¤¤@¦æ¤@¦æ¥h½§ä¡A§â¬ÛÃöªº³sµ²§ä¥X¨Ó¡C(·í§Aªººô¶¼Æ¶q¤Q¤ÀÃe¤j®É¡A§A·|©ú¥Õ¤@¦æ¤@¦æ§ä¬O¦h®£©Æªº¤@¥ó¨Æ¡C)¦Ó¹ï©ó¨ºÓ¹ý©³±qºô¸ô¤¤®ø¥¢ªº³Q³sµ²ì©lÀÉ¡A«h¥Î addrlose.url ³oÓ ENTITY ©Ò«ü¥Üªººô¶¡A¨ú¥Nì ENTITY ³]©wÈ¡A¨Ó¦VÂsÄýªÌ³ø§i¡A³oÓºô¸ô¸ê·½¤w°h¥Xºô¸ô¡A¤£´_¥X²{¤F¡C
¦¹¥~¦pªG§A±Ä¥Î¶°¤¤¶W³sµ²«Å§iÀɪº¾÷¨î¡A§A¤£¥²µ¥ÂsÄýªÌ³qª¾§Aºô¯¸¤¤¦³Ãa³sµ²µo¥Í¡Aµ½©ó¼¶¼g server ºÝ script ªº¡A¥i¥H¥Î¦¹Àɸê°T°õ¦æ¦Û°Ê°»´úµ{¦¡¡AÂǥѦ^À³°»´ú¨Óµoı³sµ²²§±`ª¬ªp¡C¤£·|¼g script ªº¡A´N§â©Ò¦³«Å§iªº¶W³sµ² ENTITY ¼g¦¨¤@¤j±i HTML ¡A§äÓ¤H¨C¤Ñ³v¤@«ö¤@¤U¨Ó´ú¸Õ¡A³o³£¤ñ§A¤@¤@¨ìºô¶¤º¤å¤¤¥h§ä¡A·|¦³®Ä²vªº¦h¡C§A¥i¥H¤£¥²¹ïºô¶¤¤¹L®É³sµ²¨º»òµL¤O·P¡A¥un§Aµ½¥Î SGML ªº ENTITY «Å§i¥\¯à¡C
¸g¹L«e±¤@³s¦ê°ò¥»Æ[©Àªº¤¶²Ð©M°ò¥»»yªkªº½m²ß¡A²{¦bÁ`ºâ¥i¥H¶}©l§Ų́ϥΠDocBook ®æ¦¡¤å¥óªº¥t¤@¤j²z¥Ñ¡A¦h¤H¦@¦P¼g§@¡C¦b¶}©l¤§«e§ÚÁÙ¬On¦A´£¿ô¤@¦¸¡ADocBook ¯à´£¨Ñªº¥\¯à¬O¤Æ¾ã¬°¹s¡A¤ÀÀY¬I¤u¤§«á¡A¦A·J¾ã¦¨½s¡C¦Ü©ó¨ä¥LÅvºÞ¨î¡Aª©¥»×¥¿¾úµ{¬ö¿ý¡A«h¤£¦b DocBook ±±¨î½d³ò¤º¡A¤£¹L¨âªÌ«o¥i¥H¦X¨Ö¹B§@¡A¬Û±o¯q¹ü¡C
¤£ºÞ§A¥´ºân³z¹Lºô»Úºô¸ô¡A°Ï°ìºô¸ô¡A©Î¦@¥Î¥D¾÷¡A¨ÓÅý³\¦h¤H¦@¦P½s¿è¤@¥÷¤å¥ó¡A§AÁ`n¦b©ñ¸m¤å¥óªº¥D¾÷¤W¡A¶}©ñ©Ò¦³°Ñ»P¦@¦P¼g§@ªº¤H¡A¨ã¦³µn¤J¥D¾÷ªºÅv¡A¨ÃÅý¥L̦b¸Ó¥D¾÷¤W¡A¾Ö¦³¤@Ó±MÄݪº¸ê®Æ§¨¡A¨ÓÂ\©ñ¥L̳Q¤À°t¨ì½s¿èªº¤l¤å¥ó¡C
¦b³o¸Ì§Ṵ́µ¤@Ó°²³]¡A¥xÆW¥øÃZÄ_Ä_¤u§@¶¤ªºµo°_¤H¦Ñ°^¥Í¡AÁܶ°¤F¦b¥xÆW BBS Linux ½×¾Âªº¤T¤j°ª¤â¡A¤p¦{,ºô¤¤¤H,§õªG¥¿¨Ó¤À§O´N¨t²Î,ºô¸ô,±Æª©¦C¦L³¡¥÷¡A´£¨Ñ¥LÌ¿W¨ì¨£¸Ñ©M¸gÅç¡A·J¾ã¦¨ Linux ±K§Þ·J½s¤@½g¡A¥H¨Ñ±À¼s´£ª@ Linux ªÀ¸s¨Ï¥Î¸gÅ礧¥Î¡C§Ú̲{¦b´N¥H³oÓ°µ°²³]¡A¨Ó¬Ý¬Ý«ç¼ËªºÀô¹Ò¦w±Æ¡A¥i¥H«Øºc¦¨¤@Ó¦h¤H¦@¦P¼¶¼gªº DocBook Àô¹Ò¡C
º¥ý§Ṵ́²³]¦Ñ°^¥Íªº¨º¥xºô¸ô¥D¾÷¦WºÙ¬O cvs.baby3y.org.tw¡A§A¥i¥HÅý¥L¦¨¬°¤@Ó cvs server ¡Atelnet server or ssh server ¡A¨ÓÅý¨Ï¥ÎªÌ¤W¤U¶Ç¤å¥ó¸ê®Æ[5]¡A¤U±ªº°Ê§@½Ð¥ý¤Á´«¦¨ root °õ¦æÅv¦A°µ°õ¦æ©R¥O°Ê§@¡Cº¥ý§ÚÌ»Ýn«Ø¥ß¤@Ó cvs group ¨Ó°Ï§O DocBook ¤å¥ó½s¿èªÌ¡A©Î³æ¯Âªº cvs.baby3y.org.tw ¥D¾÷µn¤JªÌ¡C
# groupadd cvs |
°£«D§ÚÌn«Ø¥ß cvs server ¡A¤~n¤@¦P«Ø¥ß cvs user ¡A§_«h¥ú¦³ cvs group §Y¥i¡C±µµÛ§Ú̫إߦ@¦P¤å¥ó½s¼g°Ï¥Ø¿ý¨Ã³]©w¾A·íÅv¡G
# mkdir /home/cvsroot # chmod 775 /home/cvsroot # chown root.cvs /home/cvsroot |
OK¡A§Ú̦³¤F¤@Ó¦@¦P¼g§@¸ê®Æ§¨¡A¦ý§A¤£·|¥u¼g¤@½g Linux ±K§Þ·J½s´Nº¡¨¬¤F¡A±N¨Ó¤@©wÁÙ¦³³\¦h¨ä¥L¤£¦PÃD¥Øªº¦@¦P¤å¥ó·|¦b¦¹°Ï½s¼g¡C§A¤£·|§Æ±æ¤£¦PÃD¥Øªº¤å¥ó³£°ï¦b¤@ӥؿý¤¤¶Ã¦¨¤@¹Î¡A¦]¦¹§Ú̵¹³o¦¸±K§Þ·J½s¤å¥ó¤@Ó³æ¿Wªº¥Ø¿ý tltp(Taiwan Linux Tip Project)¡C
# mkdir /home/cvsroot/tltp # chmod 750 /home/cvsroot/tltp # chown root.cvs /home/cvsroot/tltp |
![]() | ¦pªG§A·QÅý¤@¯ëµn¤JªÌ¤]¥i¥H¶i¤J¤Î¾\Äý /home/cvsroot/tltp ¸ê®Æ¡A§A¥i¥H³]©wÅv¼Ò¦¡¬° 755 ¡A¥»½d¨Ò³] 750 ªí¥Ü«D tltp ¤å¥ó½s¼gû¤£±o¶i¤J¥»°Ï¡C |
²{¦b§Ú̪¾¹D /home/cvsroot/tltp ´N¬O§Ú̱K§Þ·J½s¤å¥óªº³Ì¤W¼h¥Ø¿ý¡A±µµÛ§ÚÌn¦b³o¤å¥ó®Ú¥Ø¿ý¤U¤À§O«Ø¥ß¦UÓ½s¼gû¦Û¤v¤å¥ó©ñ¸mªº³æ¿W¸ê®Æ§¨¡C·íµMº¥ý§An¦b cvs.baby3y.org.tw ¥D¾÷¤W«Ø¥ß ¤p¦{(kenduest),ºô¤¤¤H(netman),§õªG¥¿(edward) ¤T¤Hªº±b¸¹¡A«Ø¥ßªº¤èªk½Ð¦Û¦æ°Ñ¦Ò useradd ©R¥O¡A¦¹³B¤£¦AÂØz¡A±µµÛ§An½s¿è /etc/group ¸s²ÕÀÉ¡A°µ¤U¦Cªº§ó§ï¡G
cvs:x:nnn §ï¦¨ cvs:x:nnn:kenduest,netman,edward |
¦p¦¹¤~¯àÅý kenduest,netman,edward ¤T¤H¨ú±o¶i¤J tltp ªºÅv¡C±µµÛ§An«Ø¥ß kenduest µ¥¤Hªº¤À§O¸ê®Æ§¨¡G
# mkdir /home/cvsroot/tltp/kenduest # chmod 750 /home/cvsroot/tltp/kenduest # chown kenduest.cvs /home/cvsroot/tltp/kenduest |
¨ä¥L¨â¤H¤]¨Ì¦P¼Ëªºªk«h¡A¦b tltp ¤U¤À§O«Ø¥ß netman ©M edward ¤l¸ê®Æ§¨¡A³Ì«á§AÀ³¸Ó«Ø¥ß¤@Ó¥þÅé¸ê®Æ¦@¥Î°Ï common ¦p¤U¡G
# mkdir /home/cvsroot/tltp/common # chmod 770 /home/cvsroot/tltp/common # chown root.cvs /home/cvsroot/tltp/common |
¸g¹L¥H¤W³o¨Ç¾úµ{¡A¦@¦P¤å¥ó¼g§@ªº¨t²ÎÀô¹Ò³W¹º´Nºâ§¹³Æ¡A±µµÛ¡A´N¬O DocBook ¤å¥ó°t¸m¸Ó¤W³õªº®ÉÔ¤F¡C
¦³¤F external ENTITY «Å§iªº·§©À«á¡A¦p¦ó¦b¥D¤å¥ó¤¤§t¬A¥~³¡¤å¥ó·Q¥²¬O»´¦Ó©öÁ|ªº¨Æ¡A²{¦b§ÚÌ´N¦b /home/cvsroot/tltp/ ¸ô®|½s¿è¤@Ó main.sgml(xml)·í¥D¤å¥ó¨Ó´¡¤J kenduest,netman,edward ¤TÓ¤H½s¼gªº°Æ¤å¥ó¡G
Example 10. SGML ¥D¤å¥ó½d¨Ò
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY kenduest.main SYSTEM "kenduest/mainchap">
<!ENTITY netman.main SYSTEM "netman/mainchap">
<!ENTITY edward.main SYSTEM "edward/mainchap">
]>
<book><title>Linux ±K§Þ°Ýµª·J½s</title>
<chapter><title>¾É½×</title>
<para>¥»¤å¶°¦X¦b¥xÆW BBS ½×¾Â¤W¡A±`±`¼ö¤ß¬°ºô¤Í±ÆºÃ¸Ñ´b¡A¦^µª Linux
§@·~¨t²Î¬ÛÃö°ÝÃDªº¤T¤j°ª¤â¡A¤p¦{,ºô¤¤¤H©M§õªG¥¿¤T¦ì¥ý¥Í¡C¤À§O´N¥L̦b
Linux ¤Wªº±Mªø©Ò¾Ç¡A´£¨ÑºëÅPªº¤ÀªR»P¿W¨ì¨£¸Ñ¡AîPµÑ¦¨¤@½g§¹¾ã¤å³¹¡C
³o¯u¬O 2004 ¦~¦Û¥Ñ³nÅéªÀ¸s¬ã¨s±À®iªº¤@¤j³Ó¨Æ¡A§Æ±æ¤j®a¯àÂǦ¹¬Û¤¬¥æ¬y¡A
¶i¨B¤@¤é¤d¨½¡C</para>
</chapter>
&kenduest.main;
&netman.main;
&edward.main;
</book>
¤W±¬O SGML ½d¨Ò¡AXML ½d¨Ò¨£¤U¦C¡G
Example 11. XML ¥D¤å¥ó½d¨Ò
<?xml version="1.0" encoding="big5"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd" [
<!ENTITY kenduest.main SYSTEM "kenduest/mainchap">
<!ENTITY netman.main SYSTEM "netman/mainchap">
<!ENTITY edward.main SYSTEM "edward/mainchap">
]>
<book><title>Linux ±K§Þ°Ýµª·J½s</title>
<chapter><title>¾É½×</title>
<para>¥»¤å¶°¦X¦b¥xÆW BBS ½×¾Â¤W¡A±`±`¼ö¤ß¬°ºô¤Í±ÆºÃ¸Ñ´b¡A......(¥H¤U¦P¤W)<para>
</chapter>
&kenduest.main;
&netman.main;
&edward.main;
</book>
³o¼Ë¦b¥D¤å¥óªº subset °Ï´¡¤J°Æ¤å¥óªº¨Ï¥Î¤è¦¡¬Û«H¨SÔ£¤j¾Ç°Ý¡A¤]¤£»Ý¤Ó¦h¸ÑÄÀ¡A¤£¹L«o¦³¨Ç¨î¬On¥þÅé°Ñ»P½s¼g¤Hû¿í¦uªº¡G
external ENTITY ªº¥~³¡Àɮ׸ô®|«Å§i¡Anª`·N¥~³¡ÀɮשM¥D¤å¥óªº¬Û¹ï¦ì¸m¡C
´N³oÓ½d¨Ò¤¤¡Amainchap Åܦ¨¦U¤l¤å¥ó½s¼gû³Ì¤W¼hªº¤å¥ó¡A¦U¤l¤å¥ó½s¼gû¥²¶·¨Ï¥Î³oÓÀɦW¡A¤£±oÅܧó¡C
¬°¤F±N¨Ó¨CÓ¤H½s¼gªº¤l¤å¥ó¯à©M¦b¤@¶ô¡A¤£³y¦¨¤å¥óµ²ºc½Ä¬ð¡A¥D¤å¥ó¼¶¼gû¥²¶·§iª¾¦U¤l¤å¥ó½s¼gû³Q¤À°t¨ìªº³Ì¤W¼h¼ÐÅÒ¬°¦ó¡A¤l¤å¥ó½s¼gû¥u¯à¨Ï¥Î¸Ó³Ì¤W¼h¼ÐÅÒªº¤l¼ÐÅÒ¡A¨ÃÁ×§K¤å¥ó¤¤¦³¸õ¥X³Ì¤W¼h¼ÐÅÒ¬q¸¨¤§¥~ªº²{¶Hµo¥Í¡C¨Ò¦p¥»¨Ò¡Akenduest,netman,edward ¤À¨ìªº³Ì¤W¼h¼ÐÅÒ³£¬O chapter¡A©Ò¥H¤T¤H³£¸Ó¦b¦Û¤v¥Ø¿ý¤¤ªº mainchap ÀÉ¥H <chapter> ¬°¤å¥ó¶}ÀY¡A¥H </chapter> ¬°¤å¥óµ²§À¡A¨Ã¥B¥u¨Ï¥Î chapter ªº¤l¼ÐÅÒ³W¹º¤å¥ó¡C
¦pªG§A¬O¨Ï¥Î XML »yªk³W«h½sĶ DocBook ¤å¥ó¡A¨º»ò©Ò¦³ªº¥~³¡§t¬A¤å¥ó¡A¥un½s½X¤£¬O UTF-8 or UTF-16 ¡A´N¤@«ß¥²¶·¦b¤å¥ó¶}ÀY¥[ <?xml encoding="code-name"?> ªº«Å§i¡A§_«h·|³y¦¨½sĶ¿ù»~¡C
¦b¥D¤å¥ó´¡¤J¥~³¡¹êÅé(external ENTITY)«Å§iÀɪº¥Î·N¦³¤G¡G
Åý¤å¥óªº¹êÅ骺«Å§i¥i¥H¤@¦¸¾ã§å§¹¦¨¡Aºû«ù¥D¤å¥óªºÂ²³æ²M·¡¡C
ÂǥѦb¥~³¡¹êÅé«Å§iÀɤ¤§t¬A¨ä¥Lªº¹êÅé«Å§iÀÉ¡AÅý¤l¤å¥ó½s¼gû¤]¥i¥H¦Û¦æ³]©w¹êÅé«Å§i¡C
§ÚÌ¥ý½Í¥D¤å¥ó¦p¦ó§Q¥Î§t¬A¥~³¡¹êÅé«Å§iÀɨӾã§å³B²z¹êÅé«Å§i¡A§ÚÌ¥ý°µ¤@Ó /home/cvsroot/tltp/url.ent ªº¥D¤å¥óºô¸ô¸ê·½«Å§iÀÉ¡G
Example 12. ¥~³¡ºô¸ô¦ì§}¹êÅé«Å§iÀÉ
<?xml encoding="big5"?>
<!ENTITY common.oldguy.email "oldgen@pchome.com.tw">
<!-- ¥»¤åÁ`½s¦Ñ°^¥Íªº email «H½c -->
<!ENTITY gnu.legal.url.tw "http://www.linux.org.tw/CLDP/OLD/doc/GPL.html">
<!-- GNU GPL ª©ÅvÁn©ú¤¤Ä¶¤å¥ó¦ì§} -->
±µµÛ§ÚÌ»s§@¤@¥÷ /home/cvsroot/tltp/main.ent ÀÉ®×§@¬°¥D¤å¥óªº³Ì¤W¼h¥~³¡¹êÅé«Å§iÀÉ¡A¨Ã§t¬A´¡¤Jèè°µ¦nªººô¸ô¦ì§}«Å§iÀÉ url.ent¡G
Example 13. ¥D¤å¥óªº³Ì¤W¼h¥~³¡¹êÅé«Å§iÀÉ
<?xml encoding="big5"?>
<!ENTITY % common.url.ent SYSTEM "url.ent">
<!-- «Å§iºô¸ô¸ê·½³sµ²¦ì§}«Å§iÀɸô®|¦ó¦b -->
%common.url.ent;
<!-- «Å§i¹Lªº¥~³¡¹êÅé¡An°õ¦æ´¡¤J°Ê§@¤~·|¹ê»Ú²£¥Í§@¥Î¡C -->
³Ì«á§Ú̦b¥D¤å¥ó main.sgml(xml) ¤¤¤Þ¥Î´¡¤J¥Dn¥~³¡«Å§iÀÉ main.ent¡G
Example 14. ¥D¤å¥ó´¡¤J¥~³¡«Å§iÀÉ
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY % external.module SYSTEM "main.ent">
%external.module;
<!ENTITY kenduest.main SYSTEM "kenduest/mainchap">
<!ENTITY netman.main SYSTEM "netman/mainchap">
<!ENTITY edward.main SYSTEM "edward/mainchap">
]>
<book><title>Linux ±K§Þ°Ýµª·J½s</title>
<chapter><title>¾É½×</title>
<para>¥»¤å¶°¦X¦b¥xÆW BBS ½×¾Â¤W¡A±`±`¼ö¤ß¬°ºô¤Í±ÆºÃ¸Ñ´b......</para>
<para>¹ï¥»½g¤å³¹¦³¥ô¦ó§åµû«ØÄ³¡A½Ð email ¨ìÁ`½s¦Ñ°^¥Íªº¹q¶l«H½c
<email>&common.oldguy.email;</email> ¡A¹ï©ó¦U³¹¥Dµ§¦³¶i¤@¨Bªº½Ð¯q¡A
<!-- ´¡¤J url.ent ¤¤ªº«Å§i¤Þ¥Î -->
½Ð°Ñ¦Ò¦U³¹¤º¥Dµ§´£¨Ñ¤§Ápµ¸¤è¦¡¤Îºô¸ô¦ì§}¡C</para>
</chapter>
&kenduest.main;
&netman.main;
&edward.main;
</book>
§Ú̦b«e±ªº³¹¸`´¿¸g»¡¹L¡A¤@¾ã¥÷ DocBook ¥u¦³¤@Ó prolog ¥i¥H¶}±Ò subset ´¡¤J¹êÅé«Å§i¡A¦Ó¥B¥u¦³¥D¤å¥ó¥i¥H¶}±Ò subset °Ï¬q¡C¨º»ò§@¬°³Q§t¬A©I¥sªº¤l¤å¥ó¡A¬O¨S¦³ subset °Ï¡A¤]µLªk°µ¦UºØ¹êÅé«Å§iªº¡C¨º»ò¤l¤å¥óªº½s¼gû¦pªGn¨Ï¥Î ENTITY ¦n¥Îªº¥\¯à¡A´N¤@©wn«ô°U¥D¤å¥ó½s¼gûÀ°¥L«Å§i¡A¦Ó¤£¯à¦Ûq¹êÅé«Å§i¶Ü¡H
¨ä¹ê§ÚÌ¥un°O¦í¤@ÓÆ[©À¡A§Ú¦b¥D¤å¥ó«Å§i¤Þ¥Î¤@Ó¥~³¡¹êÅéÀÉ¡A³oÓ¹êÅéÀÉ´N¥i¥H¦A¥h«Å§i¤Þ¥Î¨ä¥L¹êÅéÀÉ¡A³o»ò¤@¼h¤@¼h¤Þ¥Î¤U¨Ó¡A³Ì«á©Ò¦³¥~³¡Àɮתº¹êÅé«Å§i¡A³£·|·JÁ`¨ì¥D¤å¥óªº subset °Ï¥h«Å§i¡C©Ò¥H¥un¥D¤å¥ó¼¶¼gû©M¤l¤å¥ó¼¶¼gû¨óij¦n¡A¦b¥D¤å¥ó´¡¤J¤@ӥѤl¤å¥ó¼¶¼gû½s¼gªº¥~³¡¹êÅé«Å§iÀÉ¡A¤l¤å¥ó½s¼gû´N¥i¥H³z¹L³oÓÀɮפ¤¤¶¡A¼h¼hÂà¥Î¨ä¥L¦Û¤v½s¼gªº¥~³¡¹êÅé«Å§iÀÉ¡A¨Ã§â¥¦À³¥Î´¡¤J¨ì¦Û¤v¤å¥ó¤¤¡C
¤U±§ÚÌ´N§âì¨Ó¥D¤å¥óªº³Ì¤W¼h¥~³¡¹êÅé«Å§iÀɧï¼g¤@¤U¡AÅý¥L·|¥h§t¬A kenduest,netman,edward ¤T¤H¥Ø¿ý¤Uªº main.ent ¥~³¡¹êÅé«Å§iÀÉ¡A¦nÅý¤T¦ì¤l¤å¥ó½s¼gû¥i¥H¦Ûq¹êÅé«Å§i¡C¦¹¥~§Ṳ́]¥[¤FÓ¦@¦P¸ê®Æ°Ï common/main.ent ¨Ó¤Þ¥Î¦@¦P°Ïªº¬ÛÃö¸ê®Æ¡C
Example 15. ¥D¤å¥óªº³Ì¤W¼h¥~³¡¹êÅé«Å§iÀÉ(¼W¸É A)
<?xml encoding="big5"?>
<!ENTITY % common.url.ent SYSTEM "url.ent">
%common.url.ent;
<!-- ¥D¤å¥ó¦@¥Îªººô¸ô¸ê·½³sµ²¦ì§} -->
<!ENTITY % common.module SYSTEM "common/main.ent">
%common.module;
<!-- ¦@¦P¨Ï¥Îªº¥~³¡¹êÅé(external ENTITY)«Å§iÀÉ -->
<!ENTITY % kenduest.module SYSTEM "kenduest/main.ent">
%kenduest.module;
<!-- ¤p¦{¨Ï¥Îªº¥~³¡¹êÅé(external ENTITY)«Å§iÀÉ -->
<!ENTITY % netman.module SYSTEM "netman/main.ent">
%netman.module;
<!-- ºô¤¤¤H¨Ï¥Îªº¥~³¡¹êÅé(external ENTITY)«Å§iÀÉ -->
<!ENTITY % edward.module SYSTEM "edward/main.ent">
%edward.module;
<!-- §õªG¥¿¨Ï¥Îªº¥~³¡¹êÅé(external ENTITY)«Å§iÀÉ -->
·í§Ú̦b¥D¤å¥óªº main.ent ¼W¥[¤F¹ï¤l¤å¥ó°Ïªº¥~³¡¹êÅé«Å§iÀɧt¬A¤Þ¥Î«á¡A¦U¤l¤å¥óªº½s¼gû´N¯à°÷¦b¦Û¤v¸ô®|ªº main.ent ¤¤¡A¦Ûq¹êÅé«Å§i¡A©ÎªÌ¶i¤@¨BÂà§t¬A´¡¤J¨ä¥L¥~³¡¹êÅé«Å§iÀÉ¡C²{¦b§ÚÌ´N§Q¥Î kenduest ½s¼gû¬°¨Ò¨Ó»¡©ú¡Aº¥ý§Ú̽s¼g kenduest ªº /home/cvsroot/tltp/kenduest/main.ent¡G[6]
Example 16. kenduest ªº³Ì¤W¼h¥~³¡¹êÅé«Å§iÀÉ
<?xml encoding="big5"?>
<!ENTITY kenduest.email.url "kenduest@abc.123.com">
<!-- ´¡¤J kenduest ªº email ¦ì§} -->
±µµÛ§Ú̽s¼g kenduest ªº³Ì¤W¼h¤l¤å¥ó /home/cvsroot/tltp/kenduest/mainchap ¨Ó´ú¸Õ¡G
Example 17. kenduest ªº³Ì¤W¼h¤l¤å¥ó
<?xml encoding="big5"?>
<chapter><title>¨t²Î¬[ºc»P¨ç¦¡®w</title>
<para>«Üºa©¯¦³³oÓ¾÷·|¦b³o¸Ì©M¤j®a¤À¨É¦³Ãö¶}©ñ§@·~¨t²Îªº¨Ï¥Î¸gÅç¡A
ÁöµM Linux ªº¨t²Î¬[ºc»P¨ç¦¡®w¬O§Úªº¿³½ì¡A¨Ã¯Ó¶O¤£¤Ö¤ß¤O¥h±´¯Á¡C
¦ý¤@Ó¤Hªº¤~¤O´¼¼z¦³¡A²¨º|Á`¬OÃø§K¡A©Ò¥H¤å¤¤¦³¤£·í¤£§´©Î«Ý°Óºe³B¡A
Á٧Ʊ椣§[¨Ó¨ç <email>&kenduest.email.url;</email> ¡A
<!-- ´¡¤J kenduest ªº main.ent «Å§i¡AÁöµM¨S¦³ subset °Ï¡A
¦ý³z¹L main.ent ©M¥D¤å¥óªº main.ent ³sµ²Ãö«Y¡A
kenduest ¦Û¤v©w¸qªº¹êÅé«Å§i·|³Q±a¨ì¥D¤å¥óªº subset
°Ï¥h«Å§i¡C -->
´f»P«ü¥¿¡A¤£³Ó·PÁ¡C</para>
</chapter>
![]() | ³o¸Ì¦³Ón¯S§O¯d·Nªº´N¬O°µ¹êÅé«Å§i®É¿ï¥Î¹êÅé¦WºÙªº°ÝÃD¡A¦]¬°¨CÓ¤l¤å¥ó½s¼gûªº¤l¤å¥ó©M¥~³¡¹êÅé«Å§iÀɳ£¬O©ñ¦b¦Û¤vªº¥Ø¿ý¤U¡A©Ò¥HÁa¨ÏÀɦW¬Û¦P¡A¤]¤£·|²V²c¡C¦ý¬O¨CÓ¤H«Å§i¥X¨Óªº¹êÅé¡A³£·|¶°¤¤¨ì¥D¤å¥óªº subset °Ï¥h¶°¤¤«Å§i¡A¨º®É¦pªG¨âÓ¤H«Å§iªº¹êÅé¦WºÙ¬Û¦P¡A´N·|²£¥Í«Å§iÄv¦Xªº°ÝÃD¡A¤£ºÞ¬O SGML or XML ¡A³£¤£·|¤À¿ë¹êÅ骺¨Ó·½¦Ó°µ¤À§Oªº³B²z¡A¥L§â©Ò¦³ªº¹êÅé©M¥~³¡¸ê®Æµø¬°¤@Ó¾ãÅé¡A¦Ó±Ä¨ú¤@Ó©T©wÈ¡C¬°¤FÁ×§K½s¼gû«Å§i¹êÅé¦WºÙªº¬Û¤¬¤zÂZ¡A«Å§i¹êÅé¦WºÙ®ÉÀ³¸Ó¯d·NÁ×§K©M§O¤H¨ú¤@¼Ëªº¹êÅé¦WºÙ¡A¹³½d¨Ò¤¤ªº¡A§â³æ¯Âªº email.url ¹êÅé«Å§i¦WºÙ«e¡A¥[¤W kenduest ¨Ï¥ÎªÌ±b¸¹¡A§@¬°¹êÅé¦WºÙªº¤@³¡¤À¡A´N¬O¤@Ó¤£¿ùªº¤èªk¡C |
«e¤@¸`½d¨Ò§Ṳ́w¸g½m²ß¤F¦p¦ó¥Î¥D¤å¥óªº¥~³¡¹êÅé«Å§iÀÉ main.ent ¥h§t¬A´¡¤J¤l¤å¥óªº main.ent ¡A¨Ó¹F¦¨¤l¤å¥ó½s¼gû¤]¯à©w¸q«Å§i¦Û¤vªº¹êÅé¡C³o¤@¸`§ÚÌn½m²ßªº¬O³z¹L¤l¤å¥óªº¥~³¡¹êÅé«Å§iÀÉ main.ent ¤¤¤¶¡A¦A©µ¦ù´¡¤J§ó¦h¨ä¥Lªº¥~³¡¹êÅé«Å§iÀÉ¡C³o¨Ç´¡¤J¨ä¥L¹êÅé«Å§iÀɪº°t¦X¡A¥u»Ý×§ï¦Û¤v¥Ø¿ý¤¤ªº main.ent §Y¥i¡A¤£»Ýn¦A³Â·Ð¥D¤å¥ó½s¼gû¥h°µ×§ï¥D¤å¥óªº main.ent ¡C
²{¦b§ÚÌ¥H¤l¤å¥ó½s¼gû netman ªº¤å¥óµ²ºc¨Ó¥Ü½d¤@¤U³oÓµ²ºc¡Cº¥ý§Ṵ́µ¤@Ó netman ©w¸qªº /home/cvsroot/tltp/netman/url.ent §@¬°¥~³¡¹êÅé«Å§iÀÉ¡G
Example 18. netman ªº¥~³¡¹êÅé«Å§iÀÉ
<?xml encoding="big5"?>
<!ENTITY netman.site.url "http://myweb.mydomain.org.tw">
<!-- »Å¾Ç¶é°Q½×°Ïºô§} -->
±µµÛ§ï¤@¤U kenduest ªº main.ent µ²ºc¡A¨Ó§@¬° netman ªº /home/cvsroot/tltp/netman/main.ent ¨Ï¥Î¡G
Example 19. netman ªº³Ì¤W¼h¥~³¡¹êÅé«Å§iÀÉ
<?xml encoding="big5"?>
<!ENTITY % netman.url.ent SYSTEM "url.ent">
%netman.url.ent;
<!-- ´¡¤Jºô¤¤¤Hºô¸ô¦ì§}¹êÅé«Å§iÀÉ -->
²{¦b netman §â¥~³¡¹êÅéÀÉ url.ent §t¬A¦b main.ent ªº³]©w³£°µ¦n¤F¡A§ÚÌ´N¥i¥H¨Ï¥Î¤l¤å¥ó /home/cvsroot/tltp/netman/mainchap ¨Ó¸Õ¸Õ¤Þ¥Î©µ¦ù¥~³¡¹êÅé«Å§iÀɪº¥\¯à¦p¦ó¡G
Example 20. netman ªº¤l¤å¥ó´ú¸Õ
<?xml encoding="big5"?>
<chapter><title>ºô¸ô³q°T»P¦w¥þ</title>
<para>¤µ¤Ñ«Ü°ª¿³¦³³oÓ¾÷·|¡A¦b»Å¾Ç¶é¤§¥~©M¤j®a½Í½Íºô¸ô¡C¦pªG¥»³¹»¡±o¤£©P¥þªº¦a¤è¡A
¦U¦ì¥i¥HÄ~Äò¨Ó <ulink url="&netman.site.url;">»Å¾Ç¶é°Q½×°Ï</ulink>
<!-- ³o¬O¦b netman ¸ô®|¤U url.ent «Å§iªº¹êÅé¡A
§ÚÌ¥i¥Ñ¦¹Æ[¹î³]©w¬O§_¥¿½T¡C -->
©M§Ú̶i¤@¨B¥æ¬y¡C</para>
</chapter>
![]() | ¦b¤l¤å¥óªº main.ent ¸Ì§t¬A¨ä¥L¥~³¡ÀɮסAÁÙ¬Onª`·N main.ent »P³Q§t¬AÀɪº¬Û¹ï¸ô®|¡Cnª`·N¡I¡I¦b½d¨Ò¤¤ url.ent ªº¬Û¹ï¸ô®|¡A¬O«ü©M¤l¤å¥ó main.ent ªº¬Û¹ï¸ô®|¡A¦Ó¤£¬O©M¥D¤å¥ó main.ent ªº¬Û¹ï¸ô®|¡AÁa¨Ï¥L̳̫á·|³Q±a¨ì¥D¤å¥ó¥h«Å§i¡C³Ì²³æªºì«h¬O¡A³Q«Å§iÀɮתº¬Û¹ï¸ô®|¡A¬O«ü»P«Å§i¥LªºÀɮתº¬Û¹ï¸ô®|¡C |
¤l¤å¥ó¬JµM¥i¥H´¡¤J¥t¥~ªº¥~³¡¹êÅé«Å§iÀÉ¡A·íµM¤]¥i¥H´¡¤J§ó²Ó¤Àªº¤l¤å¥ó¤ù¬q¸ê®Æ¡A§ÚÌ´N¥Î edward ªº¸ê®Æ§¨¨Ó¸Õ¸Õ¡Cº¥ý§ÚÌ¥ý»s§@ /home/cvsroot/tltp/edward/secta ©M sectb ³o¨âÓ²µuªº¤l¤å¥ó¡G
Example 21. edward ªº²Ä¤G¼h¤l¤å¥ó(a)
<?xml encoding="big5"?>
<sect1><title>Tex/Latex</title>
<para>¥»¸`±N¤¶²Ð¦b UNIX ¨t²Î¤U¡Aº±À¤@«üªº¤å¥ó±Æª©³nÅé¡ATex/Latex¡C</para>
</sect1>
Example 22. edward ªº²Ä¤G¼h¤l¤å¥ó(b)
<?xml encoding="big5"?>
<sect1><title>Post Script</title>
<para>¥»¸`±N¤¶²Ð¦b¸ê°T³B²z¤¤¡A³Ì·¦æªº¦Lªí¾÷¦C¦L©R¥O´yzÀÉ¡APost Script¡C</para>
</sect1>
±µµÛ§Ų́ӻs§@ /home/cvsroot/tltp/edward/main.ent ³oÓ¥~³¡¹êÅé«Å§iÀɮסG
Example 23. edward ªº¥~³¡¹êÅé«Å§iÀÉ
<?xml encoding="big5"?>
<!ENTITY edward.sect.a SYSTEM "secta">
<!-- §õªG¥¿ªº²Ä¤@°Ï¬qªº§t¬AÀÉ -->
<!ENTITY edward.sect.b SYSTEM "sectb">
<!-- §õªG¥¿ªº²Ä¤G°Ï¬qªº§t¬AÀÉ -->
³Ì«á§Ú̽s¼g /home/cvsroot/tltp/edward/mainchap¡G
¤£ºÞ¬O´ú¸Õ¾ã¥÷¤å¥ó®ÄªG¦p¦ó¡A©ÎªÌ²×©ónµ²½Z¥¿¦¡¹ï¥~µo§G¡A§Aªº½s͹ï¶H³£¬O /home/cvsroot/tltp/main.sgml or main.xml ¡C¤£ºÞµ²ºc¦h½ÆÂø¡A¦h¤Ö¤H°Ñ»P¡A³Ì«á³£¥u¥Î¤@Ó©R¥O¡A°w¹ï¤@ӳ̤W¼h¥D¤å¥ó¡C¦pªG§A¬O¨Ï¥Î SGML »yªkªº DocBook ¡A§Aªº½sĶ©R¥OÀ³¸Ó¬O¡G
$ openjade -t sgml -d style-sheet-filename /home/cvsroot/tltp/main.sgml |
¦pªG¥Îªº¬O XML ªº DocBook ¡A«h½sĶ©R¥O¬O¡G
$ xmlto html /home/cvsroot/tltp/main.xml |
«e±¦U¸`©Ò¤¶²Ðªº¡A¤£ºÞ¬O XML ©Î SGML ¡A³£¬O¦³©w¸q³W½dªº¡A¤@¯ëªº¸Ñ;¹¤]³£¤ä´©³o¨Ç¥\¯à¡C¥»¸`«h±N¤¶²Ð¤@¨Ç¡G©ÎªÌ¬O SGML »P XML ¦³©Ò¤À§Oªº®t²§¡A©ÎªÌ¬O¯S©w¸Ñ;¹¹ï³W½d¹ê§@ªº¤ä´©«×¤£¦P¡AÁ`¤§¡A§Ú·|¯S§O«ü¥X¨ºÓ¸Ñ;¹¦³¤ä´©¡A¦Ó¤£¯à¹B¥Î¦b§OºØ¸Ñ;¹¤W¡C
¤£ºÞ¬O SGML ©M XML ¡A¦b¥LÌ¥¿¦¡¹ï¥~µo§Gªº³W®æ«ØÄ³®Ñ¤W¡A³£¦³Ä³©w ENTITY ³z¹L IGNORE ©M INCLUDE Ȫº³]©w¡A¥i¥H¹F¦¨Ãþ¦üµ{¦¡»y¨¥¨ººØ #ifdef »yªkªº±ø¥ó½sĶ®ÄªG¡C¦ý¬O¸g§Ú¹ê¦a´ú¸Õ¡At³d¸ÑĶ SGML ªº openjade ©Mt³d¸ÑĶ XML ªº xmlto¡A¦b»yªk¨Ï¥Î¤W¦³®t²§¡A¦Ó xmlto ªº¨î¤ñ¸û¦h¡A¥\¯à¤]¤£¦p openjade §¹¾ã¡A²{¦b¤Àz¦p«á¡C
©Ò¥H¥ý»¡ openjade ¡A¬O¦]¬°»yªk¨î¤Ö¡A¥\¯à¦h¡A¤ñ¸û®e©öÅý§A¤F¸Ñ¤°»ò¥s ENTITY ªº±ø¥ó½sĶ¡Cº¥ý§ÚÌ¥ý¥Ü½d¤@Ó subset °Ïªº ENTITY ±ø¥ó½sĶ¡G
Example 25. SGML ªº Subset °Ï±ø¥ó½sĶ
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY % site.choice "IGNORE"> <!-- µù1 -->
<![%site.choice;[ <!-- µù2 -->
<!ENTITY site.name "¥øÃZÄ_Ä_¤u§@¶¤"> <!-- µù3 -->
]]> <!-- µù4 -->
<!ENTITY site.name "»Å¾Ç¶é"> <!-- µù5 -->
]>
<article><title>ENTITY ªº±ø¥ó½sĶ</title>
<para>Åwªï¥úÁ{[&site.name;]ºô¯¸¡C</para> <!-- µù6 -->
</article>
³oÓ½d¨ÒY¤£¬O¹ï SGML »yªkµy¦³¯A²¤ªº¤H¡A²r¤@¬ÝÁÙ¯u·|¦³ÂIÃø©ó²z¸Ñ¡A©Ò¥H½Ð@¤ß¬Ý§¹¤U±ªº¸ÑÄÀ¡G
¥ô¦ó ENTITY ªº±ø¥ó½s͹B§@¡A³£»Ýn«Å§i¤@Ó±ø¥ó¼Ð¥Ü¹êÅé¨Ó´x±±±ø¥ó³]©w¡C¤@Ó±ø¥ó¼Ð¥Ü¹êÅ饲¶·¦³ '%' ¦r²Å¬°«e¸m¦r²Å¡Aªí¥Ü¥u¦³ Parameter ENTITY ¤~¯à·í±ø¥ó¼Ð¥Ü¹êÅé¡C±ø¥ó¼Ð¥Ü¹êÅé¥u¥i¥H¦³ INCLUDE(¤Þ¥Î) ©Î IGNORE(©¿²¤)¨âºØ¿ï¶µÈ¡A¨Ã¥B¥²¶·¥H '"' ¦r²Å¥]§¨©ó¿ï¶µÈ«e«á¡C³o¸Ìªº³]©w¬O±ø¥ó¹êÅ骺¦WºÙ¬O site.choice ¡A¥Lªº¿ï¶µÈ¬O IGNORE(©¿²¤)¡C
¦b subset °Ï¬q¤¤¥i¥H¦³«Ü¦hÓ±ø¥ó½sĶ°Ï¬q¡A¦ý¥u¦³ site.choice °Ï¬q¡A¬O¨ü site.choice ±ø¥ó½s͹êÅé³]©wȱ±¨îªº¡C°Ï¬q¶}©lªºªí¥Ü¦¡¬O¡G
<![%±ø¥ó¹êÅé¦WºÙ;[
¦b¤@Ó±ø¥ó½sĶ°Ï¬q¤¤¡A¥i¥H¦³«Ü¦hªº«Å§i¡A³o¸Ì¬°¤F¸Ñ»¡¤è«K¡A¥u³]©w¤@Ó±`¼Æ«Å§i(internal ENTITY) site.name ¡C¦ý¥Ñ©ó±ø¥ó¼Ð¥Ü¹êÅé site.choice ªº³]©wȬO IGNORE¡A©Ò¥H¦b³oÓ½d¨Ò¸Ì¡A³o¸Ìªº«Å§i¥Ü³Q©¿²¤¤£²£¥Í§@¥Îªº¡C
¤£ºÞ±ø¥ó½s͹êÅé¦WºÙ¬O¤°»ò¡A°Ï¬qµ²§ô²Å¸¹¤@«ß¬O ]]>
§Ú̳q±`·|¦b¬YÓ±ø¥ó°Ï¬q¤§«á¡A§â±ø¥ó°Ï¬q¤¤ªº¦U«Å§i¦A¦¸«Å§i¡A¨Ãµ¹¤©¤£¦Pªº³]©wÈ¡A¹F¨ì¿ï¾Ü¤Á´«ªº¥Ø¼Ð¡C
openjade ³Ì«á·|¨Ì¾Ú±ø¥ó½sͫŧi³]©wȧ⵲ªG´¡¦b§@ªÌn¨Dªº¦ì¸m¡C¦b³oÓ½d¨Ò¤¤¡A¥Ñ©ó site.choice ¬O IGNORE ¡A©Ò¥H site.choice °Ï¬q¤¤ site.name="¥xÆW¥øÃZÄ_Ä_¤u§@¶¤" ªº«Å§i³Q©¿²¤¡A¦Ó¥Ñ°Ï¬q«áªº site.name="»Å¾Ç¶é" ¨M©w site.name ªº³Ì«á³]©wÈ¡C¦ý·í§Ú̧â site.choice ³]©wȧ令 INCLUDE ®É¡A¨º»ò±ø¥ó½sĶ°Ï¬q¤¤ site.name="¥xÆW¥øÃZÄ_Ä_¤u§@¶¤" ªº«Å§i´N·|³Q°õ¦æ¡A¨Ì¾Ú SGML ¦P¦W ENTITY «½Æ«Å§iªº³B²zì«h¬O¥ý¦û¥ýĹ¡A©Ò¥H«á±ªº site.name="»Å¾Ç¶é" ´N·|¥¢¥h§@¥Î¡A©Ò¥H³Ì«á³]©wÈ´N·|¬O "¥xÆW¥øÃZÄ_Ä_¤u§@¶¤" ¡C
¥ú¦³ if «Å§i»yªk¦n¹³ÁÙ¬O¦³¨º»òÂI¯Ê¾Ñ¡A³Ì¦n¬O¯à¹³¤@¯ëµ{¦¡»y¨¥¨º¼Ë¡A¦³Ó if ... else ... endif ³oºØ¤À¬y¦¡»yªk¡Cì«h¤WÁÙ¬O¥i¥H¡A¥u¬O»yªk¤W¤ñ¸û¶O¸ÑÄÀ¤@¨Ç¡A¦pªG¦³¿³½ì¡A¤U±ªº¨Ò¤lÁÙn¥J²Ó·Q¤@¤U¤~·|³q¾å¡C
Example 26. SGML If ... Else »yªk
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY % site.else.choice "IGNORE"> <!-- µù1 -->
<![%site.else.choice;[
<!ENTITY % site.if.choice "IGNORE"> <!-- µù2 -->
<!ENTITY site.name "¥øÃZÄ_Ä_¤u§@¶¤">
]]>
<!ENTITY % site.if.choice "INCLUDE"> <!-- µù3 -->
<![%site.if.choice;[
<!ENTITY site.name "»Å¾Ç¶é">
]]>
]>
<article><title>ENTITY ªº±ø¥ó½sĶ</title>
<para>Åwªï¥úÁ{[&site.name;]ºô¯¸¡C</para>
</article>
§ÚÌ¥ý°²³] site.else.choice ¬° else ¿ï¶µ¡A¹w³]Ȭ° IGNORE¡A«h site.else.choice °Ï¬q¤£·|¥h°õ¦æ¡C
site.if.choice ³]¬° IGNORE ¡A«h¦]¬°¥ý¦ûì«h¡A·|À£¨î«á± site.if.choice ªº¨ä¥L³]©w¡A¨Ï±o site.if.choice °Ï¬q¤ºªº«Å§iµLªk°õ¦æ¡C
¦pªG«e±¨S¦³¥ô¦ó site.if.choice ªº¥ý¦æ³]©w¡A¨º»ò site.if.choice ±N¨Ì¦¹³B³]©w¬° INCLUDE ¡Asite.if.choice °Ï¬q¤ºªº«Å§i¤]±N³Q°õ¦æ¡C
©Ò¥H§ÚÌ¥i¥Hª¾¹D¡A site.if.choice °Ï¬q¯à§_°õ¦æ¡A¬On¬Ý site.else.choice °Ï¬q¤¤ªº site.if.choice ¬° IGNORE ªº«Å§i¬O§_°õ¦æ¨Ó¨M©w¡C³o¼Ë´N¯à¹F¦¨ site.else.choice ³Q INCLUDE ¡Asite.if.choice ´N·| IGNORE ¡A¦Ó site.else.choice IGNORE ¡Asite.if.choice INCLUDE ªº³oºØ¤GªÌ¾Ü¤@ªº®ÄªG¡C
±ø¥ó½sͬJµM¥i¥H¦b subset ¤¤¨Ï¥Î¡A¨º¬O§_¤]¯à¨Ï¥Î¦b¥»¤å±Ôz¤¤©O¡Aµª®×¬OªÖ©wªº¡A¤U±ªº½d¨Ò§A¥i¥H±N site.else.choice ¤À§O³]¬° IGNORE ©M INCLUDE «á¡A¦A½sĶÂà´«¬Ý¬Ý¡A´N·|µoı¥»¤å·|²£¥Í¾ã¬q¥X²{©Î®ø¥¢ªº±¡ªp¥X²{¡C
Example 27. ¦b¥»¤å¤¤¨Ï¥Î±ø¥ó½sĶ
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY % site.else.choice "IGNORE">
<![%site.else.choice;[
<!ENTITY % site.if.choice "IGNORE">
]]>
<!ENTITY % site.if.choice "INCLUDE">
]>
<article><title>ENTITY ªº±ø¥ó½sĶ</title>
<para>¦b¦Û¥Ñ³nÅ骺¶}©ñªÀ°Ï¤¤¡A
<![%site.if.choice;[
»Å¾Ç¶é¥H¦Û¥Ñ³nÅé½u¤Wªº¾Ç²ß»P°Q½×¦Ó»D¦W¡C
]]>
<![%site.else.choice;[
¥xÆW¥øÃZÄ_Ä_¤u§@¶¤§Æ±æ¬ãµo»´«K©öÄâ±aªº§@·~Àô¹Ò¡A¨Ó
±À¼s¦Û¥Ñ³nÅ骺¨Ï¥Î»Pµo®i¡C
]]>
</para></article>
³Ì«á¡AÁÙnµ¹§AÓÅå³ß¡Aopenjade ¥i¥HÅý§Aª½±µ±q©R¥O°Ñ¼Æ¤¤§ïÅܳQ½sͤå¥óªº±ø¥ó½sĶȡC¨Ò¦p¤W±ªº¨Ò¤l¡A¦pªG§ÚÌn§â±ø¥ó½s͹êÅé site.else.module ³]©wȧאּ INCLUDE ¡A§Ṳ́£¥²n¥h§ïÀɮפº®e¡A§ÚÌ¥un¦b¨Ï¥Î openjade ½sͤå¥ó®É¡A¥[¤W -i °Ñ¼Æ§Y¥i¡A¨Ò¦p¡G
$ openjade -t sgml -i site.else.module -d <style-sheet filename> SgmlFile[7]
-i site.else.choice ªº®ÄªG´Nµ¥¦P©ó×§ï site.else.choice ³]©w¬° INCLUDE¡C
®Ú¾Ú W3 ²Õ´¦b XML 1.0 ¤Tª© ¤¤¦³´£¨ì¡AXML ¤ä´©¸g¥Ñ ENTITY ³]©w IGNORE ©M INCLUDE È¡A¨Ó¹F¦¨±ø¥ó¿ï¶µ«Å§iªº¥\¯à¡C¦ý¹ê»Ú¤W¦pªG§A¨Ï¥Î xmlto ¨Ó½sĶ«e¤@¤p¸`ªº½d¨Ò¦p¤U¡G
<?xml version="1.0" encoding="big5"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"[
<!ENTITY % site.choice "IGNORE">
<![%site.choice;[
<!ENTITY site.name "¥øÃZÄ_Ä_¤u§@¶¤">
]]>
<!ENTITY site.name "»Å¾Ç¶é">
]>
<article><title>ENTITY ªº±ø¥ó½sĶ</title>
<para>Åwªï¥úÁ{[&site.name;]ºô¯¸¡C</para>
</article>
«h§A·|±o¨ì error: xmlParseInternalSubset: error detected in Markup declaration ³o¼Ëªº¿ù»~°T®§¡C§AÀ³¸Ó±Ä¥Î±N쥻ªº±ø¥ó½sĶ°Ï¬q¥t¦s¦¨¥~³¡ÀɮסA¨Ò¦p¡G
filename:extmod.ent
<?xml encoding="big5"?>
<!ENTITY % site.choice "INCLUDE">
<![%site.choice;[
<!ENTITY site.name "¥øÃZÄ_Ä_¤u§@¶¤">
]]>
±µµÛ¦A¦b¥D¤å¥óªº subset °Ï¤¤¨Ï¥Î external ENTITY §â extmod.ent ³oÓ¥~³¡¹êÅé«Å§iÀɧt¬A¶i¨Ó¦p¤U½d¨Ò¡G
Example 28. XML ªº±ø¥ó½sĶ»yªk
<?xml version="1.0" encoding="big5"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"[
<!ENTITY % external.module SYSTEM "extmod.ent">
%external.module;
<!ENTITY site.name "»Å¾Ç¶é">
]>
<article><title>ENTITY ªº±ø¥ó½sĶ</title>
<para>Åwªï¥úÁ{[&site.name;]ºô¯¸¡C</para>
</article>
¿í·Ó½d¨Òªº¤è¦¡´N¥i¥H¹F¦¨ XML ¤å¥óªº±ø¥ó½sĶ¥\¯à¡C¦Ü©ó¬°¦ón³o¼ËÂàÓÅs¡A§Ú¬O§¹¥þ¤£²M·¡¡A¥Ñ©ó®É¶¡¥^«P¡A§Ú¨S¯à¦n¦n¬ã¨s XML ³W®æ©M xmlto ©R¥Oªº»¡©ú¤å¥ó¡A©Ò¥H¤£ª¾¬O XML ³W©w¦p¦¹¡A©Î¬O xmlto I«áªº®Ö¤ßµ{¦¡¦Û¤vªºµ¦²¤¿ï¾Ü¡A§Ú§¹¥þ¨S·§©À¡A§Ú¥u¬O±q¹ê°µ¤¤ª¾¹D¡A SGML ¤£ºÞ¬Oª½±µ¦b subset ¨Ï¥Î¡A©Î³z¹L external ENTITY ¶¡±µ¤Þ¥Î³£¥i¡A¦ý xmlto «o¨î¥u¯à³z¹L external ENTITY ¶¡±µ¤Þ¥Î¡C
¦Ü©ó¤£ºÞ¬O³æ¯Âªº ifdef ¤@¬qªº¥Îªk¡A©Î if ... else ¨â¬q¥Îªk¡ASGML ©M XML ³£¤ä´©¡A¦ý¥»¤å±Ôzªº±ø¥ó½sĶ¡A©M¥H©R¥O°Ñ¼Æ¿ï¶µ§ïÅܱø¥ó½sͳ]©wÈ¡A§Ú¥u¦b SGML ¤Uªº openjade ¸Õ¦¨¥\¹L¡Axmlto §ä¤£¨ì¬ÛÃö¥\¯à¡Cê©ó§@ªÌ¾Ç¾i¦³¡A¥u¯àª¾¨äµM¡A¦ÓµLªk§i¶D¤j®a©Ò¥HµM¡A¦pªG¦³¯à©úÁA XML »P SGML ¸Ñ;¹ªí²{¤£¦Pªºì¦]¡A©ÎªÌ¬YºØ Markup »y¨¥¥t¦³ÁÑ®|¡A³£½Ð mail ¨ì¥»¤å§Ç¨¥ªº§@ªÌ«H½c«ü¾É§Ú¤@¤U¡A§Ú¤@©w°¨¤W¶i¦æ¾ã²z¡A¤½§G¥X¨Ó¡AÅý¤j®a¤À¨É§AªººB´n¡C
¬Ý§¹¥»¤å¦U³¹¸`½d¨Ò¡A§Q¥Î SGML ©w¸qªº¹êÅé¥\¯à¡A©Ò¯à°µ¨ìªº±`¼Æ«Å§i¡A§t¬A¥~³¡ÀɮסA¥H¤Î±ø¥ó½sĶ¡A¬Û«H§A¹ï SGML ®æ¦¡¤å¥ó¼Ò²Õ¤Æ¯à¤O¦L¶H²`¨è¡C¥H SGML ÆF¬¡ªº²Õ¦X©Ê¡A¥[¤W DocBook ¼ÐÅÒ©w¸qªºÂ×´I§¹¾ã¡AÃø©Ç¥L¦¨¬°¦U³nÅé¶}µo¹Î¶¤¦@¦P¤å¥ó¥æ´«®æ¦¡ªºº¿ï¡C¹ï³o¨ÇÀuÂI¡A§Ṳ́£¥Î¦A»¡¤@¹M¡A¦ý¦³¨Ç¦b¼Ð°O»y¨¥¨Ï¥Î®É¸Óª`·Nªº¨Æ¶µ¡A¦bµ²»y¤¤´£¿ô¤j®a¤@¤U¡G
ÀHµÛ¹êÅé(ENTITY)¨Ï¥Îªº¼W¦h»PÅܤơAÁöµM§Aªº¤å¥óÅܱoÆF¬¡¦Ó¦³®Ä²v¡A¦ý¬O¦P¼Ëªº¡A¤å¥ó¤]Åܱo§óÃø©ó¾\Ū²z¸Ñ¡A³oºØ±¡ªp¦b§â¾ã¥÷¤å¥óÂà¥æµ¹¤@Ó±q¥¼°Ñ»P³o¥÷¤å¥óµo®iªº·sºÞ²z¤Hû®É¡A¤×¨ä¦p¦¹¡C©Ò¥H¤£¥unn¬°¨C¤@Ó¹êÅé«Å§iªþ¥[¨ä·N¸qªº¼Ðµù¡A¨Ã¥BÀ³¸Ó¹ï¾ã¥÷¤å¥óµ²ºc¡A¤Î¨CÓ¥~³¡Àɮתº§@¥Î¡A¥[¥H¸Ô²Óªº»¡©ú¤å¥ó¡C
DocBook ¦³µÛÃe¤jªº¼ÐÅÒ¶°¡A¦pªG¦A¥[¤W¿é¥X®æ¦¡Âà´«ªº¼Ë¦¡ªí¡A¤@¥÷ DocBook ¤å¥ó¦bÂà´«¿é¥X®É¡AnŪ¨úªºÀɮשM³B²zªº°Ê§@Ác¦h¨ì¥i¥H¥Î¥¨¤j§Î®e¡C¦]¦¹¤£ºÞ¬O XML »yªkÁÙ¬O SGML »yªk©w¸qªº DocBook ®æ¦¡¤å¥ó¡A·|¯Ó¥Î¤j¶qªº¥D¾÷¸ê·½»P³B²z®É¶¡¡C³oÓµLªk§JªAªº¯SÂI¡A¨Ï±o DocBook ¤£¾A¦X§@¬°°ÊºAºô¶ªº¸ê®Æ¨Ó·½¡C¦pªG§A·Q¥Î DocBook ¨Ó§@¬°ºô¯¸ºô¶ªº½s¼g¨t²Î¡AÀ³¸Ó¬O¨C¤Ñ¬DÓ¯S©w®É¬q§â DocBook ¶°¤¤¿é¥X¦¨ HTML ÀɮסA¦A¶}©ñµ¹ºô¸ô¤WÂsÄý¡A³o¬O¤@ÓÝÅU§Y®É§ó·s¤Îºô¸ô¥D¾÷t¾áªº¿ìªk¡C
³o¸Ì¹Á¸Õ¦^µª¤@¨Ç§A¦b»s§@ DocBook ¤å¥ó®É¡A¥i¯à¸I¨ìªº°ÝÃD¡C
6.1. §Ú¸Ó¥Î DocBook ¨ú¥N¨ä¥L®æ¦¡¤å¥ó¶Ü¡H
¬JµM DocBook ¥i¥H¤@¦¸¿é¤J¡AµM«áÂন HTML,PS,RTF ¦hºØ®æ¦¡¿é¥X¡A¨º¬O§_·N¨ýµÛ¥H«á§Ú¥un¾Ç DocBook ¤@ºØ®æ¦¡´N¦n¡A¤Ï¥¿¨ä¥Lªº®æ¦¡¥i¥H¥ÎÂà´«ªº¡C
§ÚÓ¤Hªºµª®×¬O§_©wªº¡C²Ä¤@¡GDocBook ¥»¨¤£¬O³Q³]p¨Ó¨ú¥N¥ô¦ó¨ä¥L¥i¨Ñ¾\Äýªº®æ¦¡¤å¥ó¥Îªº¡A¥L¦s¦b¥Øªº¤£¬On§ïÅܧAªºÅã¥Ü¤èªk©M¦æ¬°¡A¥L¦s¦bªº¥Øªº¬O¾ã²z²Õ´§Aªº¦UºØ¤å¥ó¡A¤]´N¬O¥L§â¤@°ïÂø¶Ãªº¸ê®Æ¡A·J¾ã¨ì§A·Qªí¹Fªº¼Ò¦¡¤¤¥h¡C©Ò¥H DocBook ¤£¯à¨ú¥N HTML,PS,RTF ¡A¦]¬°¨º¬O¤£¦P¥\¯àªº¨âºØªF¦è¡A§AÀ³¸Ó¦P®É¾Ç²ß¤@ºØ§A³ßÅwªº¾\Äý®æ¦¡¤å¥ó¦A¥[¾Ç¤@Ó DocBook ¡A¥Î DocBook À°§A²Õ´©M¥æ´«§Aªº¸ê®Æ¨Ó·½¡C
²Ä¤G¡GDocBook ¨Ã¥¼¥]§t©Ò¦³ªº¤å¥ó¥DÃD¡A´N¹³¥»¤â¥U¤¤¤@¦A±j½Õªº¡ADocBook ªº¥Øªº¦b»s§@¥X½×²z©Êªº¡A§Þ³N©Êªº¤å¥ó¡C¹ï©ó¤@¨Ç¤åÃÀ©Êªº¡A¬Æ¦Ü¦h´CÅ鮿¦¡¡ADocBook ¨Ã¤£¾A¦X¡C©Ò¥H¦b¼g²z½×¤å³¹®É¡A§A¥i¥H¥Î DocBook ¥[¤@Ó¨ä¥L¾\Äý®æ¦¡·í¨}¦nªº²Õ¦X¤è®×¡A¦ý¦pªG§Anªí¹F¸Öµüºq½áªº·N¹Ò¡A¦h´CÅ骺ÃÀ³N·P°Ê¡A§A¥²»Ý¬°§A¨Ï¥Îªº¾\Äý®æ¦¡¤å¥ó¡A´M¨D¨ä¥Lªº°t®M²Õ¦X¡C
¬°¦ó§Ú¦b DocBook ¤å¥ó¤¤¬Y¨Ç¼ÐÅÒªº¤º®e¸ê®Æ¡AÂà´«¦¨¨ä¥L®æ¦¡¤å¥ó«á¡A¨Ã¥¼¥X²{¦b·sªº®æ¦¡¤å¥ó¤¤¡H§Ú¼ÐÅÒªº»yªk©M¤º®e¸ê®Æ®æ¦¡³£¦Xªk¡A¨Ã³q¹L¸ÑªR¾¹ªº¦XªkÀË´ú¡A¨ÃµL¥ô¦ó¿ù»~Åã¥Ü¡A½Ð°Ý¿ù»~¥X¦b¨º¸Ì©O¡H
«D±`¦³¥i¯à¬O²@µL¿ù»~¡A¦]¬°t³d³]©wÂà´«¼Ë¦¡ªº DSSSL ¤å¥ó¤£¥u¯à¨M©w¤@Ó¼ÐÅÒ¿é¥X¦¨¤°»ò¼Ë¤l¡A§ó¥i¥H¨M©w¨º¨Ç¼ÐÅÒ¸ê®Æn¿é¥X¡A¨º¨Ç¼ÐÅÒ¤£¿é¥X¡C©Ò¥H¦pªG§A°Ñ·Ó http://www.study-area.org/tips/doctrans/doctrans.html ¤¤Ä¶ªº»¡©ú¡A¤À§O¦b -d ¿ï¶µ¨Ï¥Î Norman Walsh's DSSSL ªº docbook.dsl ©M TLDP ªº ldp.dsl ½sͤ@¦¸¡A´N·|©ú¥Õ¬Y¨Ç³¡¥÷ docbook.dsl ©M ldp.dsl ·|¦³¿ï¾Ü¿é¥Xªº¤£¦P¡C©Ò¥H¡ADocBook ªº¬Y¨Ç¼ÐÅÒ¤º®e¸ê®Æ¡A¦b¬Y¨Ç DSSSL ÀɮפU¤£·|Âà¨ì·s¤å¥ó¤¤¡A¤£¶È¥¿±`¡A¦Ó¥B¥¿¬O DSSSL nµo´§ªº¿ï¾Ü¥\¯à¡C
DocBook ¤¤°£¤F '<','>','&' t¦³¯S®í¥\¯à¡A¦³¨Ï¥Î¨î¥~¡AÁÙ¦³¨º¨Ç¦r¤¸ªº¨Ï¥Î¦³¨î©O¡H
'_' ©³½u¦r¤¸
©³½u¦r¤¸¤£¸Ó¥X²{¦b¹êÅé(ENTITY)³]©w¦r¦ê¡A©ÎÄݩʳ]©w¦r¦ê¸Ì¡C
6.4. DocBook ªº¤å¥ó«¬ºA©w¸qªº¦WºÙ¦³¤À¤j¤p¼g¶Ü¡H
DocBook ¨º»ò¦hªº¼ÐÅÒ©MÄݩʦWºÙ¡A¥H¤Î©w¸qªº¯S®í ISO ¹êÅé¦r¤¸¡A°£¤F¤£¯à«÷¿ù¦r¥~¡A¦³¨S¦³¤j¤p¼g¤§¤À©O¡H
³o°ÝÃD¦³Ó¼Ò¾®¨â¥iªºµª®×¡A¦pªG§Æ±æ§Aªº DocBook ¤å¥ó¥Ñ XML »yªk¨Ó¸ÑªR¡A¨º»ò´N¼ÐÅÒ©MÄݩʦWºÙ¨Ó»¡¡A¬O¦³¤j¤p¼gªº¤À§O¡A¦ý¦pªG¥Ñ SGML »yªk¨Ó¸ÑªR¡A¨S¦³¤j¤p¼g¤À§O¡A¤]´N¬O "BOOK" ©M "book" ¥Nªí¤@¼Ëªº·N«ä¡C¦ý³o¥u¬O´N¼ÐÅÒ¤ÎÄݩʦWºÙ¦Ó¨¥¡A¦pªG¤@ӥѹêÅé©w¸qªº¦WºÙ¡A¤£ºÞ¬O XML or SGML ¡A³£¬O¦³¤j¤p¼g¤À§Oªº¡A©Ò¥H¥Nªí '<' ¦r²Åªº¥Ã»·¥u¯à¬O < ¡A< µ´¹ï¬O¿ù»~¡C³Ì«áªº«ØÄ³¬O¡A¬°¤F¤@Ó source ¦³¥i¯à¸g¹L XML ©M SGML ¨âºØ»yªk¸ÑªR¾¹ªºÂà´«¡A©Ò¥HÁÙ¬O±Ä¨ú¤j¤p¼g¦³°Ï§Oªº¼gªk¤ñ¸û¦n¡A¦pªG¤£½T©w¡A¦hÂsÄý¤@¤U DocBook ©x¤èª©½u¤W¤â¥U¡A¸òµÛ¼Ð·Ç¨«¡A¬O«OÃÒ¥æ¬yµLꪺ°ß¤@ªkªù¡C
6.5. PI(Public Identifier) ©M SI(System Identifier)¨ºÓ¦n©O¡H
SGML ±Ä¥Î PI ªº¤è¦¡·j´M DTD ¼Ò²ÕÀɮסAXML «h±Ä¥Î SI ªº¤è¦¡·j´M DTD ¼Ò²ÕÀɮסA³o¨âºØ DTD ¸ê·½©w¦ìªkªº¤u§@ì²z¦³¦ó¤£¦P¡HË©³¨ºÓ¤ñ¸û¦n©O¡H
¥ý»¡»¡ SI ¤è¦¡¦n¤F¡A¦pªG¤@ӼаO®æ¦¡¤å¥óªº DTD ¼Ò²Õ¤w¸gÃe¤j¨ì¤£¾A¦X©M¥»¤å¤º®e¸ê®Æ©ñ¦b¤@ÓÀɮ׮ɡA¥L´N·|±N¼Ð°O®æ¦¡¤å¥óªº DTD ¼Ò²Õ¸ê®Æ³¡¥÷»P¥»¤å¤ÀÂ÷¡A¦s¦¨¥t¤@ÓÀɮסA¨Ó¨Ñ¼Ð°O¥»¤å¤º®e©I¥s¡C¬JµM DTD ¼Ò²Õ¬O¥t¥~¤@ÓÀɮסA¥»¤ån·j´M¨ì¥L¡A·íµMn¬ö¿ý¥Lªº¸ô®|¦ì§}¡A©Ò¥H³Ì¶}©lªº DTD ¼Ò²Õ·j´M©w¦ì¡A¬O±Ä¥Î SI ªº¤è¦¡¡A´N¬O SYSTEM ªízµü«á±¥[ DTD Àɮ׸ô®|¦ì§}¦r¦ê¡C
³o¦b¼Ð°O¤å¥ó¥u¦b¤@¥x¾÷¾¹¤¤¹B§@®É¬O OK ªº¡A¦ý¦pªG§A§â¤@¥÷¼Ð°O®æ¦¡¤å¥ó±q¤@¥x¹q¸£·h¨ì¥t¤@¥x¹q¸£¤¤¸ÑͮɡA·Ð³Â´N¨Ó¤F¡C¦]¬° A ¹q¸£ªº¬YºØ DTD Àɮצì§}¦³¥i¯à©M B ¹q¸£ªº DTD Àɮצì§}¤£¦P(¤×¨ä¬O¹³ DocBook ³oºØ¤å¥ó¥»Åé»P DTD ¼Ò²Õ¤À§O¦w¸Ëªºª¬ªp¯S§O©úÅã)¡A¨º»ò§A®Ú¾Ú A ¹q¸£ªº DTD ¦ì§}³]©w¼Ð°O¤å¥ó¤¤ªº SI ¦ì§}¡A«Ü¥i¯à¨ì¤F B ¹q¸£¡ADTD «o¦b¥t¤@Ó¸ô®|¡A¾ÉP§Aªº SI ³]©w¥¢®Ä¡C
¬°¤F¸Ñ¨M³oÓ¤£¦P¾÷¾¹¡AÀɮ׸ô®|³W¹º¤£¦Pªº°ÝÃD¡ASGML µoªí PI ªº³W®æ¡A´N¬OÃþ¦ü PUBLIC "-//OASIS//DTD DocBook V4.2//EN" ³o¼ËªºªF¦è¡A¥¦¤£ª½±µ«ü©ú DTD ¬ÛÃöÀɮ׸ô®|¦ó¦b¡A¥u¬Oµ¹¨CÓ¤£¦Pªº DTD ¼Ò²Õ¤@Ӱߤ@ªº¡A»P©Ò¦³¨ä¥LºØªº DTD ¤£¦PªºÃѧO¦r¦ê¡CµM«á¥Ñ catalog ³oÓÀɮסA§â PI ÃѧO¦r¦ê©M³o¥x¾÷¾¹ªº DTD Àɮ׸ô®|¡A°µ¤@Ó¨â¨â¹ïÀ³¡A·í SGML ªº¸ÑªR¾¹Åª¨ì¤å¥ó«¬ºA«Å§i¤¤ªº PI ¦r¦ê®É¡A´N¤£¬O¥h§ä¤å¥ó¤ºªº SI ³]©w¡A¦Ó¬O¨ì catalog ³oÓÀÉ¡A¬d©ú³oÓ PI ¦r¦ê©Ò¥Nªíªº DTD ¼Ò²Õ¡A¬O¦b³o¥x¾÷¾¹ªº¤°»ò¸ô®|¤W¡A´N¥i¥H¤£¨ü¤£¦P¾÷¾¹¡A¸ô®|¤£¦Pªº§xÂZ¤F¡C©Ò¥H§Ú̦b«Ø¥ß SGML ¤å¥ó¸ÑĶÀô¹Ò®É¡A¥²¶·¥ý¦w¸Ë¦n¦UÓ¥i¯à¥Î¨ìªº DTD ¼Ò²ÕÀɮסAµM«á¥Î¤@Ó catalog ÀÉ¡A¬ö¿ý¨CÓ DTD ¼Ò²Õªº PI ¦r¦ê©M¦b¥»¥x¾÷¾¹ªºÀɮ׸ô®|¹ïÀ³ªí¡C¨º»ò·í¨Ï¥Î SGML ¸ÑªR¾¹®É¡A©Î³z¹L SGML_CATALOG_FILES Àô¹ÒÅܼƫü©ú¨t²Îªº SGML catalog ÀÉ¡A©ÎªÌ¥Î°Ñ¼Æ©R¥O¼Ð©ú catalog ÀɩҦb¡A´N¥i¥H§ä¨ì©Ò¦³¦b³o¥x¾÷¾¹¤Wªº¦UºØ DTD ÀɮפF¡C³o´N¬O SGML PI ¹B°µªº°ò¥»ì²z¡C
SGML ªº PI ³]p¡A¨Ã¨S¦³Àò±o XML «C·ý¡AXML ¤´µM¬O±Ä¥Î SI ªº¤è¦¡¥h©w¦ì´M§ä DTD Àɮצì¸m¡C¤£¹L¥Ñ©ó XML ±j½Õ¸óºô¸ôªº¸ê®Æ¹B§@¡A©Ò¥H¥Lªº SI ¤£¬O«ü¥»¾÷¤Wªº DTD ¸ê·½¸ô®|¡A¦Ó¬O«üºô¸ô¤Wªº URL ¦ì§}¡C³o¼Ëªº³]p¦³¥L±j¤jªº¦n³B¡Aº¥ý SGML ¤å¥ón¹B§@«e¡A¤@©w¥²¶·¦b¥»¾÷¦w¸Ë¬ÛÃö DTD ¼Ò²ÕÀɮסA¦ý XML ¤£¥²¡A¦]¬°¥¦¤£¬O±q¥»¾÷¨ú±o DTD ³]©w¡A¦Ó¬O³z¹Lºô¸ô¶Ç°e¡A¨ú±o DTD ¼Ò²ÕÀɮסC©Ò¥Hn¬Ý¬YºØ DTD ©w¸q¤å¥ó¡A¤£¥²¦b¨C¥x¾÷¾¹¸Ë¬ÛÃöªº DTD ¡A¥un¦bºô¸ôªº¬Y³B¦³³]©w¦nªº DTD ¼Ò²Õ¸ê·½§Y¥i¡C
¦A¨ä¦¸¡A³Ì«á XML ±Ä¥Îªº¤å¥ó©w¸q¡A¬O¥Ñ SI «ü©wªººô¸ô DTD ¨M©wªº¡A¨º»ò©Ò¿×ªº PI ´N¤£¦A¨º»ò¨ã¦³Åv«Â©Ê©M¼Ð·Ç©Ê¡A¤Ï¦ÓÅܦ¨¤@ºØ³Æµù»¡©ú¦Ó¤w¡C©Ò¥H¸U¤@ DTD ªººûÅ@³æ¦ì¹ï³W«h©w¸q¦³©Ò§ó°Ê¡AXML ºô¸ô SI ªº¤è¦¡¡A°¨¤W§ó§ï¡A°¨¤W¥Í®Ä¡A¤£¥²¹³ SGML ªº PI ¤è¦¡¡AÁÙn³qª¾ User ¤U¸ü§ó·s DTD ¨ì¦Û¤v¾÷¾¹¸Ì¦w¸Ë¤~¦æ¡C
XML ºô¸ô SI ¥\¯à³o»ò¦n¡A¨º¯ÊÂI©O¡H·íµM´N¬Oºô¸ôn³q°Ú¡A¨ä¦¸´N¬O¸U¤@ì¨Óµo§G DTD ªº³æ¦ì§ï¤Fì¨Óªº DTD URI ¡A¨º»ò XML ³£·|¦]¬°§ä¤£¨ì DTD ¦Ó¸ÑĶ¥¢±Ñ¡C·íµM XML ªº SI ¤]¥i¥H«ü¦V¥»¾÷ªº DTD ¸ô®|¦ì§}¡A¦ý¤@Ó«ü¦V¥»¾÷ DTD ªº SI ¡A·íµM¤ñ SGML ªº PI ÁÙ¤£¦p¡C
¨ä¦¸ XML §ïª©§ó·s§Ö³tªºÀuÂI¤]¥i¯à³y¦¨¤£¨}«áªG¡A¨º´N¬O¦pªG§Ú¥Î SGML ªº PI ¡A¥un§Ú¥»¾÷ªº DTD ¼Ò²ÕÀɮפ£ÅÜ¡A§Ú¼g¥X¨Óªº SGML ¤å¥ó´N¥i¥H¥Ã»·±o¨ì¦P¼Ëªºµ²ªG¡C¦ý XML SI ªº DTD ÀÉ¡A«o¬O¥Ñ DTD µo§G³æ¦ì±±¨îªº¡C¸U¤@¥D¨ÆªÌ¨S·§©À¡A§ó§ï DTD ©w¸q¤£¥Î·sª©¥»¸¹¥t¶}¤@Ó DTD ºô¸ô¦ì§}¡A¦Óª½±µ¦Vì¨Ó¦ì§}ªº DTD ÀɮפU¤âªº¸Ü¡A¨º»ò´N·|¦³§A«e¨â¤Ñ»s§@ªº¦Xªkªº¨}¦n XML ¡A¹L¨â¤Ñ«oÅܱo¤£¦Xªk¡A®æ¦¡¤£¨}¤F¡C©Ò¥H¨Ï¥Î XML SI ¡A§A³Ì¦n¥²¶·¥ý½T©w¡A¨ºÓ DTD ªºµo§GªÌ¡A·|§â¥Lªº DTD ºûÅ@±o«Üéw¡C
¥H¤W´N¬O SGML PI ©M XML SI ªº¹B§@ì²z¤j²¤¤ÀªR¡A¥i»¡¨â¤è¦U¦³§Q¹ú¡A¦ý¦pªGºô¸ôºZ³q¡ADTD µo§GªÌ¤SºûÅ@ªº«Ü¦nªº¸Ü¡Aºô¸ô SI µLºÃ¬O¤ñ¸û¯àµo´§§Y®É¥\®Äªº¨t²Î¡C
DocBook ¬ÛÃö¦rµü¸ÑÄÀ
¤å¥ó¼Ë¦¡ªí¥Ü¤Î³]©w»y¨¥¡G¤@ºØ¥H SGML ¼Ð°O»yªk©w¸qªº¼Ð°O»y¨¥¡A¥L³Q©w¸qªº¥Øªº¬On´À¨ä¥L¥H SGML »yªk©w¸qªº®æ¦¡¤å¥ó¡A¨M©w¤@Ó¿é¥Xªº¼Ë¦¡¡C²³æªº»¡ªk DSSSL ¬O¨ä¥L SGML ¤å¥óªº«¬ª©©Î¼Ë¦¡ªí¡A³z¹L¥L SGML ¯àÂà´«¦¨¨ä¥L¦UºØ¤£¦P®æ¦¡ªº¤å¥ó¡C
See Also: Standard Genralized Markup Language.
¤å¥ó«¬ºA©w¸q¡G¨Ï¥Î¦b SGML ¤å¥ó¤¤¡A¤@ºØ¥Î¨Ó´yz¬Y¯S©w®æ¦¡ªº¤å¥ó¤ÀÃþ©M¶¥¼hµ²ºcªº»¡©ú¤å¥ó¡A¬O SGML ¤å¥óªº°ò¦©M°_ÂI¡C
See Also: Standard Genralized Markup Language.
¤ÀÃþ¤¸¯À¡G³o¬O¨Ï¥Î¦b SGML DTD ¤å¥ó¤¤ªº¤@Ó°ò¥»²Õ¦¨¡Cº¥ý§Ú̱N¬Y¯S®í®æ¦¡¤å¥ó°µ¤ÀÃþ¡AµM«á¥Î¼Ð°O¥[¥H°Ï¹j¡A¨Ãµ¹¤£¦PªºÃþ§O¤@Ó¯S©wªº¦WºÙ¡A§Ú̺٤@ÓÃþ§O´N¬O¤@Ó Element (¨ä¹ê¤]´N¬O¤@Ó¼ÐÅÒªº¥t¤@ºØ»¡ªk)¡A¦Ó¤@¥÷¤å¥ó´N¬O¥Ñ¤£¦Pªº Element ¦³²Õ´¦³¬[ºcªº²Õ´°_¨Óªº¡C
See Also: Document Type Definitions.
¹êÅé¡A³oÓ¦Wµü«ÜÃø±æ¤å¥Í¸q¡A´N¨ä¹ê»Ú¥Nªíªº§t·N¬O«ü¡G¥»¤å³¡¥÷¤ù¬qªº¥N¦Wµü¡C¥»¤å¤ù¬q¤p¨ì¤@Ó¦r²Å¡A¤@Ó¦r¦ê¡A¤j¨ì¤@ÓÀɮסA³£¥i¥H¨ú¤@Ó¦WºÙ¨Ó¥Nªí¥¦¡A¦Ó³Ì«á¸ÑĶªºµ²ªG¡AÅã¥Üªº¤]¬O¥¦¥Nªí·N¸q¡A¦Ó«D¨ºÓ¥N¦W
µ²ºc¤Æ¸ê°T¼Ð·Ç«Å¾É²Õ´(¦pªG§AÄ@·N¡A¤]¥i¥H¥s¥¦ºñ¬w²Õ´¡A³o¼ËªºÁY¼g¦WºÙÀ³¸Ó¬O¦³·Nªº¦w±Æ§a)¡C³o¬O«DÀç§Qªº±À¼s²Õ´¡A¥Dn¬O¦bt³d±À°Ê¤@¨Ç²£·~¬É¸ê°T¼Ð·Çªº¬ã¨s¡A¸ê®Æ»`¶°»P¶}µo¡A¤×¨ä¬O SGML ©M XML ªº±À¼s©M¤¶²Ð¡C¥»¤å¤¶²Ðªº DocBook ®æ¦¡¤å¥ó¼Ð·Ç¡A§Y¥Ñ OASIS t³d¨î©w¡AºûÅ@¡A§ó·s¡C
¤½¦@ÃѧO¦r¦ê¡G´N¬O¨CÓ¤£¦PºØÃþ¤Îª©¥»ªº¤å¥ó®æ¦¡¼Ð·Ç»s§@ªÌ¡A¬°¦Û¤vªº®æ¦¡¼Ð·Ç¨ú¤@Ó¿W¯S¥B°ß¤@ªºÃѧO¦r¦ê¡A¨Ã¤½§i©Pª¾¡CÅý§O¤H©Î¸Ñ͵{¦¡¬Ý¨ì³o¼Ëªº¦r¦ê¡A´Nª¾¹D¦¹¤å¥ó±Ä¥Î¬YºØ¯S©w®æ¦¡ªº¼Ð·Ç¡A¦Ó¾Ú¥H³B²z¡C¤@¯ë¥Lªº®æ¦¡¬O¡G
"prefix//owner-identifier//text-class text-description//language//display-version"
¨Ò¦p DocBook 4.2 DTD ªº PI ¬O¡G
"-//OASIS//DTD DocBook V4.2//EN"
¦U³¡¥÷²Õ¦¨·N¸q¦p¤U¡G
¤À¬° '+' ©M '-' ¨âÓ¦r²Å¡A'+' ªí¥Ü¦³¸g ISO ²Õ´¥¿¦¡µù¥U¡A'-' «h¬O¥¼¦V ISO ²Õ´¥Ó½Ðµù¥U¤âÄò¡C
ªí©ú¦¹¤@¼Ð·Ç¬O¥Ñ¨ºÓÓ¤H©Î²Õ´t³dq©w¤ÎºûÅ@ªº¡A¨Ò¦p DocBook 4.2 DTD ¬O¥Ñ OASIS ³oÓ²Õ´¨î©wºûÅ@ªº¡C
¦b SGML ¤¤¸û±`¨£ªº¤ÀÃþ¦³¡GDOCUMENT,DTD,ELEMENTS,ENTITIES,NONSGML¡C
¨î©w¼Ð·ÇªÌ¥i¥H¬°¨ä¨î©wªº®æ¦¡¼Ð·Ç¨Ï¥Î¤@Ó¿W¯Sªº´yzµü¡A¦p DocBook V4.2¡C
ªí¥Ü³oÓ¤å¥ó¼Ð·Ç¬O¨Ï¥Î¦óºØ¦a°Ïªº»y¨¥¤å¦r»s§@ªº¡A³q±`¨Ï¥Î ISO ²Õ´¨â¦r²Å°Ï°ì»y¨¥¼Ð·Ç¨ó©w¡C
¦pªG¦P¼ËªºÃþ§O¡A¦P¼Ë´yzªº®æ¦¡¼Ð·Ç¡A¥ý«á¥X¤F´XÓ¦³×¥¿ªºª©¥»¡A¥i¥H¨Ï¥Î¦¹¶µÃѧO¡C³o¬O¤@Ó¿ï¶µ¡A¤£¤@©wn¨Ï¥Î¡C¦³¨Ç PI ¦r¦ê¦b text-description ¤¤´N¥]§t¤Fª©¥»¤À§O¡A©Ò¥H¨S¦³¨Ï¥Î¨ì display-version ³o¶µÃѧO¡C
See Also: System Identifier.
³q¥Î¼Ð·Ç¼Ð°O»y¨¥¡G¤@ºØ´yz¤å¥ó¤ÀÃþ¤Î²Õ´¬[ºcªºªí¥Ü»yªk¡A³oºØ»yªk¬O³z¹L¦b¤å¥ó¤¤´¡¤J¼Ð°O¸ê®Æ¡A¨Ó°µ¤å¥ó¤º®e¤ÀÃþ©M²Õ´¡C³z¹L¦@¦Pªº SGML »yªk¼Ð·Ç¡A¤£¦Pªº¾\ÄýªÌ¤Î¾\Äýµ{¦¡¡A¯à°÷·Ç½Tªº´x´¤¤å¥óªºµ²ºc¨Ã¥[¥H¦³®Äªº³B²z¡C¨î©w SGML ªº ISO ²Õ´¨Ã§V¤O¨î©w¤£¦P¾÷¾¹¥¥x©M§@·~Àô¹Òªº¸ê®Æ¥æ´«®æ¦¡¼Ð·Ç¡AÂǥѳo¨Çªþ¥[¼Ð·Ç¡A¿í·Ó SGML ¼Ð·Ç¼g§@ªº¤å¥ó¡A³£¯à¨É¦³¸ó¥¥x¥æ´«¸ê®Æªº¥iÄâ©Ê«K§Q¡C
SGML «Å§i¡G´£¨Ñ½sĶ DTD©Ò»Ýªº¥þ³¡¸ê°T¤ÎåªR¤å¥ó¹ê¨Ò©Ò»Ýªº³¡¥÷¸ê°T¡C¨Ò¦p¡A¥¦©w¸q¤F¤å¥óªº¦r¤¸(Characters Set)¡B¼ÐÅÒªº¬É²Å¸¹ (Delimiters)¡B³B²z¤å¥ó®É©Ò»ÝªºÀx¦s®e¶q(Storage Capacity)¡B¤å¥ó¨Ï¥Îªº¨ãÅé»yªk(Concrete Syntax)¡B¨ãÅé»yªk¾A¥Îªº½d³ò(Scope)¡B¤å¥ó¨Ï¥ÎªºSGML¯S¼x(SGML Features)µ¥µ¥¡C
See Also: Document Type Definitions.
¨t²ÎÃѧO¡G³o¬O©M Public Identifier ¬°¤F¦P¤@¥Øªºªº¥t¤@ºØ§@ªk¡A³£¬O¬°¤F§t¬A¥~³¡ÀɮסA¹F¦¨¤å¥ó¼Ò²Õ¤Æªº¾÷¨î¡C¤@¶}©l SGML §t¬A¥~³¡Àɮ׳£¬O±Ä¥Î System Identifier ªº§@ªk¡A´N¬O«e±¥[¤@Ó SI ªºªí¥Üµü¡A«á±´N¬O³Q§t¬AÀɮתºµ´¹ï©Î¬Û¹ï¸ô®|¦ì§}¦r¦ê¡C¨Ò¦p¡G
somename SYSTEM "³Q§t¬AÀɪº¸ô®|¦r¦ê"
somename ¥i¥H¬O§@ªÌ¦Û¤v¿ï¥Îªº¥ô¤@¦WºÙ¡A¦]¬° SYSTEM ªºÃѧO¡A§ÚÌ´N¥i¥H¦b»Ýn´¡¤JÀɮתº¦a¤è¥Î &somename; ³o¼Ëªºªí¥Ü¦¡¡A¨Ó´¡¤J³Q«Å§iªºÀɮסC
ÁöµM³o¬O«Ü¦³¥Îªº¤u¨ã¡A¦ý·í¤@Ó¤å¥ó¦³«ÜÃe¤j¼Æ¶qªº§t¬AÀÉ¥²¶·³Q¸g±`©Ê¤Þ¥Î®É¡A´N·|¦b¸ó¥¥x¶Ç»¼¾D¹J¤£¦P¾÷¾¹¡AÀɮ׸ô®|§G¸m®t²§¡A©Ò¾ÉPªº§t¬AÀɮצì§}¿ù»~¡C©Ò¥H¤~¦³ Public Identifier ©M CATALOG ªº·s¤èªk¡A¦³Ãö Public Identifier ¬ÛÃö¸Ñ»¡¡A½Ð°Ñ¦Ò¥»Ãã¨å PI ¶µ¸Ñ»¡¡C
See Also: Public Identifier.
¥i©µ¦ù¦¡¼Ð°O»y¨¥¡G¬°¤F¦b Web ºô¯¸¤W¹B§@¡A«K©ó¸ê®Æ¥æ´«¶Ç»¼±Mªù³]pªº SGML ºë²«ü¥O¶°¡C¥L°ò¥»¤W©µÄò¤F SGML ªººë¯«©M¹B§@¼Ò¦¡¡A¦ý±Ä¥Î¤F§óÄY®æªº¼Ð°Oªí¥Üªk¡A¨Ã§R°£¤F¤@¨Ç SGML ¤W»Pºô¸ô¹B§@¨S¦³ª½±µÃöÁpªº«ü¥O©M¥\¯à¡A¥Øªº¬OÅýÀ³¥Îµ{¦¡¯à§ó²«K¦Ó§Ö³tªº¹F¦¨¸ÑªRÂàĶªº¤u§@¡C
See Also: Standard Genralized Markup Language.
©µ¦ù¦¡¼Ë¦¡ªí»y¨¥¡G´N¦p¦P DSSSL ¤§©ó SGML ªºt³d®æ¦¡¤Î¿é¥XÂà´«¡AXSL ¤]t³d XML ªº®æ¦¡¤Î¿é¥XÂà´«¡C
See Also: Extensible Markup Language, Document Style Semantics and Specification Language.
XSL ªºÅÜÅé¡A¤SºÙ¬°·s¤@¥Nªº XSL ¡C
See Also: Extensible Markup Language, Extensible Stylesheet Language.
[1] | XML »y¨¥¦P¼Ë¦³±`¼Æ«Å§i»P§t¬A¥~³¡Àɮתº¥\¯à¡A¦ý¤£¦p SGML ©w¸qªº§¹¾ã¡A¥\¯à¤ñ¸û¤Ö¡A¤]¤£¹³ SGML ¨º»ò¤è«K¡C |
[2] | ¨Ò¦p§Ú̳̱`¨Ï¥Îªº SGML ¸ÑªR¾¹ OpenSP¡C |
[3] | ¦pªG§Aªº DocBook ¸ÑĶÀô¹Ò¬O±Ä¥ÎÃþ¦üDocBook ¸ÑĶÂà´«Àô¹Òªº«Ø¥ß¤è¦¡«Ø¥ßªº¡A¨º§AÀ³¸Ó¦³ openjade ©M onsgmls ³o¨âӸѪRµ{¦¡¥i¥H¥Î¡A¥H©R¥O¼Ò¦¡¿é¤J¡G onsgmls -s -w duplicate sgmlfile |
[4] | openjade ¬OÓ¤£¦º³¾ªº¸Ñ;¹¡A¥L·|ºÉ¤@¤Á¥i¯à±o¥X²z·Qªº¿é¥Xµ²ªG¡AÁa¨Ï§Aªº»yªk¿ù»~±o«ÜÄY«¡C |
[5] | ¦p¦ó«Ø¥ß¦UºØ¥iµn¤J¡A¨Ã¤W¤U¶Ç¸ê®Æªº¦øªA¾¹¡A½Ð¨Ì¦U¦øªA¾¹¬ÛÃö»¡©ú¿ì²z¡A¥»¤å¤£¥t°µ»¡©ú¡C |
[6] | §A¥i¥H¥Î # su - kenduestªº¤è¦¡¨Ó¼ÒÀÀ kenduest ªºµn¤J¥D¾÷¡C |
[7] | ¦³Ãö openjade ¨Ï¥Î©R»¡©ú½Ð°Ñ¦Ò openjade ¦w¸Ë»¡©ú¤å¥ó ¡C¦pªG§A¬O¥Îªº red hat ¤½¥qªº docbook-utils ¤u¨ã¡A«h¥i¥H¨Ï¥Î docbook2html SgmlFile -i site.else.choice¡C |