DTD(¹®¼ À¯Çü µ¥ÀÌÅÍ)´Â ½ºÅ°¸¶¶ó´Â XML ¹®¼ÀÇ ÅÛÇø®Æ®¸¦ ¼³¸íÇϱâ À§ÇØ Æ¯¼ö ±¸¹®À» Á¦°øÇÏ´Â XML ¹®¼¿ë µ¥ÀÌÅÍ ¸ðµ¨ÀÔ´Ï´Ù. ÀÌ DTD´Â .dtd È®ÀåÀÚ¸¦ °¡Áö´Â ÆÄÀÏÀÔ´Ï´Ù. XML ¹®¼ÀÇ ½ºÅ°¸¶¸¦ ³ªÅ¸³»´Â Business Object Á¤ÀÇ´Â ¹®¼ÀÇ ±¸Á¶¸¦ º¸Á¸ÇÏ°í ±â·ÏÇÏ´Â µ¥ DTDÀÇ Á¤º¸¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¼½¼Ç¿¡¼´Â DTD¿¡¼ Business Object Á¤ÀÇÀÇ ±¸Á¶ Á¤º¸¸¦ ¾Ë¾Æ³»´Â °Í¿¡ ´ëÇØ ´ÙÀ½ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
DTD¿¡ »óÀÀÇÏ´Â Business Object Á¤Àǰ¡ XML Data HandlerÀÇ ¿ä±¸»çÇ×À» µû¸£µµ·Ï ÇÏ·Á¸é, ´ÙÀ½À» Æ÷ÇÔÇÏ´Â ÀÌ ¼½¼ÇÀÇ ÁöħÀ» µû¸£½Ê½Ã¿À.
Business Object Á¤ÀǸ¦ ÀûÀýÇÏ°Ô ±¸¼ºÇϸé Data Handler°¡ Business Object¸¦ XML ¹®¼·Î, XML ¹®¼¸¦ Business Object·Î ¿Ã¹Ù¸£°Ô º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. XML Data HandlerÀÇ Business Object ÀÛ¼º ¹æ¹ý¿¡ ´ëÇÑ Á¤º¸´Â ½ºÅ°¸¶ ¹®¼¸¦ »ç¿ëÇÏ´Â XML ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
DTD¸¦ ³ªÅ¸³»·Á¸é Business Object ±¸Á¶¿¡ ¼³¸íµÇ¾î ÀÖ´Â ÃÖ¼ÒÇÑ µÎ °³ ÀÌ»óÀÇ Business Object Á¤Àǰ¡ ÇÊ¿äÇÕ´Ï´Ù.
DTDÀÇ °æ¿ì, ÀÌ Business Object Á¤ÀÇ¿¡´Â ´ÙÀ½°ú °°Àº Ãß°¡ ¿ä±¸»çÇ×ÀÌ ÀÖ½À´Ï´Ù.
XML ODA°¡ ÃÖ»óÀ§ ·¹º§ Business Object Á¤ÀÇ¿¡ DocType ¼Ó¼ºÀ» »ý¼ºÇÏ´ÂÁö ¿©ºÎ´Â ÇØ´ç DocTypeOrSchemaLocation ±¸¼º µî·Ï Á¤º¸ÀÇ ¼³Á¤¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â XML DOCTYPE ¼±¾ðÀÇ °æ¿ì ¹× Áö¿øµÇ´Â DTD ±¸Á¶¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÀÌ ¼Ó¼ºÀº ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ type=xmlns űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â XML ó¸® ¸í·É¾îÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
Business Object ±¸Á¶¿¡
¼³¸íµÇ¾î ÀÖ´Â ´ë·Î, ÀÌ ¼Ó¼ºÀÇ À¯ÇüÀº ´ÜÀÏ Ä«µð³¾¸®Æ¼ Business Object¿©¾ß ÇÕ´Ï´Ù.
ÀÌ À¯ÇüÀº ·çÆ® ¿ä¼Ò¿¡ ´ëÇÑ
Business Object Á¤ÀÇÀÔ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â elem_name ű׷ΠÀÌ ¿ä¼ÒÀÇ À̸§À» ³ª¿ÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
DTD¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â Business Object Á¤ÀǸ¦ »ç¿ëÇÏ¿© XML Data Handler°¡ ó¸®ÇÏ´Â Business Object´Â ´ÙÀ½ ±ÔÄ¢À» µû¶ó¾ß ÇÕ´Ï´Ù.
±âº»ÀûÀ¸·Î FIXED ¼Ó¼ºÀº Á¤ÀûÀÎ µ¥ÀÌÅ͸¦ °¡Áö¹Ç·Î Business Object Á¤ÀÇ¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ±×·¯³ª FIXED ¼Ó¼ºÀ» Business Object Á¤ÀÇ¿¡ Æ÷ÇÔ½ÃŰ·Á¸é, ¼öµ¿À¸·Î Business Object Á¤ÀÇ¿¡ ¼Ó¼ºÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½Àº XML ¹®¼ÀÇ DTD ¿¹ÀÔ´Ï´Ù.
DTDÀÇ À̸§Àº OrderÀ̸ç, ÀÀ¿ëÇÁ·Î±×·¥ Order ¿£Æ¼Æ¼¿¡ ÇØ´çÇÏ´Â ¿ä¼Ò°¡ ÀÖ½À´Ï´Ù.
<!--Order --> <!-- Element Declarations --> <!ELEMENT Order (Unit+)> <!ELEMENT Unit (PartNumber?, Quantity, Price, Accessory*)> <!ELEMENT PartNumber (#PCDATA)> <!ELEMENT Quantity (#PCDATA)> <!ELEMENT Price (#PCDATA)> <!ELEMENT Accessory (Quantity, Type)> <!ATTLIST Accessory Name CDATA > <!ELEMENT Type (#PCDATA)>
±×¸² 13¿¡¼´Â Order DTD¿Í ¿¬°üµÈ XML ¹®¼¿¡ ÇØ´çÇϵµ·Ï ÀÛ¼ºÇÒ ¼ö ÀÖ´Â Business ObjectÀÇ ±¸Á¶¸¦ º¸¿©ÁÝ´Ï´Ù. Order DTDÀÇ °¢ XML ¿ä¼Ò ¹× ¿ä¼Ò ¼Ó¼º¿¡´Â ÇØ´ç Business Object ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ÃÖ»óÀ§ ·¹º§ Business Object¿¡´Â XML ¼±¾ð DOCTYPE°ú ÃÖ»óÀ§ ·¹º§ Order ¿ä¼Ò¿¡ ´ëÇÑ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¿ä¼Ò ¼Ó¼º À̸§Àº Accessory Business Object¿¡¼ ù ¹øÂ° ¼Ó¼ºÀÔ´Ï´Ù.
±×¸² 13. Order DTD¸¦ »ç¿ëÇÏ´Â XML ¹®¼ÀÇ Business Object ¿¹
XML ¹®¼ÀÇ Business Object Á¤Àǰ¡ DTD¸¦ ±âº»À¸·Î Çϸé, Business Object ¼Ó¼ºÀÌ Business Object ¼Ó¼º µî·Ï Á¤º¸¿¡¼ ³íÀÇµÈ Á¦ÇÑ»çÇ×À» °¡Áý´Ï´Ù. ¶ÇÇÑ, DTD ±¸¹®ÀÌ Business Object ¼Ó¼ºÀÇ "Çʼö"¸¦ ÆÇº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.
"Çʼö"´Â XML Data Handler°¡ ¼Ó¼ºÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö¸¦ ÆÇº°ÇÏ´Â, Ä«µð³¾¸®Æ¼¿Í ¼Ó¼ºÀÌ Å°ÀÎÁö ¿©ºÎ¸¦ Æ÷ÇÔÇÏ´Â ¿ä¼ÒÀÇ Á¶ÇÕÀÔ´Ï´Ù. ¼Ó¼ºÀÌ ÇʼöÀ̸é, Çʼö ¼Ó¼º µî·Ï Á¤º¸°¡ true·Î ¼³Á¤µÇ¾î¾ß ÇÕ´Ï´Ù.
Çʼö ¼Ó¼º µî·Ï Á¤º¸ÀÇ ¼³Á¤Àº ´ÙÀ½°ú °°ÀÌ XML ¿ä¼Ò ¹× ¼Ó¼º ½ºÆå»Ó¸¸ ¾Æ´Ï¶ó Ä«µð³¾¸®Æ¼, Ű ¹× ¿ÜºÎ Ű ¼Ó¼º µî·Ï Á¤º¸ÀÇ ¼³Á¤¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
ÀÌ Ä«µð³¾¸®Æ¼´Â ¼Ó¼ºÀÌ ÇʼöÀÎÁö¿¡ ¿µÇâÀ»
ÁÝ´Ï´Ù. Ç¥ 15¿¡¼´Â
Ä«µð³¾¸®Æ¼¿Í DTD¿¡ ÀÖ´Â ¿ä¼Ò ¼±¾ðÀÇ °¡´ÉÇÑ Á¶ÇÕ¿¡ ´ëÇØ ´ë·«ÀûÀ¸·Î
¿ä¾àÇÕ´Ï´Ù.
Ç¥ 15. DTDÀÇ Ä«µð³¾¸®Æ¼ ¹× ¡ºÇʼö¡»
DTD ELEMENT ´ÜÆí | Ä«µð³¾¸®Æ¼ | Çʼö |
---|---|---|
ÁöÁ¤ ¾ÈµÊ | 1 | ¿¹ |
? | 1 | ¾Æ´Ï¿À |
+ | N | ¿¹ |
* | N | ¾Æ´Ï¿À |
۰¡ ÀÖ´ÂÁö°¡ ¼Ó¼ºÀÌ ÇʼöÀÎÁö¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. Ç¥ 16¿¡¼´Â ATTLIST ´ÜÆíÀÇ ±¸¹®ÀÌ DTD¿¡ ÀÖ´Â ¼Ó¼º ¼±¾ðÀÇ °¡´ÉÇÑ Á¶ÇÕ¿¡ ´ëÇÑ Business Object ¼Ó¼ºÀÇ "Çʼö"¿¡ ¿µÇâÀ» ÁÖ´Â ¹æ¹ýÀ» ´ë·«ÀûÀ¸·Î ¿ä¾àÇÕ´Ï´Ù.
ÀÌ ¼½¼Ç¿¡¼´Â DTD¸¦ ±âº»À¸·Î ÇÏ´Â Business Object Á¤ÀÇÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ Çü½Ä¿¡ ´ëÇÑ ´ÙÀ½ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
XML Data Handler´Â ´ÙÀ½ À¯ÇüÀÇ Business Object¸¦ »ç¿ëÇÏ¿© DTD¿¡¼ »ý¼ºµÈ ¿©·¯ Á¾·ùÀÇ XML ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù.
ÀÌ·¯ÇÑ À¯ÇüÀÇ Business Object´Â Business Object ·¹º§¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ÀÇÇØ ±¸º°µË´Ï´Ù.
ÀÏ¹Ý Business Object´Â XML ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù.
ÀÌ À¯ÇüÀÇ Business Object¿¡¼, Business Object ·¹º§¿¡ ÀÖ´Â ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â Business Object°¡ ÂüÁ¶ÇÏ´Â XML ¿ä¼Ò À̸§À» ½Äº°ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, XML ¿ä¼Ò¸¦ ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù°í °¡Á¤ÇϽʽÿÀ.
<!ELEMENT Unit(...)>
¿¬°üµÈ Business Object Á¤ÀÇ¿¡ ´ëÇÑ Business Object ·¹º§¿¡¼ÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
[BusinessObjectDefinition] Name = MyApp_Unit AppSpecificInfo = elem_name=Unit [Attribute] ...
È¥ÇÕ Business Object´Â ¹®ÀÚ µ¥ÀÌÅÍ(#PCDATA) ¹× ±âŸ ÇÏÀ§ ¿ä¼ÒÀÇ È¥ÇÕ ³»¿ëÀ» Æ÷ÇÔÇÏ´Â, È¥ÇÕ XML ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù.
È¥ÇÕ À¯Çü XML ¿ä¼ÒÀÇ DTD Ç¥½Ã´Â ´ÙÀ½°ú °°½À´Ï´Ù.
<!ELEMENT (#PCDATA | CONTAINED_ELEMENT1 | CONTAINED_ELEMENTN)*>
¿¹¸¦ µé¾î, ´ÙÀ½°ú °°ÀÌ DTD¿¡ Cust XML ¿ä¼Ò°¡ Á¤ÀǵǾî ÀÖ´Ù°í °¡Á¤ÇϽʽÿÀ.
<!ELEMENT Cust(#PCDATA | Address | Phone)*>
È¥ÇÕ À¯Çü XML ¿ä¼Ò¸¦ ³ªÅ¸³»·Á¸é È¥ÇÕ À¯Çü Business Object Á¤ÀǸ¦ »ç¿ëÇϽʽÿÀ. È¥ÇÕ Business Object Á¤ÀÇ¿¡¼´Â ±× Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ´ÙÀ½À¸·Î µÇ¾î ÀÖ½À´Ï´Ù.
Business Object Á¤ÀÇ¿¡¼´Â Business Object ·¹º§¿¡¼ÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ÀÎ Cust ¿ä¼Ò¸¦ ³ªÅ¸³»´Â MyApp_Cust°¡ ´ÙÀ½°ú °°½À´Ï´Ù.
[BusinessObjectDefinition] Name = MyApp_Cust AppSpecificInfo = Cust;type=MIXED;
·¦ÆÛ Business Object´Â ¹Ýº¹ ¼±ÅûçÇ× ¸ñ·ÏÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ À¯ÇüÀÇ Business Object Á¤ÀÇ´Â XML ¿ä¼Ò¿¡ ÀÓÀÇÀÇ ¼ø¼ ¹× ÀÓÀÇÀÇ Ä«µð³¾¸®Æ¼·Î ³ªÅ¸³¯ ¼ö ÀÖ´Â ÇÏÀ§°¡ ÀÖ´Â °æ¿ì ÇÊ¿äÇÕ´Ï´Ù. ·¦ÆÛ Business Object´Â XML ¹®¼¿¡¼ ÇÏÀ§ ¿ä¼ÒÀÇ ¼ø¼ ¹× Ä«µð³¾¸®Æ¼¸¦ º¸Á¸ÇÕ´Ï´Ù.
¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¿¡¼´Â DTD Á¤Àǰ¡ ´ÙÀ½°ú °°½À´Ï´Ù.
(CONTAINEDELEMENT1 | ... | CONTAINEDELEMENTN)*
¿¹¸¦ µé¾î, DTDÀÇ ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò Á¤ÀÇ´Â ´ÙÀ½°ú °°À» ¼ö ÀÖ½À´Ï´Ù.
<!ELEMENT CUST( U | I | B )* )>
ÀÌ ¿ä¼Ò¿¡´Â ¾Æ¹« ¼ø¼·Î³ª Ç¥½ÃµÉ ¼ö ÀÖ´Â ¼±ÅÃÀûÀÎ ¼¼ °¡ÁöÀÇ ºÎ¼Ó ¿ä¼Ò°¡ ÀÖ½À´Ï´Ù. °¢ ºÎ¼Ó ¿ä¼Ò´Â ´Ü¼ø ¿ä¼ÒÀÔ´Ï´Ù. ±×¸² 14¿¡¼´Â ÀÌ À¯ÇüÀÇ XML ¹®¼¸¦ º¸¿©ÁÝ´Ï´Ù.
±×¸² 14. ¹Ýº¹ ¼±ÅûçÇ× ¸ñ·ÏÀÇ XML ¹®¼ ³»¿ë
<CUST> <U>..... </U> <B>..... \ </B> <I>..... </I> <B>..... \ </B> <U>..... </U> ...
DTD¿¡ Á¤ÀÇµÈ ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¸¦ ³ªÅ¸³»±â À§ÇØ Business Object Á¤ÀÇ´Â °èÃþ ±¸Á¶ÀÔ´Ï´Ù. ´ÙÀ½ Business Object Á¤ÀǸ¦ Æ÷ÇÔÇÕ´Ï´Ù.
ÀÌ »óÀ§ Business Object Á¤ÀÇ¿¡´Â ´ÙÁß Ä«µð³¾¸®Æ¼ Business Object ¹è¿À» ³ªÅ¸³»´Â ÇϳªÀÇ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº À¯ÇüÀ¸·Î¼ ¿¬°üµÈ ·¦ÆÛ Business ObjectÀÇ Business Object Á¤ÀǸ¦ °¡Áý´Ï´Ù. »óÀ§ Business Object Á¤ÀÇ¿¡´Â ´ÙÀ½ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ÀÖ½À´Ï´Ù.
(choiceElement1|...|choiceElementN)
¿©±â¼ choiceElement1...choiceElementNÀº Á¤ÀÇµÈ ¼±ÅûçÇ× ¿ä¼Ò °¢°¢¿¡ ÇØ´çµË´Ï´Ù. ÆÄÀÌÇÁ(|) ¹®ÀÚ·Î ¼±ÅûçÇ× ¿ä¼Ò °¢°¢À» ±¸ºÐÇØ¾ß Çϰí Àüü ű״ °ýÈ£·Î ¹¾î¾ß ÇÕ´Ï´Ù.
·¦ÆÛ Business Object Á¤ÀÇ¿¡´Â ¼±ÅûçÇ× ¸ñ·Ï ¿ä¼Ò¿¡ Á¤ÀÇµÈ ¼±ÅûçÇ× ¿ä¼Ò °¢°¢¿¡ ´ëÇÑ ÇϳªÀÇ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. Business Object ·¹º§¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù.
±×¸² 15¿¡¼´Â ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¿¡ ´ëÇÑ Business Object Á¤ÀÇÀÇ °èÃþ ±¸Á¶ ±×¸²À» º¸¿©ÁÝ´Ï´Ù. ·±Å¸ÀÓ¿¡¼ °¢°¢ÀÇ ÇÏÀ§ Business Object´Â ·¦ÆÛ Business ObjectÀÇ ÀνºÅϽºÀÌ°í µ¥ÀÌÅͷΠä¿öÁø ´Ü ÇϳªÀÇ ¼Ó¼ºÀ» °¡Áý´Ï´Ù. ¿¹·Î¼, ±×¸² 14¿¡ ÀÖ´Â XML ³»¿ëÀÇ Business Object´Â 5°³ÀÇ ÇÏÀ§¸¦ °¡Áö¸ç, °¢°¢Àº ÇØ´ç ¼Ó¼ºÀ¸·Î ä¿öÁ® ÀÖ½À´Ï´Ù.
±×¸² 15. ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼ÒÀÇ °èÃþ ±¸Á¶ Business Object Á¤ÀÇ
±×¸² 16¿¡¼´Â »óÀ§ Business Object Á¤ÀÇÀÎ MyApp_Cust¸¦ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿Í ÇÔ²² º¸¿©ÁÝ´Ï´Ù.
±×¸² 16. ¼±ÅûçÇ× ¸ñ·Ï ¿ä¼ÒÀÇ »óÀ§ Business Object Á¤ÀÇ
[BusinessObjectDefinition] Name = MyApp_Cust AppSpecificInfo = [Attribute] Name = CustWrapper Type = MyApp_CustWrapper Cardinality = N AppSpecificInfo = attr_name=CustWrapper;(U|I|B) [End]
·¦ÆÛ Business Object Á¤ÀÇÀÎ MyApp_CustWrapper´Â °¢ ¼±ÅûçÇ× ¿ä¼Ò¸¶´Ù Çϳª¾¿, ¼¼ °³ÀÇ ¼Ó¼ºÀ» °¡Áý´Ï´Ù. °¢ ¼±ÅûçÇ× ¿ä¼Ò¿¡ ¹®ÀÚ µ¥ÀÌÅͰ¡ Àֱ⠶§¹®¿¡ °¢ ¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ´ÙÀ½À» ÁöÁ¤ÇÕ´Ï´Ù.
±×¸² 17¿¡¼´Â ÀÌ XML ¹®¼ÀÇ ·¦ÆÛ Business Object Á¤ÀǸ¦ º¸¿©ÁÝ´Ï´Ù.
±×¸² 17. ¼±ÅûçÇ× ¸ñ·Ï ¿ä¼ÒÀÇ ·¦ÆÛ Business Object Á¤ÀÇ
[BusinessObjectDefinition] Name = MyApp_CustWrapper AppSpecificInfo = [Attribute] Name = DataU Type = String AppSpecificInfo = attr_name=U;type=pcdata; [End] [Attribute] Name = DataI Type = String AppSpecificInfo = attr_name=I;type=pcdata; [End] [Attribute] Name = DataB Type = String AppSpecificInfo = attr_name=B;type=pcdata; [End]
Business Object ¼Ó¼ºÀÌ ´Ù¸¥ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â XML ¿ä¼Ò¸¦ Ç¥½ÃÇÒ °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â ¿ä¼ÒÀÇ À̸§ÀÌ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, DeliveryDate ¼Ó¼ºÀÌ Business Object À¯ÇüÀ» °¡Áö¸ç DATETIME ¿ä¼Ò¸¦ Ç¥½ÃÇÒ °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â ¿ä¼ÒÀÇ À̸§ÀÌ Æ÷ÇԵ˴ϴÙ.
Name = DeliveryDate Relationship = Containment Cardinality = n AppSpecificInfo = DATETIME
Business Object Á¤ÀÇÀÇ ¼Ó¼ºÀº ´ÙÀ½ XML ±¸¼º¿ä¼Ò¸¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.
Ç¥ 27¿¡¼´Â ÀÌµé ´Ù¸¥ XML ±¸¼º¿ä¼ÒÀÇ ¼Ó¼º ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ëÇÑ ÅÂ±× ¹× ÀÌ Å±׿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÏ´Â ÀÌ ¸Å´º¾óÀÇ ÀýÀ» ÇÔ²² º¸¿©ÁÝ´Ï´Ù.
Ç¥ 17. ¼Ó¼º ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ëÇÑ Å±×
Business Object ¼Ó¼ºÀÇ Ç¥½Ã | ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ | ÀÚ¼¼ÇÑ Á¤º¸ |
---|---|---|
XML ¿ä¼Ò | XML ¿ä¼ÒÀÇ °æ¿ì | |
PCDATA¸¸ ÀÖ´Â XML ¿ä¼Ò |
elem_name=name of
| PCDATA¸¸ ÀÖ´Â XML ¿ä¼ÒÀÇ °æ¿ì |
XML ¿ä¼ÒÀÇ ¼Ó¼º |
| XML ¼Ó¼ºÀÇ °æ¿ì |
¹®ÀÚ µ¥ÀÌÅÍ ¹× ¼Ó¼ºÀÌ ÀÖ´Â XML ¿ä¼Ò | ¹®ÀÚ µ¥ÀÌÅÍ ¹× ¼Ó¼ºÀÌ ÀÖ´Â XML ¿ä¼ÒÀÇ °æ¿ì | |
³»¿ë¿¡ Ư¼ö ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Â XML ¿ä¼Ò ¶Ç´Â ¼Ó¼º | Ư¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â XML ¿ä¼Ò ¶Ç´Â ¼Ó¼ºÀÇ °æ¿ì | |
DOCTYPE ¼±¾ðÀÇ °æ¿ì | XML DOCTYPE ¼±¾ðÀÇ °æ¿ì | |
CDATA ¼½¼ÇÀÇ °æ¿ì | CDATA ¼½¼ÇÀÇ °æ¿ì | |
XML ¹®¼¿¡ Ãß°¡ÇÒ ÁÖ¼® | type=comment | XML ÁÖ¼®ÀÇ °æ¿ì |
ó¸® ¸í·É¾î | type=pi | XML ó¸® ¸í·É¾îÀÇ °æ¿ì |
XML ¿ä¼Ò¸¦ ³ªÅ¸³»´Â ¸ðµç ´Ü¼ø(String) Business Object ¼Ó¼º¿¡´Â ¿¬°üµÈ ¿ä¼Ò¸¦ ½Äº°Çϱâ À§ÇÑ elem_name űװ¡ ÇØ´ç ÀÀ¿ë ÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
elem_name=XML ¿ä¼Ò À̸§
¿¹¸¦ µé¾î, Business Object ¼Ó¼ºÀÎ CustLNameÀÌ ´Ü¼ø XML ¼Ó¼ºÀ» ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
Name = CustLName AppSpecificInfo = elem_name=CustLName;
XML ¿ä¼Ò À̸§Àº Ư¼ö ¹®ÀÚ(¿¹: ¸¶Ä§Ç¥ ¹× ÇÏÀÌÇÂ(-))¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Business Object ¼Ó¼ºÀÇ À̸§Àº ÀÌ·¯ÇÑ Æ¯¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼ XML ¿ä¼ÒÀÇ À̸§À» elem_name ű׿¡ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. Business Object ¼Ó¼ºÀÇ À̸§À» ÁöÁ¤ÇÏ·Á¸é, XML ODA´Â XML ¿ä¼ÒÀÇ À̸§¿¡¼ Ư¼ö ¹®ÀÚ¸¦ Á¦°ÅÇϰí À̸¦ ¹ØÁÙ(_) ¹®ÀÚ·Î ¹Ù²ß´Ï´Ù.
´ÙÀ½ ¿¹Á¦¿¡¼, XML ¿ä¼Ò¿¡ ´ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ¼Ó¼ºÀÌ Æ¯¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇϰí ÀÖÀ¸¹Ç·Î ½ÇÁ¦ XML ¿ä¼Ò À̸§°úÀÇ Â÷ÀÌÁ¡À» ÁöÁ¤ÇÕ´Ï´Ù.
Name = Phone_Tag AppSpecificInfo = elem_name=Phone#Tag;
XML ¿ä¼ÒÀÇ ½ÇÁ¦ À̸§Àº Business Object ¼Ó¼º À̸§¿¡´Â ¿Ã¹Ù¸£Áö ¾ÊÀº ÆÄ¿îµå ±âÈ£(#)¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ±×·¯¹Ç·Î, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ÀÇ elem_name ű״ ½ÇÁ¦ XML ¿ä¼Ò À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. ¿¬°üµÈ Business Object ¼Ó¼ºÀÇ À̸§¿¡´Â ÆÄ¿îµå ±âÈ£´Â ¹ØÁÙ·Î ±³Ã¼µË´Ï´Ù.
¹®ÀÚ µ¥ÀÌÅ͸¸ ÀÖ´Â XML ¿ä¼Ò´Â PCDATA ¿ä¼Ò ³»¿ë ÁöÁ¤ÀÚ¸¸ Àִ ȥÇÕ ¿ä¼ÒÀÔ´Ï´Ù. PCDATA¸¸ ÀÖ´Â XML ¿ä¼Ò¸¦ ³ªÅ¸³»´Â Business Object ¼Ó¼ºÀº ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½°ú °°Àº type űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
type=pcdata
ÀÌ °æ¿ì, ¿ä¼Ò À̸§Àº ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡¼ ù ¹øÂ° ÇʵåÀ̰í, type ¸Å°³º¯¼ö´Â µÎ ¹øÂ° ÇʵåÀÔ´Ï´Ù.
¿¹¸¦ µé¾î, PCDATA¸¸ Æ÷ÇÔÇÏ´Â PartNumber¶ó´Â ¿ä¼Ò´Â DTD¿¡ ´ÙÀ½ Á¤ÀǸ¦ °¡Áý´Ï´Ù.
<!ELEMENT PartNumber (#PCDATA)>
Business Object Á¤ÀÇ¿¡ ÀÖ´Â ÇØ´ç ¼Ó¼ºÀº ´ÙÀ½ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¸¦ °¡Áú °ÍÀÔ´Ï´Ù.
Name = PartNumber AppSpecificInfo = elem_name=PartNumber;type=pcdata;
ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ notag ÅØ½ºÆ®°¡ Æ÷ÇÔµÈ °æ¿ì¿¡µµ XML Data Handler°¡ XML ¸¶Å©¾÷À» »ý¼ºÇÏÁö ¾Ê½À´Ï´Ù. ¼Ó¼º °ª¸¸ XML ¹®¼¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ¹®ÀÚ µ¥ÀÌÅÍ ¹× ¼Ó¼ºÀÌ ÀÖ´Â XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
Business Object ¼Ó¼ºÀÌ XML ¿ä¼ÒÀÇ ¼Ó¼ºÀ» ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ űװ¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
attr_name=attrName
XML ¼Ó¼º À̸§Àº Ư¼ö ¹®ÀÚ(¿¹: ¸¶Ä§Ç¥ ¹× ÇÏÀÌÇÂ(-))¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Business Object ¼Ó¼ºÀÇ À̸§Àº ÀÌ·¯ÇÑ Æ¯¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼ XML ¿ä¼ÒÀÇ À̸§À» attr_name ű׿¡ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. XML ODA´Â Business Object ¼Ó¼ºÀÇ À̸§À» ÁöÁ¤Çϱâ À§ÇØ XML ¼Ó¼º À̸§¿¡¼ ¸ðµç Ư¼ö ¹®ÀÚ¸¦ Á¦°ÅÇÕ´Ï´Ù.
type=attribute
ÀÌ type ű״ ¿¬°üµÈ Business Object ¼Ó¼ºÀÇ ¿ëµµ¸¦ XML ¼Ó¼ºÀ¸·Î ½Äº°ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î Business Object ¼Ó¼º, ID°¡ XML ¼Ó¼º, ID¸¦ ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
Name = ID AppSpecificInfo = attr_name=ID;type=attribute;
type=attribute ű׸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ¿¹¸¦ º¸·Á¸é ¹®ÀÚ µ¥ÀÌÅÍ ¹× ¼Ó¼ºÀÌ ÀÖ´Â XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
XML ¿ä¼Ò°¡ PCDATA ¶Ç´Â CDATA¸¸ Æ÷ÇÔÇϰí Çϳª ÀÌ»óÀÇ XML ¼Ó¼ºÀ» °®´Â °æ¿ì, Business Object Á¤ÀÇ´Â ´ÙÀ½ ¼Ó¼ºÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
¼Ó¼º À̸§Àº XML ¼Ó¼ºÀÇ À̸§°ú ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù. ÇØ´ç ¼Ó¼º ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â attr_name ¹× type=attribute ű׸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â XML ¼Ó¼ºÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÀÌ ¼Ó¼º¿¡´Â »óÀ§ XML ¿ä¼Ò¿Í ¿¬°üµÈ µ¥ÀÌÅͰ¡ ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½À» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
XML Data Handler´Â ÇØ´ç ¼Ó¼º¿¡ ´ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ notag°¡ Ç¥½ÃµÇÁö ¾ÊÀ¸¸é ¸ðµç Business Object ¼Ó¼º¿¡ ´ëÇØ ½ÃÀÛ ¹× ³¡ ű׸¦ ÀÛ¼ºÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, Price¶ó´Â XML ¿ä¼Ò¿¡ Currency¶ó´Â ¼Ó¼ºÀÌ ÀÖ°í PriceÀÇ µ¥ÀÌÅ͸¦ ÇÊ¿ä·Î ÇÑ´Ù°í °¡Á¤ÇϽʽÿÀ.
<!ELEMENT Price (#PCDATA)> <!ATTLIST Price Currency NMTOKEN #IMPLIED>
Price ¿ä¼Ò¿¡ XML ¼Ó¼ºÀÌ Àֱ⠶§¹®¿¡, Business Object Á¤ÀÇ¿¡¼ Currency¿¡ ´ëÇÑ Business Object ¼Ó¼ºµµ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ, Price µ¥ÀÌÅ͸¦ °¡Áö´Â ´Ù¸¥ ¼Ó¼ºÀÌ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù. Price µ¥ÀÌÅÍÀÇ ¼Ó¼ºÀº ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡¼ Data Handler°¡ ¼Ó¼º¿¡ ´ëÇØ ½ÃÀÛ ¹× ³¡ ű׸¦ ÀÛ¼ºÇÏÁö ¾Êµµ·Ï notag¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
Price ÇÏÀ§ Business Object´Â ´ÙÀ½°ú °°À» ¼ö ÀÖ½À´Ï´Ù.
[BusinessObjectDefinition] Name = Price AppSpecificInfo = Price
[Attribute] Name = Currency Type = String AppSpecificInfo = attr_name=Currency;type=attribute; ... [End]
[Attribute] Name = Price Type = String AppSpecificInfo = Price;type=pcdata;notag ... [End]
ÀÌ·¯ÇÑ °æ¿ì, Data Handler´Â Price µ¥ÀÌÅÍ¿¡ ´ëÇØ »õ XML ¿ä¼Ò¸¦ »ý¼ºÇÏÁö ¾Ê°í »óÀ§ ¿ä¼Ò¿¡¸¸ µ¥ÀÌÅ͸¦ Ãß°¡ÇÕ´Ï´Ù.
XML ¿ä¼Ò¸¦ Ç¥½ÃÇÏ´Â Business Object ¼Ó¼ºÀ̳ª À̽ºÄÉÀÌÇÁ 󸮸¦ ÇÊ¿ä·Î ÇÏ´Â ³»¿ëÀÌ ÀÖ´Â XML ¼Ó¼º¿¡´Â ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
escape=true
¼Ó¼ºÀÌ °ª¿¡ ´ÙÀ½ Ư¼ö ¹®ÀÚ°¡ ÀÖ´Â XML ¿ä¼Ò¸¦ ³ªÅ¸³»¸é, ¼Ó¼ºÀÌ À̽ºÄÉÀÌÇÁ 󸮸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù.
¼Ó¼ºÀÌ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ escape=true°¡ ¾øÀ¸¸é, ¼Ó¼ºÀº À̽ºÄÉÀÌÇÁ 󸮵ÇÁö ¾Ê½À´Ï´Ù. ÀÌ Å±״ ±âÁ¸ÀÇ ¾î¶°ÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸µçÁö ³¡¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½°ú °°½À´Ï´Ù.
[Attribute] Name=Data Type=String AppSpecificInfo=Price;type=pcdata;escape=true [End]
¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ À̽ºÄÉÀÌÇÁ ű׸¦ Æ÷ÇÔÇÏÁö ¾ÊÀ¸¸é, XML Data Handler´Â DefaultEscapeBehavior µî·Ï Á¤º¸ÀÇ °ªÀ» È®ÀÎÇÏ¿© À̽ºÄÉÀÌÇÁ ó¸® ¼öÇà ¿©ºÎ¸¦ °áÁ¤ÇÕ´Ï´Ù.
Business Object ¼Ó¼ºÀÌ ÇÁ·Ñ·Î±×¿¡ ¹®¼ À¯Çü ¼±¾ðÀ» ³ªÅ¸³»´Â °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ type űװ¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
type=doctype
¿¹¸¦ µé¾î Business Object ¼Ó¼ºÀÎ DocTypeÀÌ DOCTYPE ¿ä¼Ò¸¦ ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
Name = DocType AppSpecificInfo = type=doctype;
DocType ¼Ó¼ºÀÇ °ªÀÌ ´ÙÀ½°ú °°À» °æ¿ì,
DOCTYPE CUSTOMER "customer.dtd"
Data Handler´Â ´ÙÀ½ XMLÀ» »ý¼ºÇÕ´Ï´Ù.
<!DOCTYPE CUSTOMER "customer.dtd">
¶ÇÇÑ ÀÌ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â XML ¹®¼¿¡ ÀÏ¹Ý ¿£Æ¼Æ¼ ¼±¾ðÀ» Æ÷ÇÔÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ³»ºÎ DTD ¶Ç´Â ¸Å°³º¯¼ö ¿£Æ¼Æ¼ ¼±¾ðÀ» Æ÷ÇÔÇϱâ À§ÇÑ ¸í½ÃÀû Áö¿øÀº ¾ø½À´Ï´Ù. ÀÌ´Â ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡¼ type=doctypeÀÇ ¼Ó¼º °ª¿¡ Àüü ÅØ½ºÆ®¸¦ ³Ö¾î ¹®¼¿¡ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.
Business Object ¼Ó¼ºÀÌ XML ¹®¼ ³»¿¡¼ CDATA¸¦ Ç¥½ÃÇÒ °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â ´ÙÀ½ type űװ¡ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù.
type=cdata
¿¹¸¦ µé¾î, Business Object ¼Ó¼ºÀÎ UserArea°¡ CDATA ¼Ó¼ºÀ» ³ªÅ¸³»´Â °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
Name = UserArea AppSpecificInfo = type=cdata;
XML Data Handler°¡ Business Object¸¦ XML ¹®¼·Î º¯È¯ÇÒ ¶§, XML ¹®¼¿¡ ÁÖ¼®À» Ãß°¡ÇÑ´Ù°í ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Data Handler°¡ ÁÖ¼®À» Ãß°¡ÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é, ´ÙÀ½ ´Ü°è¸¦ ¼öÇàÇϽʽÿÀ.
type=comment
¿¹¸¦ µé¸é, Comment¶ó´Â Business Object ¼Ó¼ºÀÌ Data Handler°¡ XML ¹®¼¿¡ Ãß°¡ÇØ¾ß ÇÏ´Â XML ÁÖ¼®À» ³ªÅ¸³»´Â °æ¿ì, Comment ¼Ó¼ºÀº ´ÙÀ½°ú °°À» °ÍÀÔ´Ï´Ù.
Name = Comment AppSpecificInfo = type=comment;
ÀÌ ¼Ó¼ºÀÌ Customer information update from application A"¶ó´Â °ªÀ» °¡Áú °æ¿ì, ´ÙÀ½ XMLÀÌ »ý¼ºµË´Ï´Ù.
<!--Customer information update from application A-->
Business Object ¼Ó¼ºÀÌ Ã³¸® ¸í·É¾î¸¦ ³ªÅ¸³»´Â °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â ´ÙÀ½ type űװ¡ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù.
type=pi
¿¹¸¦ µé¾î, Business Object ¼Ó¼ºÀÎ XMLDeclarationÀÌ ÇÁ·Ñ·Î±×¿¡ XML ¼±¾ðÀ» ³ªÅ¸³»´Â °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
Name = XMLDeclaration AppSpecificInfo = type=pi;
¼Ó¼º °ªÀÌ ´ÙÀ½°ú °°À» °æ¿ì
xml version = "1.0"
XML Data Handler´Â ´ÙÀ½°ú °°Àº XMLÀ» »ý¼ºÇÕ´Ï´Ù.
<?xml version="1.0"?>
DTD´Â XML ¹®¼ÀÇ Çü½Ä¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
±×·¯¹Ç·Î DTD´Â Business Object Á¤ÀÇ¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ¾ò´Â µ¥ ¸Å¿ì À¯¿ëÇÕ´Ï´Ù. DTD¿¡ ÀÖ´Â ±¸Á¶ Á¤º¸¸¦ Business Object Á¤ÀÇ·Î º¯È¯Çϱâ À§ÇØ XML Object Discovery Agent(ODA)¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. XML ODA¿¡ ´ëÇÑ Á¤º¸´Â XML ODA¸¦ »ç¿ëÇÏ¿© Business Object Á¤ÀÇ ÀÛ¼ºÀ» ÂüÁ¶ÇϽʽÿÀ.
XML ODA´Â ´ÙÀ½°ú °°Àº DTD ±¸Á¶¸¦ Áö¿øÇÕ´Ï´Ù.
<!ENTITY % name value>
¿ÜºÎ DTD°¡ ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÖÀ» °æ¿ì¿¡¸¸ À̸¦ ÇØ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̵éÀº DTD¸¦ ã±â À§ÇØ URL¿¡ ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù. µÎ µµ±¸ ¸ðµÎ Ç×»ó ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛ¿¡¼ ¿ÜºÎ DTD¿¡ ´ëÇÑ ÂüÁ¶¸¦ ãÀ¸·Á°í ÇÕ´Ï´Ù. µµ±¸´Â À̸¦ ¹«½ÃÇÏÁö ¾Ê½À´Ï´Ù.
<!ELEMENT SCENE (ANY) >
ÇØ´çµÇ´Â Business Object Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
[Attribute] Name = SCENE Type = String Cardinality = 1 MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = true AppSpecificInfo = SCENE;type=pcdata; [End]
±×·¯³ª Data Handler´Â DOCTYPEÀ̶ó´Â À̸§¸¸ ä¿ó´Ï´Ù. °¡´ÉÇÑ ±âŸ ¸ÞŸ Á¤º¸´Â ä¿ìÁö ¾Ê½À´Ï´Ù.
XML ODA´Â ´ëºÎºÐÀÇ DTD¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ´ÙÀ½ DTD ±¸Á¶´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.