1) General Entity ¿Í Parameter Entity
¿¹Á¦ : 1(General Entity), 2,3(Parameter Entity)
<?xml version="1.0" encoding="EUC-KR"?> <!DOCTYPE memo [ <!ENTITY hong "È«±æµ¿, ¼÷¸í¿©´ë"> <!ENTITY sblim "<entry> <name>ÀÓ¼ø¹ü</name> <tel>02-710-9424</tel> <email href='sblim@sookmyung.ac.kr'/> </entry>"> ]> <memo> <header> <to> To: &hong; </to> <from> From: &sblim; </from> </header> <body>ȸÀÇ°¡ ³»ÀÏ ÀÖÀ¸´Ï ²À Âü¼®ÇϽñ⠹ٶø´Ï´Ù. </body> </memo> |
<!ENTITY % bool '(true | false) "false" '> <!ELEMENT address-book (entry+)> <!ELEMENT entry (name, address, tel*, email*)> ... <!ELEMENT tel (#PCDATA)> <!ATTLIST tel preferred %bool;> <!ELEMENT email EMPTY> <!ATTLIST email CDATA #REQUIRED preferred %bool;> |
<!ENTITY % prefer 'preferred (true | false) "false" '> ... <!ELEMENT tel (#PCDATA)> <!ATTLIST tel %prefer;> <!ELEMENT email EMPTY> <!ATTLIST email CDATA #REQUIRED %prefer;> |
2) Internal Entity ¿Í External Entity
¿¹Á¦ 1: ¿ÜºÎ ¿£Æ¼Æ¼ ÆÄÀÏÀ» ¹®¼¿¡¼ ÂüÁ¶
<?xml version="1.0" encoding="EUC-KR"?> <!DOCTYPE address-book SYSTEM "address-book.dtd" [ <!ENTITY hong SYSTEM "hong.ent"> <!ENTITY sblim "sblim.ent"> ]> <address-book> &hong; &sblim; </address-book> |
filename : hong.ent
|
¿¹Á¦ 2: ¿ÜºÎ ÆĶó¸ÞÅÍ ¿£Æ¼Æ¼ - ¿ÜºÎ ¿£Æ¼Æ¼ ÆÄÀÏÀ» DTD ³»¿¡ Æ÷ÇÔ
<?xml version="1.0" encoding="EUC-KR"?> <!DOCTYPE memo [ <!ELEMENT memo (attendee+)> <!ELEMENT attendee (#PCDATA)> <!ENTITY % init-name SYSTEM "initial.ent"> %init-name; ]> <memo> <attendee> ¢&JP; , ¥&YY; , £&SB; </attendee> </memo> |
filename : initial.ent
|
3) Parsed Entity ¿Í Unparsed Entity
¿¹(p.94) <!ENTITY logo SYSTEM "http://..." NDATA GIF>
4) NOTATION
<!NOTATION GIF89a PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN"
"C:\windows\kodakprv.exe"> <!NOTATION jpg PUBLIC "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION JPG Graphic Interchange Format//EN"> |
|
<!NOTATION GIF89a SYSTEM "GIF"> <!-- MiME Çü½Ä --> <!NOTATION GIF89a SYSTEM "image/gif"> <!NOTATION jpeg SYSTEM "JPG"> |
** ¿£Æ¼Æ¼·Î ¹®¼ °ü¸® => ±Ô¸ð°¡ Å« DTD¿Í ¹®¼ ÁýÇÕÀ» ¸ðµâÈ & °ü¸®
<!ENTITY % first "INCLUDE"> <!ENTITY % second "IGNORE"> ... <![ %first; [ <!ELEMENT name (fname, lname)> ]]> <![ %second; [ <!ELEMENT name (#PCDATA | fname | lname)*> ]]> |
<!ENTITY % first "IGNORE"> <!ENTITY % second "INCLUDE"> ... <![ %first; [ <!ELEMENT name (fname, lname)> ]]> <![ %second; [ <!ELEMENT name (#PCDATA | fname | lname)*> ]]> |
1) °´Ã¼ ¸ðµ¨·ÎºÎÅÍ DTD ¼³°è
2) ±âÃʺÎÅÍ DTD »ý¼º