JavaRush /Java Blog /Random-KO /์ž๋ฐ”์˜ XML: ๊ทธ๊ฒŒ ๋ญ์ฃ ?

์ž๋ฐ”์˜ XML: ๊ทธ๊ฒŒ ๋ญ์ฃ ?

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” XML์ด๋ผ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํ˜•์‹์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•œ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์—…ํ•  ๋•Œ ๊ฑฐ์˜ ํ™•์‹คํ•˜๊ฒŒ XML ๊ด€๋ จ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ํ˜•์‹์€ Java ๊ฐœ๋ฐœ์˜ ๊ฑฐ์˜ ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(์ •ํ™•ํžˆ ๊ทธ ์ด์œ ๋Š” ์•„๋ž˜์—์„œ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค). ๋”ฐ๋ผ์„œ ๊ฐ•์˜๋ฅผ "๋Œ€๊ฐ์„ "์œผ๋กœ ์ฝ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๊ฒƒ์„ ์ฒ ์ €ํ•˜๊ฒŒ ์ดํ•ดํ•˜๋Š” ๋™์‹œ์— ์ถ”๊ฐ€ ๋ฌธํ—Œ/๋งํฌ๋ฅผ ์—ฐ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์€ ํ™•์‹คํžˆ ๋‚ญ๋น„๋˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ "๋ฌด์—‡"๊ณผ "์™œ"๋ผ๋Š” ๊ฐ„๋‹จํ•œ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

XML์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

XML์€ eXtensible Markup Language๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ด๋ฏธ ๋งˆํฌ์—… ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์— ์ต์ˆ™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” HTML์— ๋Œ€ํ•ด ๋“ค์–ด๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. XML์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€ - 1HTML๊ณผ XML์€ ๋ชจ์–‘๋„ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.
HTML 1
<h1>title</h1>
<p>paragraph</p>
<p>paragraph</p>
XML 1
<headline>title</headline>
<paragraph>paragraph</paragraph>
<paragraph>paragraph</paragraph>
HTML 2
<h1>title</h1>
<p>paragraph</p>
<p>paragraph</p>
XML2
<chief>title</chief>
<paragraph>paragraph</paragraph>
<paragraph>paragraph</paragraph>
์ฆ‰, XML์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

XML์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

XML์€ ์›๋ž˜ ์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์ „์†ก์„ ๋ณด๋‹ค ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์— ์„ฑ๊ณต์ ์œผ๋กœ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ์‚ฌ๋žŒ๊ณผ ์ปดํ“จํ„ฐ ๋ชจ๋‘ ์‰ฝ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด xml ํŒŒ์ผ์ด ์„ค๋ช…ํ•˜๋Š” ๋‚ด์šฉ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
<?xml version="1.0" encoding="UTF-8"?>
<book>
   <title>Harry Potter and the Philosopherโ€™s Stone</title>
   <author>J. K. Rowling</author>
   <year>1997</year>
</book>
์ปดํ“จํ„ฐ๋„ ์ด ํ˜•์‹์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๋‘˜์งธ, ๋ฐ์ดํ„ฐ๋Š” ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜๋ฏ€๋กœ ํ•œ ์ปดํ“จํ„ฐ์—์„œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ์ „์†กํ•  ๋•Œ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. XML์€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ์„ค๋ช… ์–ธ์–ด๋ผ๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค . XML์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•œ ํ›„์—๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก/์ˆ˜์‹ /์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ(์˜ˆ: Java)๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

XML์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?

์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค. ๊บพ์‡  ๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
<book>
</book>
์—ฌ๋Š” ํƒœ๊ทธ์™€ ๋‹ซ๋Š” ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ซ๋Š” ๊ฒƒ์—๋Š” ์ถ”๊ฐ€ ๊ธฐํ˜ธ " /"๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์œ„์˜ ์˜ˆ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์—ฌ๋Š” ํƒœ๊ทธ์—๋Š” ํ•ด๋‹นํ•˜๋Š” ๋‹ซ๋Š” ํƒœ๊ทธ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚˜๋Š” ์œ„์น˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํƒœ๊ทธ๋Š” ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ฑ… ์˜ˆ์—์„œ <book> ํƒœ๊ทธ์—๋Š” <title> , <author> ๋ฐ <year> ์˜ 3๊ฐœ ํ•˜์œ„ ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด๋Š” ํ•œ ์ˆ˜์ค€์œผ๋กœ ์ œํ•œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์œ„ ํƒœ๊ทธ๋Š” ์ž์ฒด ํ•˜์œ„ ํƒœ๊ทธ ๋“ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋””์ž์ธ์„ ํƒœ๊ทธ ํŠธ๋ฆฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž๋™์ฐจ ๋Œ€๋ฆฌ์ ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ํฌํ•จ๋œ XML ํŒŒ์ผ์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
<?xml version="1.0" encoding="UTF-8"?>
<carstore>
   <car category="truck">
       <model lang="en">Scania R 770</model>
       <year>2005</year>
       <price currency="US dollar">200000.00</price>
   </car>
   <car category="sedan">
       <title lang="en">Ford Focus</title>
       <year>2012</year>
       <price currency="US dollar">20000.00</price>
   </car>
   <car category="sport">
       <title lang="en">Ferrari 360 Spider</title>
       <year>2018</year>
       <price currency="US dollar">150000.00</price>
   </car>
</carstore>
์—ฌ๊ธฐ์—๋Š” ์ตœ์ƒ์œ„ ํƒœ๊ทธ์ธ <carstore> ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . ๋ฃจํŠธ ํƒœ๊ทธ๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. <carstore>์—๋Š” <car>๋ผ๋Š” ํ•˜์œ„ ํƒœ๊ทธ๊ฐ€ ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค. <car>์—๋Š” <model>, <year>, <price>๋ผ๋Š” 3๊ฐœ์˜ ํ•˜์œ„ ํƒœ๊ทธ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํƒœ๊ทธ์—๋Š” ์†์„ฑ(์ถ”๊ฐ€ ์ค‘์š”ํ•œ ์ •๋ณด)์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ <model> ํƒœ๊ทธ์—๋Š” ๋ชจ๋ธ ์ด๋ฆ„์ด ์ž‘์„ฑ๋˜๋Š” ์–ธ์–ด์ธ "lang" ์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
<model lang="en">Scania R 770</model>
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ œ๋ชฉ์ด ์˜์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <price> ํƒœ๊ทธ์—๋Š” "currency" ์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
<price currency="US dollar">150000.00</price>
์ด๋Ÿฐ ์‹์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ž๋™์ฐจ ๊ฐ€๊ฒฉ์ด ๋ฏธ๊ตญ ๋‹ฌ๋Ÿฌ๋กœ ๋˜์–ด ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ XML์—๋Š” "์ž์ฒด ์„ค๋ช…" ๊ตฌ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค . ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. XML ๋ฒ„์ „๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜๋Š” ์ธ์ฝ”๋”ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ค„์„ ํŒŒ์ผ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. " ํ”„๋กค๋กœ๊ทธ " ๋ผ๊ณ  ํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
<?xml version="1.0" encoding="UTF-8"?>
์šฐ๋ฆฌ๋Š” XML ๋ฒ„์ „ 1.0๊ณผ UTF-8 ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•„์ˆ˜๋Š” ์•„๋‹ˆ์ง€๋งŒ, ์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ผ์—์„œ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋œ ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. XML์ด "ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋งˆํฌ์—… ์–ธ์–ด"๋ฅผ ์˜๋ฏธํ•œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ๋Š”๋ฐ "ํ™•์žฅ ๊ฐ€๋Šฅ"์ด๋ž€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ์ด๋Š” ๊ฐœ์ฒด์™€ ํŒŒ์ผ์˜ ์ƒˆ ๋ฒ„์ „์„ ๋งŒ๋“œ๋Š” ๋ฐ ์™„๋ฒฝํ•˜๊ฒŒ ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ๋Š” ์ž๋™์ฐจ ์‡ผ๋ฃธ์—์„œ ์˜คํ† ๋ฐ”์ด๋„ ํŒ๋งคํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค! ๋™์‹œ์— ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” <carstore>์˜ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „(์˜คํ† ๋ฐ”์ด๊ฐ€ ์—†๋Š” ๋ฒ„์ „)๊ณผ ์ƒˆ ๋ฒ„์ „์„ ๋ชจ๋‘ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
<?xml version="1.0" encoding="UTF-8"?>
<carstore>
   <car category="truck">
       <model lang="en">Scania R 770</model>
       <year>2005</year>
       <price currency="US dollar">200000.00</price>
   </car>
   <car category="sedan">
       <title lang="en">Ford Focus</title>
       <year>2012</year>
       <price currency="US dollar">20000.00</price>
   </car>
   <car category="sport">
       <title lang="en">Ferrari 360 Spider</title>
       <year>2018</year>
       <price currency="US dollar">150000.00</price>
   </car>
</carstore>
์ƒˆ๋กญ๊ฒŒ ํ™•์žฅ๋œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
<?xml version="1.0" encoding="UTF-8"?>
<carstore>
   <car category="truck">
       <model lang="en">Scania R 770</model>
       <year>2005</year>
       <price currency="US dollar">200000.00</price>
   </car>
   <car category="sedan">
       <title lang="en">Ford Focus</title>
       <year>2012</year>
       <price currency="US dollar">20000.00</price>
   </car>
   <car category="sport">
       <title lang="en">Ferrari 360 Spider</title>
       <year>2018</year>
       <price currency="US dollar">150000.00</price>
   </car>
   <motorcycle>
       <title lang="en">Yamaha YZF-R6</title>
       <year>2018</year>
       <price currency="Russian Ruble">1000000.00</price>
       <owner>Vasia</owner>
   </motorcycle>
   <motorcycle>
       <title lang="en">Harley Davidson Sportster 1200</title>
       <year>2011</year>
       <price currency="Euro">15000.00</price>
       <owner>Petia</owner>
   </motorcycle>
</carstore>
๊ทธ๋ž˜์„œ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜คํ† ๋ฐ”์ด์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํŒŒ์ผ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. :) ๋™์‹œ์— ์˜คํ† ๋ฐ”์ด์— ๋Œ€ํ•ด ์ž๋™์ฐจ์™€ ๋™์ผํ•œ ํ•˜์œ„ ํƒœ๊ทธ๋ฅผ ์„ค์ •ํ•  ํ•„์š”๋Š” ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. ์ž๋™์ฐจ์™€ ๋‹ฌ๋ฆฌ ์˜คํ† ๋ฐ”์ด์—๋Š” <owner> ์š”์†Œ, ์ฆ‰ ์†Œ์œ ์ž๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ์ด๋Š” ์ปดํ“จํ„ฐ(๋˜๋Š” ์‚ฌ๋žŒ)๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๊ฒƒ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

XML๊ณผ HTML์˜ ์ฐจ์ด์ 

์šฐ๋ฆฌ๋Š” ์ด๋ฏธ XML๊ณผ HTML์ด ์™ธ๊ด€์ƒ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ทธ๋“ค์ด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ์•„๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, ๊ทธ๋“ค์€ ๋‹ค๋ฅธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. HTML - ์›นํŽ˜์ด์ง€๋ฅผ ๋งˆํฌ์—…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ HTML์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€œ๋ฉ”๋‰ด๋Š” ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ €๋Ÿฐ ๋ฒ„ํŠผ์ด ์žˆ์–ด์•ผ ํ•ด์š”.โ€ ์ฆ‰, HTML์˜ ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. XML - ์ธ๊ฐ„๊ณผ ์ปดํ“จํ„ฐ์— ํŽธ๋ฆฌํ•œ ํ˜•์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์ „์†กํ•ฉ๋‹ˆ๋‹ค . ์ด ํ˜•์‹์—๋Š” ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด์˜ ์ฝ”๋“œ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‘˜์งธ, ์ฃผ์š” ๊ธฐ์ˆ ์  ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. HTML ํƒœ๊ทธ๋Š” ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ œ๋ชฉ(์˜ˆ: ํŽ˜์ด์ง€ ์‹œ์ž‘ ๋ถ€๋ถ„์— ํฐ ๋น„๋ฌธ)์„ ๋งŒ๋“ค๋ ค๋ฉด HTML์—์„œ <h1></h1> ํƒœ๊ทธ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(๋” ์ž‘์€ ์ œ๋ชฉ์˜ ๊ฒฝ์šฐ - <h2></h2>, < h3></h3>). ๋‹ค๋ฅธ ์ œ๋ชฉ์„ ๊ฐ€์ง„ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTML์—์„œ ์ œ๋ชฉ์„ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. XML์€ ๋ฏธ๋ฆฌ ์ •์˜๋œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. <header>, <title>, <idontknow2121> ๋“ฑ ์›ํ•˜๋Š” ์ด๋ฆ„์„ ํƒœ๊ทธ์— ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐˆ๋“ฑ ํ•ด๊ฒฐ

XML์ด ์ œ๊ณตํ•˜๋Š” ์ž์œ ๋กœ์›€์€ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋™์ผํ•œ ์—”ํ„ฐํ‹ฐ(์˜ˆ: ์ž๋™์ฐจ)๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค๋ฅธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ๊ณ„๋ฅผ ์„ค๋ช…ํ•˜๋Š” XML ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ์‚ฌ์ „์— ์„œ๋กœ ๋™์˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด์ œ XML์—๋Š” ์‹ค์ œ ์ž๋™์ฐจ์˜ ๋ฐ์ดํ„ฐ ์™ธ์—๋„ ์žฅ๋‚œ๊ฐ ๋ชจ๋ธ์˜ ๋ฐ์ดํ„ฐ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค! ๊ฒŒ๋‹ค๊ฐ€ ๊ทธ๋“ค์€ ๋™์ผํ•œ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ XML ํŒŒ์ผ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์žฅ๋‚œ๊ฐ ๋ชจ๋ธ๊ณผ ์‹ค์ œ ์ž๋™์ฐจ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
<?xml version="1.0" encoding="UTF-8"?>
<carstore>
   <car category="truck">
       <model lang="en">Scania R 770</model>
       <year>2005</year>
       <price currency="US dollar">200000.00</price>
   </car>
   <car category="sedan">
       <title lang="en">Ford Focus</title>
       <year>2012</year>
       <price currency="US dollar">100.00</price>
   </car>
</carstore>
์—ฌ๊ธฐ์„œ๋Š” ์ ‘๋‘์‚ฌ์™€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์žฅ๋‚œ๊ฐ ์ž๋™์ฐจ์™€ ์‹ค์ œ ์ž๋™์ฐจ(๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์‹ค์ œ ํ”„๋กœํ† ํƒ€์ž…์˜ ์žฅ๋‚œ๊ฐ)๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด "์‹ค์ œ"์™€ "์žฅ๋‚œ๊ฐ"์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ ‘๋‘์‚ฌ๋ฅผ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.
<real:car category="truck">
   <model lang="en">Scania R 770</model>
   <year>2005</year>
   <price currency="US dollar">200000.00</price>
</real:car>
<toy:car category="sedan">
   <title lang="en">Ford Focus</title>
   <year>2012</year>
   <price currency="US dollar">100.00</price>
</toy:car>
์ด์ œ ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์€ ์—”ํ„ฐํ‹ฐ๋ฅผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์žฅ๋‚œ๊ฐ ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์€ ๊ฒƒ์€ ๋ฌด์—‡์ด๋“  ์žฅ๋‚œ๊ฐ์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค :) ํ•˜์ง€๋งŒ ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ฐ ์ ‘๋‘์‚ฌ๋ฅผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธ€์Ž„, ์‚ฌ์‹ค "๋“ฑ๋ก"์€ ๊ฐ•ํ•œ ๋‹จ์–ด์ž…๋‹ˆ๋‹ค :) ๊ฐ๊ฐ์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค์—๋Š” ์งง์€ ์ด๋ฆ„( Cat)๊ณผ ๋ชจ๋“  ํŒจํ‚ค์ง€์˜ ์ „์ฒด ์ด๋ฆ„( zoo.animals.Cat) ์ด ์žˆ์Šต๋‹ˆ๋‹ค . ๊ณ ์œ ํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ URI๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค . ๋•Œ๋•Œ๋กœ ์ธํ„ฐ๋„ท ์ฃผ์†Œ๊ฐ€ ์—ฌ๊ธฐ์—์„œ ๋Œ€์ฒด๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ ์ด ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ๊ธฐ๋Šฅ๊ณผ ๋ชฉ์ ์ด ์ž์„ธํžˆ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ์œ ํšจํ•œ ์ธํ„ฐ๋„ท ์ฃผ์†Œ์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” URI์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
<?xml version="1.0" encoding="UTF-8"?>
<carstore xmlns:real="http://testproject.developersgroup1.companyname/department2/namespaces/real"
         xmlns:toy="http://testproject.developersgroup1.companyname/department2/namespaces/toy">
<real:car category="truck">
   <model lang="en">Scania R 770</model>
   <year>2005</year>
   <price currency="US dollar">200000.00</price>
</real:car>
<toy:car category="sedan">
   <title lang="en">Ford Focus</title>
   <year>2012</year>
   <price currency="US dollar">100.00</price>
</toy:car>
</carstore>
๋ฌผ๋ก , ์ธํ„ฐ๋„ท ์ฃผ์†Œ http://testproject.developersgroup1.companyname/department2/namespaces/real ์—๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ ์šฉํ•œ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. "department2" ๋ถ€์„œ์˜ ๊ฐœ๋ฐœ์ž ๊ทธ๋ฃน "developersgroup1"์ด ์ƒ์„ฑ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. "์‹ค์ œ" ๋„ค์ž„์ŠคํŽ˜์ด์Šค. ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ์ด๋ฆ„๊ณผ์˜ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” ์–ด๋””๋กœ ๊ฐ€์•ผ ํ• ์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ์ด ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์„ค๋ช…์ด ํฌํ•จ๋œ ์‹ค์ œ ์ธํ„ฐ๋„ท ์ฃผ์†Œ๊ฐ€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ๊ณ ์œ  ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€๊ธฐ์—…์ด๊ณ  ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์ „ ์„ธ๊ณ„ ์ˆ˜๋ฐฑ๋งŒ ๋ช…์˜ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. Stackoverflow ์— ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ† ๋ก ์ด ์žˆ์Šต๋‹ˆ๋‹ค . ์›์น™์ ์œผ๋กœ URI๋ฅผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์—„๊ฒฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž„์˜์˜ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
xmlns:real="nvjneasiognipni4435t9i4gpojrmeg"
๊ทธ๋Ÿฌ๋‚˜ URI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

๊ธฐ๋ณธ XML ํ‘œ์ค€

XML ํ‘œ์ค€์€ xml ํŒŒ์ผ์— ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ™•์žฅ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. XML์—๋Š” ๋งŽ์€ ํ‘œ์ค€์ด ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ‘œ์ค€๋งŒ ์‚ดํŽด๋ณด๊ณ  ๊ฐ€์žฅ ์œ ๋ช…ํ•œ XML ํ‘œ์ค€ ์ค‘ ํ•˜๋‚˜์ธ AJAX๊ฐ€ ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์›นํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ ๋„ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๋ฉ‹์ง„๋ฐ? :) ์ด ๊ธฐ์ˆ ์„ ์—ฌ๊ธฐ ์—์„œ ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . XSLT - XML โ€‹โ€‹ํ…์ŠคํŠธ๋ฅผ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด XSLT๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด XML์„ HTML๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด XML์˜ ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ XSLT๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ์ œํ•œ์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๋‹ค์Œ์€ ์ž‘๋™ ๋ฐฉ์‹์„ ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—… ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋œ ์ƒŒ๋“œ๋ฐ•์Šค์ž…๋‹ˆ๋‹ค. :) XML DOM - XML โ€‹โ€‹ํŒŒ์ผ์—์„œ ๊ฐœ๋ณ„ ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๋ณ€๊ฒฝํ•˜๊ณ , ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž‘์€ ์˜ˆ์ž…๋‹ˆ๋‹ค. books.xml ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค:
<bookstore>
   <book category="cooking">
       <title lang="en">Everyday Italian</title>
       <author>Giada De Laurentiis</author>
       <year>2005</year>
       <price>30.00</price>
   </book>
   <book category="children">
       <title lang="en">Harry Potter</title>
       <author>J K. Rowling</author>
       <year>2005</year>
       <price>29.99</price>
   </book>
</bookstore>
๊ทธ ์•ˆ์— ์ฑ…์ด ๋‘ ๊ถŒ ์žˆ์–ด์š”. ์ฑ…์—๋Š” ์ œ๋ชฉ(<์ œ๋ชฉ>)๊ณผ ๊ฐ™์€ ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ XML ํŒŒ์ผ์—์„œ ๋ชจ๋“  ์ฑ… ์ œ๋ชฉ์„ ๊ฐ€์ ธ์™€์„œ ์ฒซ ๋ฒˆ์งธ ์ œ๋ชฉ์„ ์ฝ˜์†”์— ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
  myFunction(this);
  }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
  document.getElementById("demo").innerHTML =
  xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
}
</script>

</body>
</html>
๋‹ค์‹œ ํ•œ ๋ฒˆ ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์˜ˆ์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. DTD ( "๋ฌธ์„œ ์œ ํ˜• ์ •์˜") - XML โ€‹โ€‹ํŒŒ์ผ์˜ ์ผ๋ถ€ ์—”ํ„ฐํ‹ฐ์— ๋Œ€ํ•ด ํ—ˆ์šฉ๋˜๋Š” ์š”์†Œ ๋ชฉ๋ก์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ๋Š” ์„œ์  ์›น โ€‹โ€‹์‚ฌ์ดํŠธ์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ๊ฐœ๋ฐœ ํŒ€์€ book ์š”์†Œ์˜ ๊ฒฝ์šฐ ์ œ๋ชฉ, ์ €์ž ๋ฐ ์—ฐ๋„ ์†์„ฑ๋งŒ XML ํŒŒ์ผ์— ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ถ€์ฃผ์˜๋กœ๋ถ€ํ„ฐ ์ž์‹ ์„ ์–ด๋–ป๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„์ฃผ ์‰ฝ๊ฒŒ!
<?xml version="1.0"?>
<!DOCTYPE book [
       <!ELEMENT book (title,author,year)>
       <!ELEMENT title (#PCDATA)>
       <!ELEMENT author (#PCDATA)>
       <!ELEMENT year (#PCDATA)>
       ]>

<book>
   <title>The Lord of The Rings</title>
   <author>John R.R. Tolkien</author>
   <year>1954</year>
</book>
์—ฌ๊ธฐ์„œ๋Š” <book>์— ๋Œ€ํ•œ ์œ ํšจํ•œ ์†์„ฑ ๋ชฉ๋ก์„ ์ •์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ฆ‰์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค!
<book>
   <title>The Lord of The Rings</title>
   <author>John R.R. Tolkien</author>
   <year>1954</year>
   <mainhero>Frodo Baggins</mainhero>
</book>
์˜ค๋ฅ˜! โ€œ์—ฌ๊ธฐ์—์„œ๋Š” ์š”์†Œ mainhero๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.โ€ ๋‹ค๋ฅธ ๋งŽ์€ XML ํ‘œ์ค€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  WC3 ์›น์‚ฌ์ดํŠธ ("์ค‘์š” XML ํ‘œ์ค€" ์„น์…˜) ์—์„œ ์ฝ”๋“œ๋ฅผ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ XML์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๊ฑฐ๊ธฐ์—์„œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :) ์ž, ์šฐ๋ฆฌ ๊ฐ•์˜๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ž‘์—…์œผ๋กœ ๋Œ์•„๊ฐˆ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค! :) ๋˜ ๋ด์š”!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION