소스코드
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파일입니다.
<종족 이름="테란"> <인구 지원="서플라이디폿">96</인구> <인구 지원="커멘드센터">22</인구> <미네랄>753</미네랄> <가스>424</가스></종족>
<종족 이름="저그"> <인구 지원="오버로드">185</인구> <인구 지원="해처리">6</인구> <미네랄>943</미네랄> <가스>563</가스></종족></스타크>
starc2.dtd xml에서 사용될 태그를 선언한 파일입니다.
<!ELEMENT 스타크 (종족*)>
<!ELEMENT 종족 (인구+, 미네랄*, 가스?)><!ATTLIST 종족 이름 CDATA #REQUIRED>
<!ELEMENT 인구 (#PCDATA)><!ATTLIST 인구 지원 CDATA #REQUIRED>
<!ELEMENT 미네랄 (#PCDATA)><!ELEMENT 가스 (#PCDATA)>