XML ½ºÅ°¸¶´Â XML ¹®¼ÀÇ ÅÛÇø®Æ®(½ºÅ°¸¶)¸¦ Á¤ÀÇÇÏ´Â ½ºÅ°¸¶ ¹®¼(.xsd È®ÀåÀÚ)¸¦ »ç¿ëÇÏ´Â XML ¹®¼ÀÇ µ¥ÀÌÅÍ ¸ðµ¨ÀÔ´Ï´Ù. DTD¿Í ´Þ¸® ½ºÅ°¸¶ ¹®¼´Â ½ºÅ°¸¶¸¦ ¼³¸íÇÏ´Â µ¥ XML ¹®¼¿Í µ¿ÀÏÇÑ ±¸¹®À» »ç¿ëÇÕ´Ï´Ù. XML ¹®¼ÀÇ ½ºÅ°¸¶¸¦ ³ªÅ¸³»´Â Business Object Á¤ÀÇ´Â ¹®¼ÀÇ ±¸Á¶¸¦ º¸Á¸ÇÏ°í ±â·ÏÇÏ´Â µ¥ ½ºÅ°¸¶ ¹®¼ÀÇ Á¤º¸¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¼½¼Ç¿¡¼´Â ½ºÅ°¸¶ ¹®¼¿¡¼ Business Object Á¤ÀÇÀÇ ±¸Á¶ Á¤º¸¸¦ ¾Ë¾Æº¸µµ·Ï ´ÙÀ½ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
½ºÅ°¸¶ ¹®¼¸¦ ³ªÅ¸³»´Â Business Object Á¤Àǰ¡ XML Data HandlerÀÇ ¿ä±¸»çÇ×À» ÁؼöÇϵµ·Ï ÇÏ·Á¸é, ´ÙÀ½À» Æ÷ÇÔÇÏ´Â ÀÌ ¼½¼ÇÀÇ ÁöħÀ» »ç¿ëÇϽʽÿÀ.
½ºÅ°¸¶ ¹®¼¸¦ ±âº»À¸·Î ÇÏ´Â Business Object Á¤ÀǸ¦ »ç¿ëÇÏ¿© XML Data Handler¿¡ ÀÇÇØ 󸮵Ǵ Business Object´Â ´ÙÀ½ ±ÔÄ¢À» µû¶ó¾ß ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â ½ºÅ°¸¶ ¹®¼ÀÇ Çʼö Business Object Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.
XML ¹®¼ÀÇ ½ºÅ°¸¶ ¹®¼ ¿¹´Â ±×¸² 18¿¡ Ç¥½ÃµË´Ï´Ù.
½ºÅ°¸¶ ¹®¼ÀÇ À̸§Àº OrderÀ̸ç, ÀÀ¿ëÇÁ·Î±×·¥ Order ¿£Æ¼Æ¼¿¡ ÇØ´çÇÏ´Â ¿ä¼Ò°¡ ÀÖ½À´Ï´Ù. ÀÌ »ùÇà ½ºÅ°¸¶ ¹®¼´Â »ùÇà DTD ¹®¼°¡ ¼³¸íÇÑ °Í°ú µ¿ÀÏÇÑ Business Object ±¸Á¶¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ±×¸² 13¿¡¼´Â Order ½ºÅ°¸¶ ¹®¼¿Í ¿¬°üµÈ XML ¹®¼¿¡ ÇØ´çÇϵµ·Ï ÀÛ¼ºÇÒ ¼ö ÀÖ´Â Business Object Á¤ÀÇÀÇ ±¸Á¶¸¦ º¸¿©ÁÝ´Ï´Ù.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="AccessoryType"> <xs:sequence> <xs:element ref="Quantity"/> <xs:element ref="Type"/> </xs:sequence> <xs:attribute name="Name" type="xs:string" use="required"/> </xs:complexType> <xs:element name="Order"> <xs:complexType> <xs:sequence> <xs:element name="Unit" type="UnitType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PartNumber" type="xs:string"/> <xs:element name="Price" type="xs:string"/> <xs:element name="Quantity" type="xs:string"/> <xs:element name="Type" type="xs:string"/> <xs:complexType name="UnitType"> <xs:sequence> <xs:element ref="PartNumber" minOccurs="0"/> <xs:element ref="Quantity"/> <xs:element ref="Price"/> <xs:element name="Accessory" type="AccessoryType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>
½ºÅ°¸¶ ¹®¼¸¦ ³ªÅ¸³»·Á¸é Business Object ±¸Á¶¿¡ ¼³¸íµÇ¾î ÀÖ´Â ÃÖ¼ÒÇÑ µÎ °³ ÀÌ»óÀÇ Business Object Á¤Àǰ¡ ÇÊ¿äÇÕ´Ï´Ù. ½ºÅ°¸¶ ¹®¼ÀÇ °æ¿ì, ÀÌ Business Object Á¤ÀÇ¿¡´Â ´ÙÀ½°ú °°Àº Ãß°¡ ¿ä±¸»çÇ×ÀÌ ÀÖ½À´Ï´Ù.
ÀÌ ¼Ó¼ºÀº ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ type=xmlns űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â XML ó¸® ¸í·É¾îÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
Business Object ±¸Á¶¿¡ ¼³¸íµÇ¾î ÀÖ´Â ´ë·Î, ÀÌ ¼Ó¼ºÀÇ À¯ÇüÀº ´ÜÀÏ Ä«µð³¾¸®Æ¼ Business Object¿©¾ß ÇÕ´Ï´Ù. ÀÌ À¯ÇüÀº ·çÆ® ¿ä¼Ò¿¡ ´ëÇÑ Business Object Á¤ÀÇÀÔ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â elem_name ű׷ΠÀÌ ¿ä¼ÒÀÇ À̸§À» ³ª¿ÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
½ºÅ°¸¶ ¹®¼´Â ±Û·Î¹ú ·¹º§¿¡ ¿©·¯ XML ±¸¼º¿ä¼Ò¸¦ Á¤ÀÇÇÒ ¼ö ÀÖÀ¸¹Ç·Î Root ±¸¼º µî·Ï Á¤º¸¸¦ ÅëÇØ ·çÆ® ¿ä¼Ò·Î °í·ÁÇØ¾ß ÇÒ ¿ä¼Ò¸¦ XML ODA¿¡ ¾Ë·ÁÁÙ ¼ö ÀÖ½À´Ï´Ù. ·çÆ® ¿ä¼Ò Business Object Á¤ÀÇ¿¡´Â ´ÙÀ½°ú °°Àº ¼Ó¼ºÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.
XML ODA°¡ ÃÖ»óÀ§ ·¹º§ Business Object Á¤ÀÇ¿¡ schemaLocation ¼Ó¼ºÀ» »ý¼ºÇÏ´ÂÁö ¿©ºÎ´Â ÇØ´ç DocTypeOrSchemaLocation ±¸¼º µî·Ï Á¤º¸ÀÇ ¼³Á¤¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â XML ½ºÅ°¸¶ À§Ä¡ÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÀÌ µÎ °¡Áö Çʼö Business Object Á¤ÀÇ ¸ðµÎ ´ë»ó À̸§ °ø°£ ¹× ÀÓÀÇÀÇ ±¸¼º¿ä¼Ò À̸§ ÀÚ°ÝÀ» Á¤ÀÇÇÏ´Â Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â Business-object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¸¦ ÂüÁ¶ÇϽʽÿÀ.
±×¸² 18¿¡ ÀÖ´Â XML schema ¿ä¼Ò´Â ´ÙÀ½°ú °°½À´Ï´Ù.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
±×¸² 19¿¡¼´Â ÀÌ ½ºÅ°¸¶ ¿ä¼Ò¸¦ ³ªÅ¸³»´Â ÃÖ»óÀ§ ·¹º§ Business Object Á¤ÀÇÀÎ TopLevelÀ» º¸¿©ÁÝ´Ï´Ù.
±×¸² 19. »ùÇà ÃÖ»óÀ§ ·¹º§ Business Object Á¤ÀÇ
[BusinessObjectDefinition] Name=TopLevel AppSpecificInfo=elem_fd=qualified;attr_fd=unqualified ...
[Attribute] Name=XMLDeclaration Type=String AppSpecificInfo=type=pi; ... [End]
[Attribute] Name=Order Type=TopLevel_Order AppSpecificInfo=elem_name=Order; ... [End] ... [End]
XML ODA°¡ ±×¸² 19¿¡ ÃÖ»óÀ§ ·¹º§ Business Object Á¤ÀǸ¦ »ý¼ºÇÑ °æ¿ì, ´ÙÀ½ ODA ±¸¼º µî·Ï Á¤º¸¸¦ ¼³Á¤ÇÑ »óÅ¿©¾ß ÇÕ´Ï´Ù.
ODA ±¸¼º µî·Ï Á¤º¸ | µî·Ï Á¤º¸ °ª |
---|---|
BOPrefix | ¼³Á¤µÇÁö ¾ÊÀ½ |
TopLevel | "TopLevel" |
Root | "Order" |
DoctypeorSchemaLocation | true |
·çÆ® ¿ä¼Ò Business Object Á¤ÀÇÀÇ ¿¹´Â ±×¸² 26À» ÂüÁ¶ÇϽʽÿÀ.
ÀÏ¹Ý Business Object Á¤ÀÇ´Â ´ÙÀ½ Áß ÀÓÀÇÀÇ XML ±¸¼ºÀ» ³ªÅ¸³À´Ï´Ù.
sequence ±×·ìÀÇ °¢ ÇÏÀ§ ¿ä¼Ò´Â Business Object Á¤ÀÇÀÇ ¼Ó¼ºÀ¸·Î ³ªÅ¸³³´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â º¹ÇÕ À¯ÇüÀÇ XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÀÌ·¯ÇÑ À¯ÇüÀÇ Business Object Á¤ÀÇÀÇ °æ¿ì, Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â Ư¼ö Á¤º¸°¡ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ÀÏ¹Ý Business Object Á¤ÀÇÀÇ ¼Ó¼ºÀº XML º¹ÇÕ À¯Çü¿¡ Á¤ÀǵǾî ÀÖ´Â ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù.
¿¹¸¦ µé¾î, Unit¶ó´Â XML ¿ä¼Ò°¡ ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǴ °ÍÀ¸·Î °¡Á¤ÇϽʽÿÀ.
<xsd:element name="Unit"> <xsd:complexType> ... </xsd:complexType> </element>
´ÙÀ½ Business Object Á¤Àǰ¡ Unit ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù.
[BusinessObjectDefinition] Name = MyApp_Unit AppSpecificInfo = [Attribute] ...
È¥ÇÕ Business Object Á¤ÀÇ´Â ¹®ÀÚ µ¥ÀÌÅÍ ¹× ±âŸ ÇÏÀ§ ¿ä¼ÒÀÇ È¥ÇÕ ³»¿ëÀ» Æ÷ÇÔÇÏ´Â, È¥ÇÕ XML ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù. ½ºÅ°¸¶ ¹®¼´Â ´ÙÀ½°ú °°ÀÌ mixed ¼Ó¼ºÀÌ true·Î ¼³Á¤µÇ¾î ÀÖ´Â º¹ÇÕ À¯ÇüÀ¸·Î¼ È¥ÇÕ À¯Çü XML ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù.
<xsd:complexType mixed="true"> <xsd:sequence> <xsd:element name="subElement1" type="subElementType"/> ... </xsd:sequence> </xsd:complexType>
ÀÌ º¹ÇÕ À¯ÇüÀº mixed ¼Ó¼ºÀ» true·Î ¼³Á¤Çϱ⠶§¹®¿¡, Á¤ÀÇÇÏ´Â Çϳª ÀÌ»óÀÇ ºÎ¼Ó ¿ä¼Ò»Ó¸¸ ¾Æ´Ï¶ó ¹®ÀÚ µ¥ÀÌÅ͵µ °¡Áú ¼ö ÀÖ½À´Ï´Ù. mixed ¼Ó¼ºÀÌ false·Î ¼³Á¤µÇ¸é, ¹®ÀÚ µ¥ÀÌÅͰ¡ º¹ÇÕ À¯Çü¿¡ Çã¿ëµË´Ï´Ù.
¿¹¸¦ µé¾î, ±×¸² 20¿¡¼´Â ½ºÅ°¸¶ ¹®¼¿¡ Á¤ÀÇµÈ È¥ÇÕ À¯Çü XML ¿ä¼Ò¸¦ º¸¿©ÁÝ´Ï´Ù.
±×¸² 20. È¥ÇÕ À¯Çü XML ¿ä¼ÒÀÇ »ùÇà ½ºÅ°¸¶ ¹®¼
<xsd:complexType name="Cust" mixed="true"> <xsd:sequence> <xsd:element name="Name"/> <xsd:element name="Address"/> <xsd:element name="Phone"/> </xsd:sequence> </xsd:complexType>
È¥ÇÕ À¯Çü XML ¿ä¼Ò¸¦ ³ªÅ¸³»·Á¸é ´ÙÀ½ µÎ °¡Áö Business Object Á¤Àǰ¡ ÇÊ¿äÇÕ´Ï´Ù.
ÀÌ »óÀ§ Business Object Á¤ÀÇ¿¡´Â ´ÙÁß Ä«µð³¾¸®Æ¼ Business Object ¹è¿À» ³ªÅ¸³»´Â ÇϳªÀÇ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº À¯ÇüÀ¸·Î¼ ¿¬°üµÈ ·¦ÆÛ Business ObjectÀÇ Business Object Á¤ÀǸ¦ °¡Áý´Ï´Ù. »óÀ§ Business Object Á¤ÀÇ¿¡´Â ´ÙÀ½ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ÀÖ½À´Ï´Ù.
(mixedTypeElement|subElement1|...|subElementN)
¼³¸í:
ÆÄÀÌÇÁ(|) ¹®ÀÚ·Î ºÎ¼Ó ¿ä¼Ò °¢°¢À» ±¸ºÐÇØ¾ß Çϰí Àüü ű״ °ýÈ£·Î ¹¿©¾ß ÇÕ´Ï´Ù.
·¦ÆÛ Business Object Á¤ÀǴ ȥÇÕ µ¥ÀÌÅÍÀÇ ¼Ó¼ºÀ» °¡Áý´Ï´Ù.
type=pcdata ű×(´Ü¼ø À¯ÇüÀ» ³ªÅ¸³½´Ù´Â °ÍÀ» Ç¥½ÃÇÏ´Â)¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù.
type=pcdata ű׿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â º¹ÇÕ À¯ÇüÀÇ XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
±×¸² 20¿¡¼ Business Object Á¤ÀÇÀÎ MyApp_Cust°¡ Cust È¥ÇÕ À¯Çü ¿ä¼Ò¸¦ ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
[BusinessObjectDefinition] Name = MyApp_Cust AppSpecificInfo = type=MIXED; [Attribute] Name=Cust_wrapper1 Type=MyApp_CustWrapper1 Cardinality=n AppSpecificInfo=(Cust|Address|Phone) ... [End]
·¦ÆÛ Business Object Á¤ÀÇ´Â ¹Ýº¹ ¼±ÅûçÇ× ¸ñ·ÏÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ À¯ÇüÀÇ Business Object Á¤ÀÇ´Â XML ¿ä¼Ò¿¡ ÀÓÀÇÀÇ ¼ø¼ ¹× ÀÓÀÇÀÇ Ä«µð³¾¸®Æ¼·Î ³ªÅ¸³¯ ¼ö ÀÖ´Â ÇÏÀ§°¡ ÀÖ´Â °æ¿ì ÇÊ¿äÇÕ´Ï´Ù. ·¦ÆÛ Business Object´Â ƯÁ¤ XML ¹®¼¿¡¼ ÇÏÀ§ ¿ä¼ÒÀÇ ¼ø¼ ¹× Ä«µð³¾¸®Æ¼¸¦ º¸Á¸ÇÕ´Ï´Ù.
½ºÅ°¸¶ ¹®¼´Â ´ÙÀ½ ¸ðµ¨ ±×·ì Áß Çϳª°¡ ÀÖ´Â º¹ÇÕ À¯ÇüÀ¸·Î¼ ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¸¦ ¼³¸íÇÒ ¼ö ÀÖ½À´Ï´Ù.
<xsd:complexType> <xsd:choice> ... </choice> </complexType>
¼±ÅûçÇ× ±×·ìÀÌ ÀÖ´Â º¹ÇÕ À¯ÇüÀ» °¡Áö´Â XML ¿ä¼Ò¸¦ ³ªÅ¸³»±â À§ÇØ XML Data Handler´Â ´ÙÀ½°ú °°ÀÌ DTD¿¡ Á¤ÀÇµÈ ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¸¦ À§ÇØ ¼öÇàÇÏ´Â °Í°ú µ¿ÀÏÇÑ °èÃþ ±¸Á¶ Business Object Á¤ÀǸ¦ ¿¹»óÇÕ´Ï´Ù.
ÀÌ Business Object Á¤ÀÇ¿¡´Â DTD¿ë ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¿Í µ¿ÀÏÇÑ Çü½ÄÀ¸·Î µÇ¾î ÀÖ´Â Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â DTD¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ·¦ÆÛ Business Object Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.
<xsd:complexType> <xsd:all> ... </xsd:all> </xsd:complexType>
¸ðµç ±×·ìÀÌ ÀÖ´Â º¹ÇÕ À¯ÇüÀ» °¡Áö´Â XML ¿ä¼Ò¸¦ ³ªÅ¸³»±â À§ÇØ XML Data Handler´Â ´ÙÀ½°ú °°ÀÌ Business Object Á¤Àǰ¡ ÀÖ´Â °èÃþ ±¸Á¶ Business Object Á¤ÀǸ¦ ¿¹»óÇÕ´Ï´Ù.
ÀÌ Business Object Á¤ÀÇ¿¡´Â DTD¿ë ¼±ÅûçÇ× ¸ñ·Ï XML ¿ä¼Ò¿Í µ¿ÀÏÇÑ Çü½ÄÀ¸·Î µÇ¾î ÀÖ´Â Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â DTD¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ·¦ÆÛ Business Object Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.
Ä«µð³¾¸®Æ¼¸¦ Ç¥½ÃÇϱâ À§ÇØ ÀÌ ¸ðµ¨ ±×·ìÀº minOccurs¿Í maxOccurs ¼Ó¼ºÀ¸·Î ¹ß»ý Á¦ÇÑÀ» Áö¿øÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â Ç¥ 20À» ÂüÁ¶ÇϽʽÿÀ.
¿¹¸¦ µé¾î, ½ºÅ°¸¶ ¹®¼ÀÇ XML ¿ä¼Ò Á¤ÀÇ´Â ´ÙÀ½°ú °°À» ¼ö ÀÖ½À´Ï´Ù.
<xsd:element name="CUST"> <xsd:complexType> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="U"/> <xsd:element ref="I"/> <xsd:element ref="B"/> </xsd:choice> </xsd:complexType> </xsd:element>
ÀÌ ¿ä¼Ò¿¡´Â ¼±ÅÃÀûÀ̸ç(¸ñ·Ï ³» ÇϳªÀÇ ÇÏÀ§ ¿ä¼Ò´Â ¹Ýµå½Ã ³ªÅ¸³ª¾ß ÇÔ), ÀÓÀÇ ¼ø¼´ë·Î ³ªÅ¸³¯ ¼ö ÀÖ´Â ¼¼ °¡Áö ÇÏÀ§ ¿ä¼Ò°¡ ÀÖ½À´Ï´Ù. ±×¸² 14¿¡¼´Â ÀÌ À¯ÇüÀÇ XML ¹®¼¸¦ º¸¿©ÁÝ´Ï´Ù. ±×¸² 16¿¡¼´Â ÀÌ XML ¹®¼ÀÇ ·¦ÆÛ Business Object Á¤ÀǸ¦ º¸¿©ÁÝ´Ï´Ù. ±×¸² 17¿¡¼´Â ·¦ÆÛ Business Object Á¤ÀǸ¦ º¸¿©ÁÝ´Ï´Ù.
À¯Çü ´ëü¸¦ »ç¿ëÇÏ¿© ÆÄ»ýµÈ À¯ÇüÀ» °³º° XML ¹®¼ ÀνºÅϽº¿¡ ±âº» À¯Çü ´ë½Å Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. À¯Çü ´ëü°¡ ¹ß»ýÇÒ °æ¿ì, ÇϳªÀÇ µ¥ÀÌÅÍ À¯ÇüÀÌ ÀÖ´Â ¼±¾ðÀ» µû¸£´Â ¿ä¼Ò¿¡ À̸¦ È®ÀåÇϰųª Á¦ÇÑÇÏ´Â µ¥ÀÌÅÍ À¯ÇüÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ½ºÅ°¸¶ Á¤ÀÇ¿¡¼ ShirtType ¹× HatTypeÀº ±âº» ProductTypeÀÇ ÆÄ»ýµÈ À¯ÇüÀÔ´Ï´Ù.
±×¸² 21. À¯Çü ´ëü¸¦ »ç¿ëÇÏ´Â »ùÇà ½ºÅ°¸¶
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="items" type="ItemsType"/> <xsd:complexType name="ItemsType"> <xsd:sequence> <xsd:element ref="product" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="product" type="ProductType"/> <xsd:complexType name="ProductType"> <xsd:sequence> <xsd:element name="number" type="xsd:string"/> <xsd:element name="name" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ShirtType"> <xsd:complexContent> <xsd:extension base="ProductType"> <xsd:sequence> <xsd:element name="size" type="xsd:string"/> <xsd:element name="color" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="HatType"> <xsd:complexContent> <xsd:extension base="ProductType"> <xsd:sequence> <xsd:element name="size" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:schema>
À§ÀÇ ½ºÅ°¸¶¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â, ´ÙÀ½°ú °°Àº XML ¹®¼°¡ À¯È¿ÇÕ´Ï´Ù.
±×¸² 22. XML ¹®¼ÀÇ ÆÄ»ýµÈ À¯Çü
<items xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <product> <number>999</number> <name>Special Seasonal</name> </product> <product xsi:type="ShirtType"> <number>557</number> <name>Short-Sleeved Linen Blouse</name> <size>M</size> <color>blue</color> </product> <product xsi:type="HatType"> <number>443</number> <name>Four-Gallon Hat</name> <size>L</size> </product> </items>
ProductTypeÀÌ ¹ß»ýÇÏ´Â °÷¸¶´Ù, xsi:type ¼Ó¼º¿¡¼ Ç¥½ÃÇÏ´Â
ÆÄ»ýµÈ À¯Çü ShirtType ¹× HatTypeÀ» ´ë½Å Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
À¯Çü ´ëü°¡ ¹ß»ýÇÑ XML ¹®¼¸¦ Ç¥½ÃÇϱâ À§ÇØ,
XML Data Handler´Â ·¦ÆÛ Business Object¸¦ XML ¹®¼ÀÇ
ÇÏÀ§ ¼Ó¼ºÀ¸·Î ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ·¦ÆÛ Business Object¿¡´Â
º¹ÇÕ À¯Çü(±×¸² 21ÀÇ ProductType) ¹× ÆÄ»ýµÈ À¯Çü(ShirtType ¹× HatType)¿¡
ÇØ´çÇÏ´Â ÇÏÀ§ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. Ç¥ 18 ¹× Ç¥ 19¿¡¼´Â
À§ÀÇ XML ½ºÅ°¸¶¿¡¼ »ý¼ºµÇ´Â Business Object Á¤ÀǸ¦ Ç¥½ÃÇÕ´Ï´Ù.
Ç¥ 18. ItemsType¿¡ ´ëÇÑ Business Object Á¤ÀÇ
¼Ó¼º À̸§ | À¯Çü | Ä«µð³¾¸®Æ¼ | ASI |
---|---|---|---|
Product | ProductTypeWrapper | N | (product);typeSub=true |
Ç¥ 19. ProductTypeWrapper¿¡ ´ëÇÑ Business Object Á¤ÀÇ
¼Ó¼º | À¯Çü | Ä«µð³¾¸®Æ¼ | ASI |
---|---|---|---|
ProductType | ProductType | 1 | Elem_name=product;
xsiType=ProductType |
ShirtType | ShirtType | 1 | Elem_name=product;
xsiType=ShirtType; |
HatType | HatType | 1 | Elem_name=product;
xsiType=HatType; |
XML ¹®¼ÀÇ Business Object Á¤Àǰ¡ ½ºÅ°¸¶ ¹®¼¸¦ ±âº»À¸·Î Çϸé, Business Object ¼Ó¼ºµéÀÌ Business Object ¼Ó¼º µî·Ï Á¤º¸¿¡¼ ³íÀÇµÈ Á¦ÇÑ»çÇ×À» °¡Áý´Ï´Ù. ¶ÇÇÑ, ½ºÅ°¸¶ ¹®¼ ±¸¹®ÀÌ Business Object ¼Ó¼ºÀÇ "Çʼö"¸¦ ÆÇº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.
"Çʼö"´Â XML Data Handler°¡ ¼Ó¼ºÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö¸¦ ÆÇº°ÇÏ´Â, Ä«µð³¾¸®Æ¼¿Í ¼Ó¼ºÀÌ Å°ÀÎÁö ¿©ºÎ¸¦ Æ÷ÇÔÇÏ´Â ¿ä¼ÒÀÇ Á¶ÇÕÀÔ´Ï´Ù. ¼Ó¼ºÀÌ ÇʼöÀ̸é, Çʼö ¼Ó¼º µî·Ï Á¤º¸°¡ true·Î ¼³Á¤µÇ¾î¾ß ÇÕ´Ï´Ù.
Çʼö ¼Ó¼º µî·Ï Á¤º¸ÀÇ ¼³Á¤Àº ´ÙÀ½°ú °°ÀÌ XML ¿ä¼Ò ¹× ¼Ó¼º ½ºÆå»Ó¸¸ ¾Æ´Ï¶ó Ä«µð³¾¸®Æ¼, Ű ¹× ¿ÜºÎ Ű ¼Ó¼º µî·Ï Á¤º¸ÀÇ ¼³Á¤¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
ÀÌ Ä«µð³¾¸®Æ¼´Â ¼Ó¼ºÀÌ ÇʼöÀÎÁö¿¡ ¿µÇâÀ»
ÁÝ´Ï´Ù. Ç¥ 20¿¡¼´Â
Ä«µð³¾¸®Æ¼¿Í ½ºÅ°¸¶ ¹®¼¿¡ ÀÖ´Â ¿ä¼Ò ¼±¾ðÀÇ °¡´ÉÇÑ Á¶ÇÕ¿¡ ´ëÇØ ´ë·«ÀûÀ¸·Î
¿ä¾àÇÕ´Ï´Ù.
Ç¥ 20. ½ºÅ°¸¶ ¹®¼ÀÇ Ä«µð³¾¸®Æ¼ ¹× ¡ºÇʼö¡»
½ºÅ°¸¶ ´ÜÆí ¹ß»ý | Ä«µð³¾¸®Æ¼ | Çʼö |
---|---|---|
ÁöÁ¤ ¾ÈµÊ | 1 | ¿¹ |
maxOccurs > 1 | N | ¿¹ |
maxOccurs = "unbounded" | N | ¿¹ |
minOccurs=0 | ¿µÇâ ¾øÀ½ | ¾Æ´Ï¿À |
minOccurs>1 | N | ¿¹ |
½ºÅ°¸¶ ´ÜÆí ¹ß»ý ¼Ó¼º: use | Ä«µð³¾¸®Æ¼ | Çʼö |
---|---|---|
ÁöÁ¤ ¾ÈµÊ | ¿µÇâ ¾øÀ½ | ¾Æ´Ï¿À |
use=required | ¿µÇâ ¾øÀ½ | ¿¹ |
۰¡ ÀÖ´ÂÁö°¡ ¼Ó¼ºÀÌ ÇʼöÀÎÁö¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. Ç¥ 22¿¡¼´Â id ¼Ó¼ºÀÇ °ªÀÌ ¾î¶»°Ô Business Object ¼Ó¼ºÀÇ "Çʼö"¿¡ ¿µÇâÀ» ÁÖ´ÂÁö¿¡ ´ëÇØ ´ë·«ÀûÀ¸·Î ¼³¸íÇÕ´Ï´Ù.
Ç¥ 22. ½ºÅ°¸¶ ¹®¼ÀÇ Å° ¹× "Çʼö"
½ºÅ°¸¶ ´ÜÆí ¼Ó¼º: id | Ű | Çʼö | ÁÖ¼® |
---|---|---|---|
id=ID | ¿¹ | ¾Æ´Ï¿À |
|
ÀÌ ¼½¼Ç¿¡¼´Â ½ºÅ°¸¶ ¹®¼¸¦ ±âº»À¸·Î ÇÏ´Â Business Object Á¤ÀÇÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ Çü½Ä¿¡ ´ëÇÑ ´ÙÀ½ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
XML Data Handler´Â ´ÙÀ½ À¯ÇüÀÇ Business Object Á¤ÀǸ¦ »ç¿ëÇÏ¿© ½ºÅ°¸¶ ¹®¼¿¡ Á¤ÀǵǾî ÀÖ´Â ´Ù¸¥ Á¾·ùÀÇ ·çÆ® XML ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ·¯ÇÑ À¯ÇüÀÇ Business Object Á¤ÀÇ´Â Business Object ·¹º§¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸·Î ±¸º°µË´Ï´Ù.
Ç¥ 23. Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ëÇÑ Å±×
ű×
ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ | ¼³¸í | ÀÚ¼¼ÇÑ Á¤º¸ |
---|---|---|
target_ns | ½ºÅ°¸¶ ¹®¼ÀÇ ´ë»ó À̸§ °ø°£À» ÁöÁ¤ÇÕ´Ï´Ù. | ½ºÅ°¸¶ À̸§ °ø°£ |
attr_fd | ¼Ó¼º À̸§ÀÇ ±ÔÁ¤ ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. | ±ÔÁ¤µÈ ±¸¼º¿ä¼Ò À̸§ |
elem_fd | ·ÎÄ÷Π¼±¾ðµÈ ¿ä¼Ò À̸§ÀÇ ±ÔÁ¤ ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. | ±ÔÁ¤µÈ ±¸¼º¿ä¼Ò À̸§ |
DTD¿Í ´Þ¸® ½ºÅ°¸¶ ¹®¼´Â ÃÖ¼ÒÇÑ Çϳª ÀÌ»óÀÇ À̸§ °ø°£À»
Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. À̸§ °ø°£Àº XML ¹®¼ ³»¿¡ ÀÖ´Â
¿ä¼ÒÀÇ À̸§, ¿ä¼Ò À¯Çü ¹× ¼Ó¼ºÀ» À§ÇÑ ¹®¸ÆÀ» Á¦°øÇÕ´Ï´Ù. À̸§ °ø°£Àº HTTP, FTP
¹× ´Ù¸¥ Á¾·ùÀÇ °æ·Î¸¦ Æ÷ÇÔÇÏ´Â URI(Uniform Resource Identifier)ÀÔ´Ï´Ù.
Ç¥ 24¿¡¼´Â ½ºÅ°¸¶ ¹®¼°¡
½ºÅ°¸¶ ±¸¼º¿ä¼Ò »çÀÌÀÇ ÂüÁ¶¸¦ ºÐ¼®Çϵµ·Ï ¼±¾ðÇÒ ¼ö ÀÖ´Â À̸§ °ø°£À» º¸¿©ÁÝ´Ï´Ù.
À̸§ °ø°£ | ¼³¸í | À̸§ | °øÅë Á¢µÎºÎ |
---|---|---|---|
XML ½ºÅ°¸¶ À̸§ °ø°£ | XSDL(XML Schema Definition Language)¿¡ »ç¿ëµÇ´Â ¸ðµç ±¸¼º¿ä¼Ò(¿¹: element, schema ¹× simpleType)¸¦ Á¤ÀÇÇÕ´Ï´Ù. |
http://www.w3.org/2001/ XMLSchema | xsd, xs |
XML ½ºÅ°¸¶ ÀνºÅϽº À̸§ °ø°£ | ½ºÅ°¸¶ ÀνºÅϽº¿Í
¿¬°üµÈ ³× °¡Áö ¼Ó¼º(type, nil, schemaLocation ¹×
noNamespaceSchemaLocation)À» Á¤ÀÇÇÕ´Ï´Ù. |
http://www.w3.org/2001/ XMLSchema-instance | xsi |
»ç¿ëÀÚ Á¤ÀÇ À̸§ °ø°£ |
¼±¾ðµÇ°Å³ª ±Û·Î¹ú ¼±¾ð(¿¹: element, attribute, type ¶Ç´Â group)¿¡ ÀÇÇØ Á¤ÀÇµÈ ¸ðµç ±¸¼º¿ä¼Ò¸¦ Á¤ÀÇÇÕ´Ï´Ù.
| »ç¿ëÀÚ Á¤ÀÇ | »ç¿ëÀÚ Á¤ÀÇ |
¸ðµç ½ºÅ°¸¶ ¹®¼´Â targetNamespace ÅÂ±×¿Í ÇÔ²² ±Û·Î¹ú ±¸¼º¿ä¼Ò(¿ä¼Ò, ¼Ó¼º, À¯Çü ¶Ç´Â ±×·ì)°¡ ¼ÓÇÏ´Â À̸§ °ø°£À» ½Äº°ÇÏ´Â ÇϳªÀÇ ´ë»ó À̸§ °ø°£À» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ºÅ°¸¶ ¿ä¼Ò¿¡ targetNamespace űװ¡ Æ÷ÇԵǴ °æ¿ì, XML ¹®¼¿¡ ´ëÇØ ¼±¾ðµÈ ´ë»ó À̸§ °ø°£À» ÁöÁ¤ÇÏ·Á¸é ÇØ´ç ½ºÅ°¸¶ ¹®¼¿¡ ´ëÇØ »ý¼ºµÈ °¢ Business Object Á¤ÀÇÀÇ ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ target_ns űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
target_ns=´ë»ó À̸§ °ø°£ÀÇ URI ÁÖ¼Ò
´ÙÀ½°ú °°ÀÌ ¸ðµç Business Object Á¤ÀÇ¿¡ ´ëÇØ Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ target_ns űװ¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù.
À̸§ °ø°£ Á¢µÎºÎ¸¦ Á¤ÀÇÇϱâ À§ÇÑ ÀÌ ¸ÞÄ¿´ÏÁòÀº ¹Ù²î¾úÀ¸³ª, ±âÁ¸ Business Object Á¤ÀÇ¿ÍÀÇ ¿ªÈ£È¯¼ºÀ» À§ÇØ XML Data Handler´Â °è¼Ó ÀÌ ¸ÞÄ¿´ÏÁòÀ» Áö¿øÇÕ´Ï´Ù. »õ Business Object Á¤ÀÇ´Â ÀÌ ¼½¼Ç¿¡ ¼³¸íµÈ ´ë·Î target_ns ű׸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. XML ODA´Â target_ns ű׸¦ »ç¿ëÇϵµ·Ï ¼öÁ¤µÇ¾ú½À´Ï´Ù.
¿¹¸¦ µé¾î, ±×¸² 23ÀÇ ½ºÅ°¸¶ ¹®¼´Â XML ½ºÅ°¸¶ À̸§ °ø°£(xsd Á¢µÎºÎ »ç¿ë) ¹× ´ë»ó À̸§ °ø°£(±âº» À̸§ °ø°£)À» Á¤ÀÇÇÕ´Ï´Ù.
±×¸² 23. Schema1.xsd »ùÇà ½ºÅ°¸¶ ¹®¼
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com/ns1" xmlns="http://www.ibm.com/ns1">
<xsd:complexType name="TaxInfoType"> <xsd:sequence> <xsd:element name="SSN" type="string"> </xsd:element>
<xsd:element name="State" type="string"> </xsd:element> </xsd:sequence> </xsd:complexType>
<xsd:element name="Customer"> <xsd:complexType> <xsd:sequence> <xsd:element name="TaxInfo" type="TaxInfoType"> </xsd:element>
<xsd:element name="BillTo" type="xsd:string"> </xsd:element> </xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"> </xsd:attribute>
<xsd:attribute name="ID" type="xsd:string"> </xsd:attribute> </xsd:complexType> </xsd:element> </xsd:schema>
XML ODA´Â ÀÌ ½ºÅ°¸¶ ¹®¼¿¡ ´ëÇÑ ¼¼ °¡Áö
Business Object Á¤ÀÇ
(BOPrefix_TopLevel, BOPrefix_TopLevel_Customer ¹×
BOPrefix_TopLevel_TaxInfoType)¸¦ »ý¼ºÇÕ´Ï´Ù. ¿©±â¼ BOPrefix ¹× TopLevelÀº À̵é ODA ±¸¼º µî·Ï Á¤º¸ÀÇ °ªÀÔ´Ï´Ù. ÀÌµé ¼¼ °¡Áö Business Object Á¤ÀÇ´Â ¸ðµÎ ÇØ´ç Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ ³»¿ëÀÌ µé¾î ÀÖ½À´Ï´Ù.
target_ns=http://www.ibm.com/ns1;elem_fd=unqualified;attr_fd=unqualified
ÇϳªÀÇ ½ºÅ°¸¶ ¹®¼´Â ÇϳªÀÇ ´ë»ó À̸§ °ø°£¸¸ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª import ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ´Ù¸¥ ½ºÅ°¸¶ ¹®¼ÀÇ ´ë»ó À̸§ °ø°£¿¡ Á¤ÀǵǾî ÀÖ´Â ¿ä¼Ò ¹× ¼Ó¼ºÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×¸² 24¿¡¼´Â ±×¸² 23¿¡ Á¤ÀǵǾî ÀÖ´Â Schema1.xsd ¹®¼¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ½ºÅ°¸¶ ¹®¼¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÌ ½ºÅ°¸¶ ¹®¼´Â ns2 À̸§ °ø°£À» °¡Á®¿À°í, ÀÌ À̸§ °ø°£Àº TaxInfoType º¹ÇÕ À¯Çü, BillTo ¿ä¼Ò ¹× Name ¼Ó¼ºÀ» ¼±¾ðÇÕ´Ï´Ù.
±×¸² 24. ´ë»ó À̸§ °ø°£ °¡Á®¿À±â
<?xml version "1.0" encoding="UTF-8"?> <xsd:schema smlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/ns1" xmlns="http://www.example.com/ns1" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:ns2="http://www.example.com/ns2">
<xsd:import schemaLocation="Schema2.xsd" namespace="http://www.example.com/ns2"/>
<xsd:element name="Customer2"> <xsd:complexType> <xsd:sequence> <xsd:element name="TaxInfo" type="ns2:TaxInfoType"> </xsd:element>
<xsd:element ref="ns2:BillTo"> </xsd:element> </xsd:sequence>
<xsd:attribute ref="ns2:Name"> </xsd:attribute>
<xsd:attribute name="ID" type="xsd:string"> </xsd:attribute> </xsd:complexType> </xsd:element> </xsd:schema>
·çÆ® ¿ä¼ÒÀÎ Customer2¿¡ ´ëÇÑ Business Object Á¤ÀÇ´Â ´ÙÀ½°ú °°ÀÌ TaxInfo, BillTo ¹× Name XML ±¸¼º¿ä¼Ò¸¦ ³ªÅ¸³»´Â ÇØ´ç ¼Ó¼º¿¡ ´ëÇÑ ÀÌ ´ëü À̸§ °ø°£À» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
±×¸² 25¿¡¼´Â ns2 À̸§ °ø°£¿¡ TaxInfoType, BillTo ¹× Name XML ±¸¼º¿ä¼Ò¸¦ Á¤ÀÇÇÏ´Â ½ºÅ°¸¶ ¹®¼¸¦ º¸¿©ÁÝ´Ï´Ù.
±×¸² 25. µÎ ¹øÂ° À̸§ °ø°£ Á¤ÀÇ
<?xml version "1.0" encoding="UTF-8"?> <schema smlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/ns2" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:ns2="http://www.example.com/ns2">
<complexType name="TaxInfoType"> <sequence> <element name="SSN" type="string"> </element> <element name="State" type="string"> </element> </sequence> </complexType>
<attribute name="Name" type="string" </attribute>
<complexType name="AddressType"> <sequence> <element name="Zip" type="string"> </element> <element name="Street" type="string"> </element> </sequence> </complexType>
<element name="BillTo" type="ns2:AddressType"> </element> </schema>
±×¸² 25¿¡¼´Â Customer2 ·çÆ® ¿ä¼Ò¿¡ ´ëÇÑ Business Object Á¤ÀǸ¦ º¸¿©ÁÝ´Ï´Ù.
±×¸² 26. »ùÇà ·çÆ® ¿ä¼Ò Business Object Á¤ÀÇ
[BusinessObjectDefinition] Name=TopLevel_Customer2 AppSpecificInfo=target_ns=http://www.example.com/ns1;elem_fd=qualified; attr_fd=qualified ...
[Attribute] Name=Name Type=String AppSpecificInfo=attr_name=Name;type=attribute;attr_ns=http://www.example.com/ns2 ... [End]
[Attribute] Name=ID Type=String AppSpecificInfo=attr_name=ID;type=attribute ... [End]
[Attribute] Name=schemaLocation Type=String AppSpecificInfo=attr_name=schemaLocation;type=xsischemalocation ... [End]
[Attribute] Name=TaxInfo Type=TopLevel_TaxInfoType AppSpecificInfo=elem_name=TaxInfo ... [End]
[Attribute] Name=BillTo Type=TopLevel_AddressType AppSpecificInfo=elem_name=BillTo;elem_ns=http://www.example.com/ns2 ... [End] ... [End]
XML ¹®¼¿¡¼, À̸§ °ø°£°ú ¿¬°üµÈ ±¸¼º¿ä¼ÒÀÇ À̸§Àº ´ÙÀ½°ú °°ÀÌ ±ÔÁ¤ ¶Ç´Â ±ÔÁ¤µÇÁö ¾Ê½À´Ï´Ù.
Çϳª ÀÌ»óÀÇ À̸§ °ø°£¿¡ Á¢µÎºÎ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. xmlns:prefix ű׷ΠÀ̸§ °ø°£ÀÇ Á¢µÎºÎ¸¦ ¼±¾ðÇϽʽÿÀ. ¿©±â¼ prefix´Â ¼±¾ðµÈ Á¢µÎºÎÀÔ´Ï´Ù.
ÀÌ ±¸¼º¿ä¼Ò À̸§Àº ½ºÅ°¸¶ ¹®¼ÀÇ ±¸¼º¿ä¼Ò Á¤ÀÇ¿¡ ±ÔÁ¤µË´Ï´Ù. ±¸¼º¿ä¼Ò À̸§ ¾Õ¿¡ Á¢µÎºÎ°¡ Ãß°¡µÇ±â ¶§¹®ÀÔ´Ï´Ù(prefix:componentName).
±âº» À̸§ °ø°£Àº ÇØ´ç ±¸¼º¿ä¼Ò À̸§¿¡ Á¢µÎºÎ¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â ±¸¼º¿ä¼Ò¿Í ¿¬°ü½Ãų À̸§ °ø°£À» ÁöÁ¤ÇÕ´Ï´Ù.
xmlns ű׷Π±âº» À̸§ °ø°£À» ¼±¾ðÇϽʽÿÀ.
XML Data Handler°¡ XML¿¡¼ Business Object·ÎÀÇ º¯È¯À» Á¦´ë·Î ó¸®ÇÏ·Á¸é, XML ¹®¼ ¹× ½ºÅ°¸¶ ¹®¼ÀÇ À̸§ °ø°£ÀÌ ´ÙÀ½°ú °°ÀÌ ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.
schema ¿ä¼ÒÀÇ elementFormDefault ¼Ó¼ºÀº ·ÎÄ÷Π¼±¾ðµÈ ¿ä¼Ò À̸§ÀÇ ±ÔÁ¤ ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
±âº»ÀûÀ¸·Î, ·ÎÄ÷Π¼±¾ðµÈ ¿ä¼Ò´Â ±ÔÁ¤µÇÁö ¾ÊÀ¸¸ç ±âº» À̸§ °ø°£¿¡ ¼ÓÇÕ´Ï´Ù.
elementFormDefault ¼Ó¼º °ªÀº Ç¥ 25¿¡¼Ã³·³ Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡¼ elem_fd ÅÂ±× °ªÀ» ÆÇº°ÇÕ´Ï´Ù.
elementFormDefault °ª | elem_fd ÅÂ±× °ª |
---|---|
"unqualified"(¶Ç´Â ¼Ó¼ºÀÌ ÁöÁ¤µÇÁö ¾ÊÀ½) | elem_fd=unqualified |
"qualified" | elem_fd=qualified |
¿¹¸¦ µé¾î, ±×¸² 23¿¡ ÀÖ´Â ½ºÅ°¸¶
¹®¼ÀÇ schema ¿ä¼Ò¿¡´Â
elementFormDefault ¼Ó¼ºÀÌ ¾ø½À´Ï´Ù. µû¶ó¼ ÀÌ ½ºÅ°¸¶ ¹®¼ÀÇ ¸ðµç Business Object Á¤ÀÇ¿¡ ÀÖ´Â Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸(BOPrefix_TopLevel, BOPrefix_TopLevel_Customer ¹× BOPrefix_TopLevel_TaxInfoType. ¿©±â¼ BOPrefix ¹× TopLevelÀº ÀÌ ODA ±¸¼º µî·Ï Á¤º¸ °ªÀÓ)¿¡´Â ´ÙÀ½ űװ¡ ÀÖ½À´Ï´Ù.
elem_fd=unqualified
elementFormDefault="unqualified"
°³º° XML ¿ä¼Ò¿¡ form ¼Ó¼ºÀÌ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì, ÀÌ form ¼Ó¼º °ªÀº
elementFormDefault ¼Ó¼ºÀÇ ¼³Á¤À» ´ëüÇÕ´Ï´Ù.
schema ¿ä¼ÒÀÇ elementFormDefault ¼Ó¼ºÀº ¿ä¼Ò À̸§ÀÇ ±ÔÁ¤ ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
±âº»ÀûÀ¸·Î, ¼Ó¼º À̸§Àº ±ÔÁ¤µÇÁö ¾Ê°í ÀÓÀÇÀÇ À̸§ °ø°£¿¡
¼ÓÇÏÁö ¾Ê½À´Ï´Ù.
attributeFormDefault ¼Ó¼º °ªÀº Ç¥ 26¿¡¼Ã³·³, elementFormDefault ¼Ó¼º °ªÀÌ elem_fd ÅÂ±× °ªÀ» ÆÇº°ÇÏ´Â °Í°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ÀÇ attr_fd ÅÂ±× °ªÀ» ÆÇº°ÇÕ´Ï´Ù.
attributeFormDefault °ª | elem_fd ÅÂ±× °ª |
---|---|
"unqualified"(¶Ç´Â ¼Ó¼ºÀÌ ÁöÁ¤µÇÁö ¾ÊÀ½) | attr_fd=unqualified |
"qualified" | attr_fd=qualified |
¿¹¸¦ µé¾î, ±×¸² 23¿¡ ÀÖ´Â ½ºÅ°¸¶
¹®¼ÀÇ schema ¿ä¼Ò¿¡´Â
attributeFormDefault ¼Ó¼ºÀÌ ¾ø½À´Ï´Ù. µû¶ó¼ ÀÌ ½ºÅ°¸¶ ¹®¼ÀÇ ¸ðµç Business Object Á¤ÀÇ¿¡ ÀÖ´Â Business Object ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸(BOPrefix_TopLevel, BOPrefix_TopLevel_Customer ¹× BOPrefix_TopLevel_TaxInfoType. ¿©±â¼ BOPrefix ¹× TopLevelÀº ÀÌ ODA ±¸¼º µî·Ï Á¤º¸ °ªÀÓ)¿¡´Â ´ÙÀ½ űװ¡ ÀÖ½À´Ï´Ù.
attr_fd=unqualified
attributeFormDefault="unqualified"
Business Object Á¤ÀÇÀÇ ¼Ó¼ºÀº ´ÙÀ½ XML ±¸¼º¿ä¼Ò¸¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.
Ç¥ 27¿¡¼´Â ÀÌµé ´Ù¸¥ XML ±¸¼º¿ä¼ÒÀÇ ¼Ó¼º ·¹º§ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ëÇÑ ÅÂ±× ¹× ÀÌ Å±׿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÏ´Â ÀÌ ¸Å´º¾óÀÇ ÀýÀ» ÇÔ²² º¸¿©ÁÝ´Ï´Ù.
Ç¥ 27. ¼Ó¼º ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ëÇÑ Å±×
Business Object ¼Ó¼ºÀÇ Ç¥½Ã | ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ | ÀÚ¼¼ÇÑ Á¤º¸ |
---|---|---|
XML ¿ä¼Ò |
elem_ns=¿ä¼Ò Á¤ÀÇ¿¡ ´ëÇÑ À̸§ °ø°£
| XML ¿ä¼ÒÀÇ °æ¿ì |
º¹ÇÕ À¯ÇüÀÇ XML ¿ä¼Ò | º¹ÇÕ À¯ÇüÀÇ XML ¿ä¼ÒÀÇ °æ¿ì | |
XML ¿ä¼ÒÀÇ ¼Ó¼º |
attr_ns=¼Ó¼º Á¤ÀÇ¿¡ ´ëÇÑ À̸§ °ø°£
| XML ¼Ó¼ºÀÇ °æ¿ì |
³»¿ë¿¡ Ư¼ö ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Â XML ¿ä¼Ò ¶Ç´Â ¼Ó¼º | Ư¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â XML ¿ä¼Ò ¶Ç´Â ¼Ó¼ºÀÇ °æ¿ì | |
XML ¹®¼¿¡ Ãß°¡ÇÒ ÁÖ¼® | type=comment | XML ÁÖ¼®ÀÇ °æ¿ì |
ó¸® ¸í·É¾î | type=pi | XML ó¸® ¸í·É¾îÀÇ °æ¿ì |
XML ÀνºÅϽºÀÇ schemaLocation ¶Ç´Â
noNamespaceSchemaLocation ¼Ó¼º |
| XML ½ºÅ°¸¶ À§Ä¡ÀÇ °æ¿ì |
Business Object ¼Ó¼ºÀÌ XML ¿ä¼Ò¸¦ ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ¿¬°üµÈ ¿ä¼Ò¸¦ ½Äº°Çϱâ À§ÇÑ ´ÙÀ½ elem_name űװ¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
elem_name=XML ¿ä¼Ò À̸§
XML ¿ä¼Ò À̸§Àº Ư¼ö ¹®ÀÚ(¿¹: ¸¶Ä§Ç¥ ¹× ÇÏÀÌÇÂ(-))¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Business Object ¼Ó¼ºÀÇ À̸§Àº ÀÌ·¯ÇÑ Æ¯¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼ XML ¿ä¼ÒÀÇ À̸§À» elem_name ű׿¡ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. XML ODA´Â Business Object ¼Ó¼ºÀÇ À̸§À» ÁöÁ¤Çϱâ À§ÇØ XML ¿ä¼Ò À̸§¿¡¼ ¸ðµç Ư¼ö ¹®ÀÚ¸¦ Á¦°ÅÇÕ´Ï´Ù.
´ÙÀ½°ú °°Àº °æ¿ì Business Object ¼Ó¼ºÀÌ XML ¿ä¼Ò¸¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·± °æ¿ì, Business Object ¼Ó¼ºÀº µ¥ÀÌÅÍ À¯ÇüÀÌ XML º¹ÇÕ À¯ÇüÀ» ³ªÅ¸³»´Â Business Object Á¤ÀÇÀÎ º¹ÇÕ ¼Ó¼ºÀÔ´Ï´Ù.
elem_name ű×(¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ÀÖÀ½)¿¡´Â XML ¿ä¼Ò(¶Ç´Â º¹ÇÕ À¯Çü)ÀÇ À̸§ÀÌ ÀÖ½À´Ï´Ù.
ÀÌ·± °æ¿ì, Business Object ¼Ó¼ºÀº String À¯ÇüÀÇ ´Ü¼ø ¼Ó¼ºÀÔ´Ï´Ù.
ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â elem_tag(º¹ÇÕ À¯Çü¿¡ XML ¿ä¼Ò À̸§ Æ÷ÇÔ) ¹× type=pcdata űװ¡ Æ÷ÇԵ˴ϴÙ. ÀÚ¼¼ÇÑ Á¤º¸´Â º¹ÇÕ À¯ÇüÀÇ XML ¿ä¼ÒÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
XML ¿ä¼Ò¸¦ ³ªÅ¸³»´Â Business Object ¼Ó¼º ¶ÇÇÑ ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ ű׸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
XML ¿ä¼Ò¿¡¼ form="qualified" ¼Ó¼ºÀ» ÁöÁ¤ÇÑ °æ¿ì, °ª elem_fd°¡ form ¼Ó¼ºÀÇ °ªÀ¸·Î ¼³Á¤µË´Ï´Ù.
¿¹¸¦ µé¾î, ·ÎÄ÷Π¼±¾ðµÈ XML ¿ä¼Ò°¡ ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ °®´Â °ÍÀ¸·Î °¡Á¤ÇϽʽÿÀ.
<xsd:element ref="Name" form="qualified"></xsd:element>
¿¬°üµÈ ÇØ´ç Business Object ¼Ó¼ºÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» °®°Ô µË´Ï´Ù.
[Attribute] Name=ns2:Name Type=String AppSpecificInfo=elem_name=Name;elem_fd=qualified; ...
XML ¿ä¼Ò°¡ form ¼Ó¼ºÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì, elementFormDefault ¼Ó¼º(schema ¿ä¼Ò¿¡ ÀÖÀ½) °ªÀÌ ¿ä¼Ò À̸§ÀÇ ±ÔÁ¤ ¿©ºÎ¸¦ ÆÇº°ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â ±ÔÁ¤µÈ ±¸¼º¿ä¼Ò À̸§À» ÂüÁ¶ÇϽʽÿÀ.
¿¹¸¦ µé¾î, º¹ÇÕ À¯ÇüÀÇ XML ¿ä¼Ò°¡ ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ °®´Â °ÍÀ¸·Î °¡Á¤ÇϽʽÿÀ.
<xsd:element ref="ns2:BillTo"></xsd:element>
¿¬°üµÈ ÇØ´ç Business Object ¼Ó¼ºÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» °®°Ô µË´Ï´Ù.
[Attribute] Name=BillTo Type=String AppSpecificInfo=elem_name=BillTo;elem_ns=http:/www.imb.com/ns2; ...
µÎ ¹øÂ° À̸§ °ø°£¿¡ Á¤ÀǵǾî ÀÖ´Â XML ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â Àüü ½ºÅ°¸¶ ¹®¼ ¿¹´Â ½ºÅ°¸¶ À̸§ °ø°£À» ÂüÁ¶ÇϽʽÿÀ.
Business Object Á¤Àǰ¡ XML º¹ÇÕ À¯Çü(complexType)À» ³ªÅ¸³»´Â °æ¿ì, ÀÌ º¹ÇÕ À¯ÇüÀÇ ³»¿ëÀº ÀÌ Business Object Á¤ÀÇ¿¡¼ ´Ü¼ø(String) ¼Ó¼ºÀ¸·Î Ç¥½ÃµË´Ï´Ù.
ÀÌ Business Object ¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸°¡ ¿ä¼Ò À̸§À» ½Äº°ÇÏ·Á¸é ¹Ýµå½Ã elem_name ű׸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
XML º¹ÇÕ À¯ÇüÀÇ °æ¿ì, Business Object ¼Ó¼ºÀº Ç¥ 28¿¡¼Ã³·³ º¹ÇÕ À¯Çü ³»¿ëÀ» ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.
º¹ÇÕ À¯Çü ¿ä¼ÒÀÇ À¯Çü | ¼³¸í | ¼Ó¼º ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ |
---|---|---|
´Ü¼ø XML ¿ä¼Ò | ¹®ÀÚ ³»¿ë¸¸ ÀÖ´Â ¿ä¼Ò. ´Ù¸¥ ¾î¶°ÇÑ ¿ä¼Ò ¶Ç´Â XML ¼Ó¼ºµµ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù. º¹ÇÕ À¯Çü¿¡¸¸ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù. | type=pcdata |
´Ü¼ø ³»¿ë | ¹®ÀÚ µ¥ÀÌÅ͸¸(¿ä¼Ò°¡ ¾Æ´Ô) | type=pcdata;notag |
¼Ó¼ºÀÌ ÀÖ´Â XML ¿ä¼Ò | ¹®ÀÚ µ¥ÀÌÅÍ ¹× ÇÏÀ§ ¿ä¼Ò¿Í ¼Ó¼ºÀÇ Á¶ÇÕÀÌ ¸ðµÎ ÀÖ´Â ¿ä¼Ò |
¾øÀ½
ÀÌ·¯ÇÑ À¯ÇüÀÇ XML ¿ä¼Ò´Â ´ÜÀÏ Business Object ¼Ó¼ºÀ¸·Î¼°¡
¾Æ´Ñ Business Object Á¤ÀǷΠǥ½ÃµÇ¾î¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â
½ºÅ°¸¶ ¹®¼¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â Business Object Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.
|
type=pcdata ű׸¦ »ç¿ëÇÏ´Â ÇÑ ¿¹·Î, ´Ü¼ø XML ¿ä¼Ò¸¸ ÀÖ´Â TaxInfoType º¹ÇÕ À¯Çü¿¡ ´ëÇÑ Á¤Àǰ¡ ±×¸² 23ÀÇ ½ºÅ°¸¶ ¹®¼¿¡ µé¾î ÀÖ½À´Ï´Ù.
TaxInfoType XML º¹ÇÕ À¯Çü¿¡ ´ëÇÑ Business Object Á¤ÀÇ(BOPrefix_TopLevel_TaxInfoType. ¿©±â¼ BOPrefix ¹× TopLevelÀº °¢°¢ À̸§À» ÁöÁ¤ÇÑ ODA ±¸¼º µî·Ï Á¤º¸ °ªÀÓ)¿¡´Â µÎ °¡Áö ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. °¢ ¼Ó¼ºÀº ±×¸² 27¿¡ Ç¥½ÃµÈ ´ë·Î ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸ÀÇ ¿¬°üµÈ XML ºÎ¼Ó ¿ä¼Ò À̸§À» °®°Ô µË´Ï´Ù. ÀÌ º¹ÇÕ À¯Çü¿¡´Â ´Ü¼ø XML ¿ä¼Ò¸¸ ÀÖÀ¸¹Ç·Î(ÇÏÀ§ ¿ä¼Ò ¶Ç´Â ¼Ó¼ºÀÌ ¾øÀ½), ÇØ´ç Business Object ¼Ó¼º¿¡µµ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ type=pcdata űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
±×¸² 27. ´Ü¼ø ¿ä¼Ò°¡ ÀÖ´Â XML ¿ä¼Ò À¯Çü¿¡ ´ëÇÑ »ùÇà Business Object Á¤ÀÇ
[BusinessObjectDefinition] Name=BOPrefix_TopLevel_TaxInfoType AppSpecificInfo=target_ns=;elem_fd=unqualified;attr_fd=unqualified ... [End]
[Attribute] Name=SSN Type=String AppSpecificInfo=elem_name=SSN;type=pcdata ... [End]
[Attribute] Name=State Type=String AppSpecificInfo=elem_name=SSN;type=pcdata ... [End]
type=pcdata ÅÂ±×¿Í °áÇÕÇØ¼ notag Ű¿öµå¸¦ »ç¿ëÇÏ´Â ÇÑ ¿¹·Î, Price¶ó´Â XML ¿ä¼Ò°¡ ´Ü¼ø ³»¿ë¸¸À» °®´Â Áï, ¹®ÀÚ µ¥ÀÌÅ͸¸À» Æ÷ÇÔÇÏ´Â PriceType º¹ÇÕ À¯ÇüÀ̶ó°í °¡Á¤ÇϽʽÿÀ.
ÀÌ °æ¿ì, simpleContent ¿ä¼Ò°¡ Currency ¼Ó¼ºÀ» Á¤ÀÇÇß°í, Price¿¡ ´ëÇÑ µ¥ÀÌÅͰ¡ ÇÊ¿äÇÕ´Ï´Ù.
<xsd:element name="Price" type="PriceType"> <xsd:complexType name="PriceType"> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="Currency" type="xsd:NMTOKEN"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </element>
PriceType º¹ÇÕ À¯Çü¿¡ ´ëÇÑ Business Object Á¤ÀÇ¿¡´Â ´Ü¼ø ³»¿ë°ú ¿¬°üµÈ ¹®ÀÚ µ¥ÀÌÅ͸¦ º¸À¯ÇÏ´Â ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¼Ó¼º¿¡ ´ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â ´ÙÀ½ÀÌ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
type=pcdata;notag
notag Ű¿öµå´Â XML Data Handler°¡ Áߺ¹ ½ÃÀÛ Å±×(Çϳª´Â Business Object Á¤ÀÇ¿ë, ´Ù¸¥ Çϳª´Â ¼Ó¼º¿ë)¸¦ »ý¼ºÇÏÁö ¸øÇϵµ·Ï ÇÕ´Ï´Ù.
XML Data Handler´Â ÇØ´ç ¼Ó¼º¿¡ ´ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ notag°¡ Ç¥½ÃµÇÁö ¾ÊÀ¸¸é ¸ðµç Business Object ¼Ó¼º¿¡ ´ëÇØ ½ÃÀÛ ¹× ³¡ ű׸¦ ÀÛ¼ºÇÕ´Ï´Ù.
Price ÇÏÀ§ Business Object Á¤ÀÇ´Â ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµË´Ï´Ù.
[BusinessObjectDefinition] Name = Price AppSpecificInfo = [Attribute] Name = Currency Type = String AppSpecificInfo = attr_name=Currency;type=attribute; ... [End] [Attribute] Name = Price Type = String AppSpecificInfo = elem_name=Price;type=pcdata;notag ... [End]
Price µ¥ÀÌÅ͸¦ º¸À¯Çϱâ À§ÇÑ Business Object ¼Ó¼ºÀÌ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù. Price µ¥ÀÌÅÍÀÇ ¼Ó¼ºÀº ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡¼ Data Handler°¡ ¼Ó¼º¿¡ ´ëÇØ ½ÃÀÛ ¹× ³¡ ű׸¦ ÀÛ¼ºÇÏÁö ¾Êµµ·Ï notag¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì, Data Handler´Â Price µ¥ÀÌÅÍ¿¡ ´ëÇØ »õ XML ¿ä¼Ò¸¦ »ý¼ºÇÏÁö ¾Ê°í »óÀ§ ¿ä¼Ò¿¡¸¸ µ¥ÀÌÅ͸¦ Ãß°¡ÇÕ´Ï´Ù.
¶ÇÇÑ Currency ¼Ó¼º °ªÀ» º¸À¯Çϱâ À§ÇØ Á¸ÀçÇØ¾ß ÇÏ´Â ´Ù¸¥ ¼Ó¼ºÀÌ Business Object Á¤ÀÇ¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ´Ü¼ø ³»¿ëÀÌ ¼Ó¼ºÀ» Æ÷ÇÔÇϸé, Business Object Á¤Àǵµ °¢ XML ¼Ó¼ºÀ» À§ÇÑ ¼Ó¼ºÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â type=attribute űװ¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â XML ¼Ó¼ºÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
Business Object Á¤Àǰ¡ XML À¯Çü ¶Ç´Â º¹ÇÕ À¯ÇüÀ» ³ªÅ¸³»´Â °æ¿ì, ½ºÅ°¸¶ ¹®¼°¡ ÀÌ À¯Çü¿¡ ´ëÇØ ¼±¾ðÇÏ´Â ¼Ó¼ºÀº Business Object Á¤ÀÇ¿¡¼ ¼Ó¼ºÀ¸·Î ³ªÅ¸³³´Ï´Ù. Business Object ¼Ó¼ºÀÌ XML ¿ä¼ÒÀÇ ¼Ó¼ºÀ» ³ªÅ¸³»´Â °æ¿ì, ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸´Â ¹Ýµå½Ã ´ÙÀ½ ű׸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
XML ¼Ó¼ºÀ» ³ªÅ¸³»´Â Business Object ¼Ó¼º ¶ÇÇÑ ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ ű׸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
XML ¼Ó¼º¿¡¼ form="unqualified"¿¡ ´ëÇØ
form="qualified" ¼Ó¼ºÀ» ÁöÁ¤ÇÑ °æ¿ì, attr_fd°¡ "form" ¼Ó¼º¿¡ ÁöÁ¤µÈ °ªÀ» °®½À´Ï´Ù.
¿¹¸¦ µé¾î, XML ¼Ó¼ºÀÌ ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ °®´Â °ÍÀ¸·Î °¡Á¤ÇϽʽÿÀ.
<xsd:attribute ref="Name" form="qualified"></xsd:attribute>
¿¬°üµÈ ÇØ´ç Business Object ¼Ó¼ºÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» °®°Ô µË´Ï´Ù.
[Attribute] Name=ns2:Name Type=String AppSpecificInfo=attr_name=Name;type=attribute;attr_fd=qualified ...
XML ¼Ó¼ºÀÌ form ¼Ó¼ºÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì, attributeFormDefault ¼Ó¼º(schema ¿ä¼Ò¿¡ ÀÖÀ½) °ªÀÌ ¼Ó¼º À̸§ÀÇ ±ÔÁ¤ ¿©ºÎ¸¦ ÆÇº°ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â ±ÔÁ¤µÈ ±¸¼º¿ä¼Ò À̸§À» ÂüÁ¶ÇϽʽÿÀ.
ÀÌ Å±״ ½ºÅ°¸¶ ¹®¼°¡ ¿©·¯ À̸§ °ø°£À» »ç¿ëÇÒ ¶§ ÇÊ¿äÇÕ´Ï´Ù. ÇÑ ½ºÅ°¸¶ ¹®¼¿¡¼ ÂüÁ¶µÇ´Â XML ¼Ó¼ºÀÌ ´Ù¸¥ ½ºÅ°¸¶ ¹®¼ÀÇ ´ë»ó À̸§ °ø°£¿¡ Á¤ÀǵǾî ÀÖ´Â °æ¿ì, ÀÌ ÅÂ±×´Â ÇØ´ç À̸§ °ø°£ÀÇ À̸§À» ³ª¿ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, XML ¼Ó¼ºÀÌ ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ °®´Â °ÍÀ¸·Î °¡Á¤ÇϽʽÿÀ.
<xsd:attribute ref="ns2:Name"></xsd:attribute>
¿¬°üµÈ ÇØ´ç Business Object ¼Ó¼ºÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» °®°Ô µË´Ï´Ù.
[Attribute] Name=Name Type=String AppSpecificInfo=attr_name=Name;attr_ns=http://www.example.com/ns2; type=attribute ...
µÎ ¹øÂ° À̸§ °ø°£¿¡ Á¤ÀǵǾî ÀÖ´Â XML ¼Ó¼ºÀ» Æ÷ÇÔÇÏ´Â Àüü ½ºÅ°¸¶ ¹®¼ ¿¹´Â ½ºÅ°¸¶ À̸§ °ø°£À» ÂüÁ¶ÇϽʽÿÀ.
³»¿ë¿¡ Ư¼ö ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Â XML ¿ä¼Ò ¶Ç´Â XML ¼Ó¼ºÀ» ³ªÅ¸³»´Â Business Object ¼Ó¼º¿¡´Â XML Data Handler¿¡ ÀÇÇÑ À̽ºÄÉÀÌÇÁ 󸮰¡ ÇÊ¿äÇÕ´Ï´Ù.
Data Handler¿¡ À̽ºÄÉÀÌÇÁ 󸮸¦ ¼öÇàÇØ¾ß ÇÔÀ» ¾Ë¸®·Á¸é, Business Object ¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ űװ¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
escape=true
½ºÅ°¸¶ ¹®¼¸¦ »ç¿ëÇÏ´Â XML ¹®¼¸¦ À§ÇØ À̽ºÄÉÀÌÇÁ 󸮸¦ ÁöÁ¤ÇÏ´Â ´Ü°è´Â DTD¸¦ »ç¿ëÇÏ¿© ½ºÅ°¸¶¸¦ ¼³¸íÇÏ´Â XML ¹®¼¸¦ À§ÇØ À̽ºÄÉÀÌÇÁ 󸮸¦ ÁöÁ¤ÇÏ´Â °Í°ú µ¿ÀÏÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â Ư¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â XML ¿ä¼Ò ¶Ç´Â ¼Ó¼ºÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
XML Data Handler°¡ Business Object¸¦ XML ¹®¼·Î º¯È¯ÇÏ´Â °æ¿ì, ¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡ ´ÙÀ½ ű׸¦ Æ÷ÇÔ½ÃÄÑ XML ¹®¼¿¡ XML ÁÖ¼®À» Ãß°¡Çϵµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
type=comment
XML ODA´Â XML ÁÖ¼®¿¡ ´ëÇÑ Business Object ¼Ó¼ºÀ» ÀÚµ¿À¸·Î »ý¼ºÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº ¼öµ¿À¸·Î Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù. ½ºÅ°¸¶ ¹®¼¿¡¼ ¼³¸íÇÏ´Â ´ë·Î XML ¹®¼¿¡ ÁÖ¼®À» Ãß°¡ÇÏ´Â ´Ü°è´Â DTD°¡ ¼³¸íÇÏ´Â XML ¹®¼¿¡ ´ëÇÑ ÁÖ¼®À» Á¤ÀÇÇÏ´Â ´Ü°è¿Í µ¿ÀÏÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â XML ÁÖ¼®ÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
XML ¹®¼¿¡ XML ó¸® ¸í·É¾î°¡ ÀÖ´Â °æ¿ì, ½ºÅ°¸¶ ¹®¼¿Í ¿¬°üµÈ ÀϺΠBusiness Object Á¤ÀÇ¿¡ ó¸® °ªÀ» º¸À¯ÇÏ´Â ¼Ó¼ºÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ ¼Ó¼ºÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¿¡´Â ´ÙÀ½ type űװ¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
type=pi
¿¹¸¦ µé¾î, XML Data Handler°¡ XML ¹®¼¸¦ Business Object·Î º¯È¯ÇÏ´Â °æ¿ì, XML ¹öÀü¿¡ XMLDeclarationÀ̶ó´Â ÃÖ»óÀ§ ·¹º§ Business Object Á¤ÀÇÀÇ Æ¯¼ö ¼Ó¼ºÀ» ºÎ¿©ÇÕ´Ï´Ù. ±×¸² 19¿¡ ÀÖ´ÂÀÇ ÃÖ»óÀ§ ·¹º§ Business Object¿¡¼´Â TopLevel_Customer Business Object Á¤ÀÇÀÇ XMLDeclaration ¼Ó¼ºÀ» º¸¿©ÁÝ´Ï´Ù. type=pi ű׿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â XML ó¸® ¸í·É¾îÀÇ °æ¿ì¸¦ ÂüÁ¶ÇϽʽÿÀ.
½ºÅ°¸¶ ¹®¼¸¦ À§ÇØ ½ºÅ°¸¶ À§Ä¡¸¦ ÂüÁ¶ÇÏ´Â XML ¹®¼´Â ´ÙÀ½°ú °°Àº Á¤º¸¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ ¼Ó¼ºÀº À̸§ °ø°£ÀÇ À̸§À» ½ºÅ°¸¶ À§Ä¡¿¡ ¿¬°ü½Ãŵ´Ï´Ù. ½ºÅ°¸¶ ¹®¼°¡ ´ë»ó À̸§ °ø°£À» »ç¿ëÇϸé, ÀÌ ´ë»ó À̸§ °ø°£ÀÇ À̸§ÀÌ xsi:schemaLocation ¼Ó¼º(XML ¹®¼¿¡¼)ÀÌ ÁöÁ¤ÇÏ´Â À̸§ °ø°£°ú ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ ¼Ó¼ºÀº ½ºÅ°¸¶ À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù. ½ºÅ°¸¶ ¹®¼°¡ ´ë»ó À̸§ °ø°£À» »ç¿ëÇÏÁö ¾ÊÀ¸¸é, XML ¹®¼°¡ noNamespaceSchemaLocation ¼Ó¼ºÀ» Æ÷ÇÔÇÏ¿© ÇϳªÀÇ ½ºÅ°¸¶ À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù.
¿¹¸¦ µé¸é, XML ¹®¼°¡ ±×¸² 28¿¡ ÀÖ´Â À̸§ °ø°£ ¼±¾ðÀ» °¡Áø´Ù°í °¡Á¤ÇϽʽÿÀ.
±×¸² 28. XML ¹®¼ÀÇ »ùÇà ½ºÅ°¸¶ À§Ä¡ Á¤ÀÇ
<order xmlns="http://sampleDoc.org.ord" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com/order order.xsd"> ... /<order>
½ºÅ°¸¶ ¹®¼´Â ´ë»ó À̸§ °ø°£À» Á¤ÀÇÇÏ´Â ´ÙÀ½ À̸§ °ø°£ ¼±¾ðÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.com/order" targetNamespace="http://www.example.com/order">
ÀÌ XML ¹®¼¸¦ ³ªÅ¸³»´Â Business Object°¡ schemaLocation ¼Ó¼º¿¡ Á¤º¸¸¦ º¸À¯ÇÏ·Á¸é, ÇØ´ç Business Object Á¤Àǰ¡ ÀÌ ½ºÅ°¸¶ À§Ä¡ Á¤º¸¿¡ ´ëÇÑ ¼Ó¼ºÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ·çÆ® ¿ä¼Ò Business Object Á¤ÀÇ¿¡¼, ÀÌ ½ºÅ°¸¶ À§Ä¡ Á¤º¸´Â ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµË´Ï´Ù.
ÀÌ XML ¹®¼¸¦ ³ªÅ¸³»´Â ½ºÅ°¸¶ ¹®¼ÀÇ ·çÆ® ¿ä¼Ò Business Object Á¤ÀÇ¿¡´Â ½ºÅ°¸¶ À§Ä¡¿¡ ´ëÇÑ ´ÙÀ½ ¼Ó¼ºÀÌ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
[Attribute] Name=schemaLocation Type=String AppSpecificInfo=type=xsischemalocation;
XML ODA´Â ÇØ´ç DoctypeorSchemaLocation ODA ±¸¼º µî·Ï Á¤º¸ÀÇ °ª¿¡ µû¶ó ÃÖ»óÀ§ ·¹º§ Business Object¿¡ schemaLocation ¶Ç´Â noNamespaceSchemaLocation ¼Ó¼ºÀ» »ý¼ºÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÕ´Ï´Ù.
½ºÅ°¸¶ ¹®¼´Â XML ¹®¼ÀÇ ³»¿ëÀ» ¼³¸íÇϰí Á¦ÇÑÇÕ´Ï´Ù. ±×·¯¹Ç·Î ½ºÅ°¸¶ ¹®¼´Â Business Object Á¤ÀÇ¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ¾ò´Â µ¥ ¸Å¿ì À¯¿ëÇÕ´Ï´Ù. ½ºÅ°¸¶ ¹®¼¿¡ ÀÖ´Â ±¸Á¶ Á¤º¸¸¦ Business Object Á¤ÀÇ·Î º¯È¯Çϱâ À§ÇØ XML Object Discovery Agent(ODA)¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. XML ODA¿¡ ´ëÇÑ Á¤º¸´Â XML ODA¸¦ »ç¿ëÇÏ¿© Business Object Á¤ÀÇ ÀÛ¼ºÀ» ÂüÁ¶ÇϽʽÿÀ.
XML ODA´Â ½ºÅ°¸¶ÀÇ ¿ä¼Ò ¼±¾ðÀ» Business Object Á¤ÀÇÀÇ ¼Ó¼ºÀ¸·Î ¸ÊÇÎÇÕ´Ï´Ù. Business Object ¼Ó¼º À¯ÇüÀº XML ¿ä¼Ò ¼±¾ð¿¡ ÁöÁ¤µÈ À¯Çü¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ´Ü¼ø À¯ÇüÀº String Java À¯ÇüÀ¸·Î ¸ÊÇε˴ϴÙ. º¹ÇÕ À¯ÇüÀº Business Object Á¤ÀÇ·Î ¸ÊÇε˴ϴÙ.
XML ODA´Â ´ÙÀ½°ú °°Àº ½ºÅ°¸¶ ±¸Á¶¸¦ Áö¿øÇÕ´Ï´Ù.
·±Å¸ÀÓ¿¡¼ »ç¿ëÀÚ´Â µ¥ÀÌÅÍÀÇ Áö½ÄÀ» ±â¹ÝÀ¸·Î ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¸¦ Ãß°¡ÇÏ¿© ÀÌ ¼Ó¼ºÀ» ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù.
XML ODA°¡ »ç¿ëÀÚ¿¡°Ô ÀÌ·¯ÇÑ ¼Ó¼ºÀÇ À̸§À» ³ÖÀ¸¶ó°í ÇÁ·ÒÇÁÆ®¸¦ Ç¥½ÃÇÑ ÈÄ, Business Object Á¤ÀÇ¿¡¼ ¼Ó¼ºÀ» ´Ü¼ø ¼Ó¼º¿¡ ¸ÊÇÎÇÕ´Ï´Ù(±×¸² 51 ÂüÁ¶). ODA´Â anyAttribute ¿ÍÀϵå Ä«µåÀÇ ¸ðµç namespace ¹× processContents ¼Ó¼ºÀ» ¹«½ÃÇÕ´Ï´Ù.
XML ODA´Â ¼ø¼ ±×·ì¿¡ ÀÖ´Â ÇÏÀ§ ¿ä¼Ò¸¦ Business Object Á¤ÀÇ ³»ÀÇ ¼Ó¼º¿¡ ¸ÊÇÎÇÕ´Ï´Ù. À̰ÍÀÌ XML type ¼Ó¼ºÀ¸·ÎºÎÅÍ ÀÌ ¼Ó¼ºÀÇ À¯ÇüÀ» ÆÇº°ÇÕ´Ï´Ù.
XML ODA´Â ¼±ÅûçÇ× ±×·ì¿¡ ÀÖ´Â ÇÏÀ§ ¿ä¼Ò¸¦ ·¦ÆÛ Business Object Á¤ÀÇ ³»ÀÇ ¼Ó¼º¿¡ ¸ÊÇÎÇÕ´Ï´Ù. »óÀ§ Business Object Á¤ÀÇ¿¡´Â À¯ÇüÀÌ ·¦ÆÛ Business ObjectÀÎ ´ÙÁß Ä«µð³¾¸®Æ¼¸¦ °¡Áö´Â ´ÜÀÏ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ½ºÅ°¸¶ ¹®¼¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ·¦ÆÛ Business Object Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.
»óÀ§ Business Object Á¤ÀÇ¿¡´Â À¯ÇüÀÌ ·¦ÆÛ Business ObjectÀÎ ´ÙÁß Ä«µð³¾¸®Æ¼¸¦ °¡Áö´Â ´ÜÀÏ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ½ºÅ°¸¶ ¹®¼¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ·¦ÆÛ Business Object Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.
XML ODA´Â Æ÷Ç﵃ ½ºÅ°¸¶ ¹®¼·ÎÀÇ Àüü °æ·Î¸¦ Á¦°øÇÒ °ÍÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ÀÌ Àüü °æ·Î´Â ÆÄÀÏ ½Ã½ºÅÛ¿¡¼ Æ÷ÇÔµÈ ½ºÅ°¸¶ ¹®¼ÀÇ ½ÇÁ¦ À§Ä¡À̸ç, URI°¡ ¾Æ´Õ´Ï´Ù. ½ºÅ°¸¶ ¹®¼ À§Ä¡¸¦ XML ODA µî·Ï Á¤º¸ÀÎ FileNameÀ¸·Î ÁöÁ¤Çϸé, Æ÷ÇÔµÈ ¸ðµç ½ºÅ°¸¶ ¹®¼°¡ µ¿ÀÏÇÑ À§Ä¡¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
»ç¿ëÀÚ°¡ TypeSubstitutionÀ» ODAÀÇ µå·Ó ´Ù¿î¿¡¼ True·Î ¼³Á¤Çϸé, XML ODA´Â ASI "typeSub=true"ÀÇ Ãß°¡ ·¦ÆÛ ¿ÀºêÁ§Æ®¿Í ±âº» À¯Çü ¹× ÆÄ»ýµÈ À¯ÇüÀ» ·¦ÆÛ ¿ÀºêÁ§Æ®ÀÇ ÇÏÀ§ ¿ÀºêÁ§Æ®·Î Ç¥½ÃÇÏ´Â Business Object¸¦ »ý¼ºÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ½ºÅ°¸¶ ¹®¼¸¦ ±â¹ÝÀ¸·Î ÇÑ Business Object Á¤ÀÇÀÇ À¯Çü ´ëü¸¦ ÂüÁ¶ÇϽʽÿÀ.
XML ODA´Â ´ëºÎºÐÀÇ ½ºÅ°¸¶ ¹®¼¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ´ÙÀ½ ½ºÅ°¸¶ ¹®¼ ±¸Á¶´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.