์ตœ๊ณ ์˜ XML E4X ํŠœํ† ๋ฆฌ์–ผ 2024๋…„, ์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” E4X ์˜ˆ,์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ XML,E4X๋Š” ECMAScript๋ฅผ (JavaScript)๋ฅผ ํ‘œ์ค€,E4X๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค,์˜ˆ,E4X๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ,๋ธŒ๋ผ์šฐ์ € ์ง€์›,E4X ๋ฏธ๋ž˜,๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

XML E4X

E4X ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋Š” XML์— ๋Œ€ํ•œ ์ง์ ‘ ์ง€์›์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


E4X ์˜ˆ

var employees=
<employees>
<person>
<name>Tove</name>
<age>32</age>
</person>
<person>
<name>Jani</name>
<age>26</age>
</person>
</employees>;

document.write(employees.person.(name == "Tove").age);

์ด ์˜ˆ๋Š” ํŒŒ์ด์–ด ํญ์Šค์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค!

ยป์‹œ๋„



์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ XML

E4X๋Š” ๊ณต์‹ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€ XML์— ๋Œ€ํ•œ ์ง์ ‘ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

E4X๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ ์งœ ๋˜๋Š” Array ๊ฐ์ฒด ๋ณ€์ˆ˜ ์„ ์–ธ XML ๊ฐœ์ฒด ๋ณ€์ˆ˜์— ์˜ํ•ด ์„ ์–ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :

var x = new XML()

var y = new Date()

var z = new Array()

E4X๋Š” ECMAScript๋ฅผ (JavaScript)๋ฅผ ํ‘œ์ค€

ECMAScript๋ฅผ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์˜ ๊ณต์‹ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ECMA-262 (์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ 1.3) 1999 ๋…„ 12 ์›” ํ‘œ์ค€ํ™”๋˜์—ˆ๋‹ค.

E4X๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํ™•์žฅ XML์— ๋Œ€ํ•œ ์ง์ ‘ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 2004 ๋…„ 6 ์›” ECMA-357 (E4X)์˜ ํ‘œ์ค€ํ™”.

(1961 ๋…„ ์„ค๋ฆฝ) ECMA ์กฐ์ง, ์ •๋ณด ํ†ต์‹  ๊ธฐ์ˆ  (ICT) ๋ฐ ์†Œ๋น„์ž ๊ฐ€์ „ (CE) ํ‘œ์ค€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ECMA ํ‘œ์ค€์€ ์„ค๋ฆฝ :

  • ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ
  • C # ์–ธ์–ด
  • ๊ตญ์ œ ๋ฌธ์ž ์„ธํŠธ
  • CD
  • ์ž๊ธฐ ํ…Œ์ดํ”„
  • ๋ฐ์ดํ„ฐ ์••์ถ•
  • ๋ฐ์ดํ„ฐ ํ†ต์‹ 
  • ๋“ฑ๋“ฑ ko.

E4X๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค

๋‹ค์Œ์€ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ € ์ธ์Šคํ„ด์Šค, ์ธ์Šคํ„ด์Šค๊ฐ€ XML ํŒŒ์„œ์— ๊ธฐ์กด XML ๋ฌธ์„œ ( "note.xml")๋ฅผ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ๋ฐ ๋ฉ”์‹œ์ง€ ์„ค๋ช…์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค :

์˜ˆ

var xmlDoc;
//code for Internet Explorer
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("note.xml");
displaymessage();
}
// code for Mozilla, Firefox, etc.
else (document.implementation && document.implementation.createDocument)
{
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
xmlDoc.onload=displaymessage;
}

function displaymessage()
{
document.write(xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue);
}

ยป์‹œ๋„

E4X๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

๋‹ค์Œ์˜ ์˜ˆ๋Š” ์œ„์˜ ์˜ˆ์™€ ๋™์ผํ•˜์ง€๋งŒ, E4X ์‚ฌ์šฉ :

var xmlDoc=new XML();
xmlDoc.load("note.xml");
document.write(xmlDoc.body);

๋” ๊ฐ„๋‹จํ•œ, ๊ทธ๋ ‡์ง€?


๋ธŒ๋ผ์šฐ์ € ์ง€์›

ํŒŒ์ด์–ด ํญ์Šค๋Š” ์œ ์ผํ•œ E4X ๋” ๋‚˜์€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์˜คํŽ˜๋ผ, ํฌ๋กฌ์ด๋‚˜์‚ฌํŒŒ๋ฆฌ์ž…๋‹ˆ๋‹คE4X ์ง€์›๋˜์ง€์•Š์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€Internet Explorer์˜ ์ง•ํ›„ E4X๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


E4X ๋ฏธ๋ž˜

E4X ๋„๋ฆฌ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€ ์ œ๊ณต ์–ด์ฉŒ๋ฉด ๋„ˆ๋ฌด ์‹ค์šฉ์ ์ธ ๊ธฐ๋Šฅ์€ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์— ํฌํ•จ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค :

  • ์ „์ฒด XML ์ฒ˜๋ฆฌ๋ฅผ ๋“ค์–ด, ๋‹น์‹ ์€ ๋˜ํ•œ ๋ฐฐ์šธ ํ•„์š”๊ฐ€ XML์˜ DOM ๊ณผ XPath๋ฅผ
  • ์•ก์„ธ์Šค ๋Œ€ํ•œ XMLHttpRequests๋ฅผ ๋“ค์–ด, JSON์ด ์„ ํ˜ธํ•˜๋Š” ํ˜•์‹์ž…๋‹ˆ๋‹ค.
  • ๊ฐ„๋‹จํ•œ ๋ฌธ์„œ ์ฒ˜๋ฆฌ์˜ ๊ฒฝ์šฐ, JQuery์™€ ์„ ํƒ์„ ์‰ฝ๊ฒŒ.

XML E4X
10/30