본문 바로가기

XML

XML

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">
<이달의베스트셀러>
  <베스트셀러>
    <분야>경제, 경영</분야>
    <종류>금융, 증권</종류>
    <제목>부자 아빠, 가난한 아빠</제목>
    <저자>로버트 기요사키</저자>
    <출판사>황금가지</출판사>
  </베스트셀러>
</이달의베스트셀러>
반응형