XML이란?
XML은 eXtensible Markup Language의 약자로 확장 가능한 마크업 언어이다.
XML은 HTML 과 SGML의 한계를 극복하기 위한 대안으로 출현되었다.
XML을 사용하면 공유 가능한 방식으로 데이터를 정의하고 저장할 수 있습니다. XML은 웹 사이트, 데이터베이스 및 타사 애플리케이션과 같은 컴퓨터 시스템 간의 정보 교환을 지원합니다. 사전 정의된 규칙을 사용하면 수신자가 이러한 규칙을 사용하여 데이터를 효율적으로 정확하게 읽을 수 있으므로 모든 네트워크에서 데이터를 XML 파일로 손쉽게 전송할 수 있습니다.
**마크업 언어란 데이터에 대해 추가적인 정보를 표시하는 언어이며 태그와 요소, 속성으로 이루어진다.
DTD란 태그를 설명하는 데이터
DOCTYPE
<?xml version="1.0" endocing="EUC-KR" standalone="yes"?>
standalone="yes"
- 다른 파일에 의존하고 있지 않음
- 외부 파일의 요소, 그림, 개체 등을 참조하고 있지 않음
standalone="no"
- 다른 파일에 의존하고 있을 수 있음
- Default 값
예제
<?xml version="1.0" encoding="euc-kr"?>
<?xml-stylesheet type="text/xsl" href="student.xsl"?>
<!-- href 속성에는 자신의 xsl 문서 명을 쓰세요 -->
<!-- View에서 Browser view 로 확인, 먼저 익스플로러 6설치 -->
<학생정보>
<학생>
<학번>20001001</학번>
<이름>이순신</이름>
<나이>30</나이>
<점수>90</점수>
</학생>
<학생>
<학번>20002002</학번>
<이름>홍길동</이름>
<나이>25</나이>
<점수>89</점수>
</학생>
</학생정보>
<?xml version="1.0" encoding="euc-kr"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="euc-kr"/>
<xsl:template match="/">
<html>
<body bgcolor="navy">
<b>
<font size="4" color="white" face="서울들국화">
<xsl:for-each select="학생정보/학생">
<hr color="yellow"/>
<p>학번 : <xsl:value-of select="학번"/></p>
<p>이름 : <xsl:value-of select="이름"/></p>
<p>나이 : <xsl:value-of select="나이"/></p>
<p>점수 : <xsl:value-of select="점수"/></p>
</xsl:for-each>
<p>점수 합 : <xsl:value-of select="sum(학생정보/학생/점수)"/></p>
</font></b>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
DTD란?
DTD란 XML 문서의 구조를 명시적으로 정의한것이다. 즉, 태그를 정의한다.
Valid XML을 만들때 DTD를 작성해야한다.
Valid XML이란 유효한 XML을 말하며 Well formed XML & DTD의 구조화 규칙을 준수하는 XML이다.
내부 DTD
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE 이달의베스트셀러 [
<!ELEMENT 이달의베스트셀러 (베스트셀러)>
<!ELEMENT 베스트셀러 (분야, 종류, 제목, 저자, 출판사)>
<!ELEMENT 분야 (#PCDATA)>
<!ELEMENT 종류 (#PCDATA)>
<!ELEMENT 제목 (#PCDATA)>
<!ELEMENT 저자 (#PCDATA)>
<!ELEMENT 출판사 (#PCDATA)>
]>
<이달의베스트셀러>
<베스트셀러>
<분야>경제, 경영</분야>
<종류>금융, 증권</종류>
<제목>부자 아빠, 가난한 아빠</제목>
<저자>로버트 기요사키</저자>
<출판사>황금가지</출판사>
</베스트셀러>
</이달의베스트셀러>
외부 DTD
<?xml version="1.0" encoding="euc-kr"?>
<!ELEMENT 이달의베스트셀러 (베스트셀러)>
<!ELEMENT 베스트셀러 (분야, 종류, 제목, 저자, 출판사)>
<!ELEMENT 분야 (#PCDATA)>
<!ELEMENT 종류 (#PCDATA)>
<!ELEMENT 제목 (#PCDATA)>
<!ELEMENT 저자 (#PCDATA)>
<!ELEMENT 출판사 (#PCDATA)>
<?xml version="1.0" encoding=“euc-kr"?>
<!DOCTYPE 이달의베스트셀러 SYSTEM "bestseller.dtd">
<이달의베스트셀러>
<베스트셀러>
<분야>경제, 경영</분야>
<종류>금융, 증권</종류>
<제목>부자 아빠, 가난한 아빠</제목>
<저자>로버트 기요사키</저자>
<출판사>황금가지</출판사>
</베스트셀러>
</이달의베스트셀러>
반응형