Web(웹) Study/XML & XSL xml을 양식화하기 알 수 없는 사용자 2008. 1. 18. 09:35 소스코드<html><xml id="starcraft" src="starc2.xml"></xml><script language="JavaScript"><!-- var star = starcraft;var cell_cnt; // 행 카운터 function getchildren(node) { // 노드검색-출력 var x = node.childNodes; var z = x.length; if (z != 0) { for (var i=0; i<z; i++) { if ( (x(i).nodeType == 1) && (x(i).nodeName == "종족") ) { document.write("<tr bgcolor='#ccdffe' align='center'><td>"); document.write(x(i).attributes.getNamedItem("이름").nodeValue); document.write("</td>"); cell_cnt = 0; } if ( (x(i).nodeType == 3) && (x(i).nodeName == "#text") ) { document.write("<td>" + x(i).nodeValue + "</td>"); cell_cnt++; if (cell_cnt == 4) document.write("</tr>"); } getchildren(x(i)); } }} // --></script> <body><table border=1 style="font-size:9pt"> <tr bgcolor="#aabbdd" align="center"> <td width=80> 이름 </td> <td width=80> 인구지원 </td> <td width=80> 기지지원 </td> <td width=80> 미네랄 </td> <td width=80> 가스 </td> </tr> <script language="JavaScript"><!-- getchildren(starcraft);// --></script> </table></body></html> starc2.xml _데이터가 포함된 xml파일입니다.<?xml version="1.0" encoding="ks_c_5601-1987" standalone="no"?><!DOCTYPE 스타크 SYSTEM "starc2.dtd"><스타크><종족 이름="프로토스"> <인구 지원="파일런">132</인구> <인구 지원="넥서스">12</인구> <미네랄>942</미네랄> <가스>532</가스></종족> <종족 이름="테란"> <인구 지원="서플라이디폿">96</인구> <인구 지원="커멘드센터">22</인구> <미네랄>753</미네랄> <가스>424</가스></종족> <종족 이름="저그"> <인구 지원="오버로드">185</인구> <인구 지원="해처리">6</인구> <미네랄>943</미네랄> <가스>563</가스></종족></스타크> starc2.dtd xml에서 사용될 태그를 선언한 파일입니다.<?xml version="1.0" encoding="ks_c_5601-1987"?> <!ELEMENT 스타크 (종족*)> <!ELEMENT 종족 (인구+, 미네랄*, 가스?)><!ATTLIST 종족 이름 CDATA #REQUIRED> <!ELEMENT 인구 (#PCDATA)><!ATTLIST 인구 지원 CDATA #REQUIRED> <!ELEMENT 미네랄 (#PCDATA)><!ELEMENT 가스 (#PCDATA)>