XML(1)

Daniel·2022년 9월 20일
0

XML

목록 보기
1/1
post-thumbnail

XML

XML (Extensible Markup Language)

정보 저장 + 구조 기술의 명세서이다. 사용자 정의 ML을 정의하는 규칙의 집합이다.

XML은 메타 언어이다. 메타 언어란 마크업 언어를 개발하기 위한 언어이다. 즉 XML은 마크업 언어를 개발하기 위한 언어이다.

마크업

문서구조를 정의 하거나 표현하기 위해 정의한 부가 정보이다.

문서 구성요소

  1. 내용 : 문서의 본문 내용
  2. 구조 : 문서의 구성 정보
  3. 스타일 : 문서를 표현하기 위한 정보

마크업 표현이 프로그램마다 다르면 호환성이 떨어짐

SGML, HTML, XML

  • SGML : 정보표현을 위한 기능만 채택
  • HTMl : 정보표현을 위한 한계 극복
  • XML : SGML + HTML의 장점을 합침

HTML의 단점

  • 사용할 수 있는 태그가 제한적이다.
  • 태그 내용이 어떤 의미의 데이터를 포함하는지 알 수 없다.
  • 구조화된 정보를 표현하고 검색하기 어렵다.
  • 문서 유효성 검증이 어렵다.

html은 정보 전달용도로 사용 불가능하다 XML은 쉽고 빠르게 전달이 가능하다.

XML문서의 적용 분야

  • 이기종 시스템 정보 교환 분야
  • 웹 서비스 분야
  • 프로그램 개발에서 UI부분 담당

XML의 문법

XML 선언부

<?XML version="1.0" encoding="euc-kr" standalone="yes" ?>

주석

XML의 주석 처리는 다음과 같이 처리한다.

<! -- 내용 -->

요소

요소의 구성

요소는 최상위 요소, 요소 속성, 요소등이 존재한다.

최상위 요소

최상위 요소는 XML문서의 가장 바깥에 있다. 이러한 요소는

요소 속성

요소는 속성을 가질 수 있는데 요소의 속성은 다음과 같이 표현한다.

요소의 구성

요소는 시작태그, 요소내용, 종료태그로 이루어진다.

예시

시작태그 / 요소내용 / 종료태그
<element>text</element>

시작태그

시작태그는 태그의 시작을 의미한다.

요소내용

요소내용은 태그 내부에 텍스트를 의미한다.

종료태그

종료태그는 시작 태그와 함께 사용되며 끝을 의미한다.

XML의 잘못된 표현과 속성 선언시 주의사항

기본적으로 XML은 HTML과 관련성이 있기 때문에 표현 방법또한 많이 비슷하다.

XML의 잘못된 표현

  • XML 문서의 본체에는 최소 1개 이상의 최상위 태그를 필요로 한다.
  • 시작 태그과 종료태그가 쌍으로 존재해야 한다.
  • 다른요소의 시작태그와 종료태그와 겹치지 말아야한다. 또한 요소의 이름은 공백없는 문자열이여야 한다.

속성 선언시 주의사항

  • 속성은 반드시 속성값을 가지고 있어야 한다.
  • 속성값은 ' 혹은 "을 사용하여 표현해야 한다.
  • 한 요소에 같은 속성을 여러번 선언할 수 없다.
  • 이름에 공백을 포함시키면 안된다.

XML Namespace

XML Namespace의 등장배경

XML의 자유로운 태그정의로 여러 중복태그가 발생하게 된다. 이러한 중복을 방지하기 위해 XML Namespace이 탄생 하였으며 네임스페이스는 요소명과 속성명을 정확하게 인식하는 개념을 제공하게 되었다. 즉 XML Namespace는 이름 공간의 중복을 방지하기 위하여 생겼다.

  • 요소의 이름 충돌방지 방법
    요소의 이름에 접두사를 붙이는 방법이다. 클래스 단위로 묶어 같은 이름의 함수를 피하는 방법과 비슷하다.

    • URI 형태
    • URL 형태
    • 네임스페이스의 이름을 URL 형태로 만드는 이유는 중복을 방지, 고유한 이름을 가지게 하기 위함이다.

네임스페이스 선언

네임스페이스 선언은 XMLns, XMLns: 을 사용한다. 네임스페이스이름과 그 이름을 대신하여 사용할 접두사와 연관 짓는 것을 의미한다.

기본 네임스페이스

기본 네임스페이스는 접두사를 포함하지 않는 모든 요소들이 기본적으로 속하는 네임스페이스를 의미한다. 요소에 XMLns속성을 사용하의 네임스페이스를 선언하고 하위요소에는 자동적으로 상위 요소에서 선언한 네임스페이스가 적용된다. XML문서중 기본 네임스페이스로 선언되면 네임스페이스 접두어를 붙이지 않는다.

예시

<?XML version="1.0" encoding="euc-kr" ?>
<main XMLns="URL_Reference">
  <header>header</header>
  <body>body</body>
  <footer>footer</footer>
</main>

설명

main 태그의 속성에 XMLns에 속성값 URL_Reference이 있으며 그 하위 header, body, footer 태그들은 자동적으로 main 태그의 URL_Reference 속성값을 받게 된다.

접두사를 사용한 네임스페이스 선언

네임스페이스 접두사는 XML문서중에서 사용하는 요소명이나 속성명과 XMLns: 속성값으로 지정하는 URI 참조를 관련 시키기 위해 사용한다.

선언 방법

<main XMLns : st ="URL_Reference">

접두사의 사용 규칙

  • 접두사의 첫 문자는 _ 혹은 문자로 시작한다.
  • URL_Reference는 XMLns:의 속성값으로 지정한다.
  • URL의 경로가 다르게 지정되어있으면 서로 다른 URI를 참조한다.

예시

<?XML version="1.0" encoding="euc-kr" ?>
<main XMLns : st ="URL_Reference">
  <st : header>header</header>
  <st : body>body</body>
  <st : footer>footer</footer>
</main>

설명

접두사를 사용하는 네임스페이스는 접두사가 붙은 요소는 해당 접두사에 포함관계를 가지고 있다.

XML 설계

XML의 설계 단계

  1. 표현하려는 객체를 선택한다.
  2. 해당 객체를 분석하여 모델링을 통하여 요소를 추출해 정의 분석한다.
  3. 분석한 요소를 트리구조로 구성하고 정형화된 데이터를 작성한다.
  4. 분석된 정보를 바탕으로 요소명과 속셩명을 구분하여 정의한다.
  5. 설계한 트리를 보고 XML을 작성한다.

정형식 문서와 유효한 문서

정형식 문서

정형식 문서는 XML 문법과 규칙에 맞게 만들어진 오류가 없는 문서를 의미한다.

유효한 문서

XML문서를 표준화해서 만들 목적으로 작성된 문서이다. DTD를 따르는 XML 문서이다. 이러한 DTD의 규칙대로 작성된 문서를 해당 DTD에 유효한 문서이다.

유효한 문서와 정형식 문서의 포함관계는 다음과 같다.

DTD의 필요성

모든 문서가 서로 다른 형태로 정의하게 된다면 표준화와는 거리가 많이 멀어진다. 표준화를 위해 DTD를 사용하며 용도별로 DTD를 정의하고 정의한 DTD를 기반으로 XML문서를 작성한다.

XML문서의 표준화 절차

  1. 제품 설명서, 해당 컨텐츠 참고
  2. 공통과 비공통 분리
  3. 요소를 결정 내용 모델을 결정
  4. 정의한 문서 구조를 트리로 작성
  5. 표준화한 XML문서의 정의 문서 작성
  6. XML문서를 작성하고 XML파서 유효성을 검증

XML 파서

XML문서가 형식에 맞게 작성되었는지 확인하는 프로그램이다. 또한 XML문서를 다른 응용프로그램에서 사용되도록 변환하는 소프트웨어이다.

XML파서를 이용하기 위해서는 당연히 XML문서와 DTD, XSD와 같은 문서가 필요하다.

profile
폐쇄

0개의 댓글