XML 개념

XML (eXtensible Markup Language)은 사람이 읽을 수 있고 기계가 읽을 수 있는 형식으로 문서의 규칙을 정의하는 마크업 언어입니다.

단순성, 확장성 및 상호 운용성에 중점을 두고 데이터를 저장하고 전송하도록 설계되었습니다

XML은 태그를 사용하여 정보를 계층적 형식으로 구조화하고 구성하는 방법을 제공합니다.

마크업 언어란?

XML은 태그를 사용하여 문서 내의 요소를 정의합니다. 태그는 꺾쇠괄호(“<” 및 “>”)로 묶입니다. 요소에는 데이터에 대한 추가 정보를 제공하는 속성이 있을 수 있습니다.

<person age="30">John Doe</person>

계층 구조

XML 문서는 트리와 같은 표현을 형성하는 계층 구조를 가지고 있습니다. 요소는 하위 요소를 가질 수 있으며 상위-하위 관계를 생성합니다.

<book>
    <title>Introduction to XML</title>
    <author>John Smith</author>
</book>

XML 용도

XML은 configuration 파일, 다양한 소프트웨어 애플리케이션 간의 데이터 교환, 웹 서비스(SOAP 및 RESTful API) 등과 같은 다양한 애플리케이션에서 사용됩니다.

XSD

XML은 사용자가 필요에 따라 자신만의 태그와 구조를 정의하는 유연한 마크업 언어이기 때문에 특정 스키마를 강제하거나 태그 구조를 규정하지 않습니다.

그러나  XSD(XML 스키마 정의)사용자가 XML 문서의 구조, 데이터 유형 및 제약 조건을 정의할 수 있는 사양입니다. XSD는 XML용 스키마 언어 역할을 하며 XML 문서의 예상 구조를 설명하는 방법을 제공합니다. XML 문서가 XSD를 준수하면 해당 스키마에 따라 유효하다고 합니다.

XSD는 표준화된 형식을 정의함으로써 데이터 통합의 용도로도 사용됩니다.

여러 시스템이나 애플리케이션이 XML 데이터를 교환해야 하는 시나리오에서 공통 XSD 스키마를 사용하면 상호 운용성이 보장됩니다. 이를 통해 시스템은 XML 문서를 일관되게 이해하고 처리할 수 있습니다.

다음은 연결된 XSD 스키마가 있는 XML의 간단한 예입니다.

XML

<person>
  <name>John Doe</name>
  <age>30</age>
</person>

XSD

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="person">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="age" type="xs:integer"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>

HTML과 XML의 차이

  • HTML은 주로 웹 브라우저에 표시되는 문서를 만드는 데 사용됨
  • XML의 용도는 데이터를 저장 및 전송
  • HTML에는 미리 정의된 태그가 있지만 사용자는 XML에서 고유한 태그를 만들고 정의 가능
  • XML은 대/소문자를 구분, HTML은 구분하지 않음
  • XML은 특정 애플리케이션에 얽매이지 않는 범용 마크업 언어

요약하자면 HTML과 XML은 모두 마크업 언어 구문을 사용하지만 HTML은 웹에 콘텐츠를 표시하는 데 적합하지만 XML은 유연하고 확장된 방식으로 데이터를 구조화하고 교환하도록 설계되었습니다.

JSON과 XML의 차이

  • XML은 닫힌 태그가 계속 들어가기 때문에 JSON에 비해 무거움
  • JavaScript 기반 환경에서는 JSON이 선호됩니다.
    • XML은 Javascript Object로 변환하기 위해서는 JSON보다 더 많은 노력 필요
    • JSON은 JSON.parse()면 해결
  • 가독성 측면에서 XML은 JSON보다 떨어짐

요약하면 JSON과 XML은 데이터 교환 형식과 유사한 목적을 수행하지만 JSON은 단순성, JavaScript 환경에서의 사용 용이성 및 가독성으로 인해 선호되는 경우가 많습니다. 보다 광범위한 기능 세트와 네임스페이스 지원을 갖춘 XML은 특정 시나리오, 특히 복잡한 문서 구조를 처리하거나 XML을 사용하는 시스템과의 상호 운용성을 처리할 때 선호될 수 있습니다.

자세한 JSON 개념은 JSON 개념 – H-A (hangbok-archive.com) 에서 확인 할 수 있습니다.

Leave a Comment

목차