XML 소개

XML(확장 가능한 마크업 언어)은 HTML과 유사하지만, 미리 정의된 태그가 없는 마크업 언어입니다. 대신 필요에 맞게 특별히 설계된 태그를 직접 정의합니다. 이는 데이터를 저장, 검색, 공유할 수 있는 형식으로 저장할 수 있는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에, 로컬 또는 인터넷을 통해 시스템이나 플랫폼 간 XML을 공유하거나 전송하는 경우에도, 표준화된 XML 구문으로 덕분에 수신자가 데이터를 파싱 할 수 있다는 점입니다.

XML을 기반으로 하는 언어에는 XHTML, MathML, SVG, RSS, RDF 등 여러 가지가 있습니다. 여러분만의 언어를 직접 정의할 수도 있습니다.

XML 문서 구조

XML과 XML 기반 언어의 전체 구조는 태그를 기반으로 합니다.

XML 선언

XML 선언은 태그가 아닙니다. 문서의 메타데이터를 전달하는 데 사용됩니다.

html
<?xml version="1.0" encoding="UTF-8"?>

속성

version

문서에 사용된 XML의 버전.

encoding

문서에 사용된 인코딩.

주석

html
<!-- 주석 -->

"올바른" XML(유효하고 올바른 형식)

올바른 설계 규칙

XML 문서를 올바르게 작성하려면 다음 조건을 충족해야 합니다.

  • 문서가 올바른 형식이어야 합니다.
  • 문서가 모든 XML 구문 규칙을 준수해야 합니다.
  • 문서가 시맨틱 규칙을 준수해야 하며, 이는 일반적으로 XML 스키마나 DTD(문서 유형 정의)에 설정되어 있습니다.

예제

xml
<?xml version="1.0" encoding="UTF-8"?>
<message>
    <warning>
        Hello World
    <!-- </warning>이 빠짐 -->
</message>

이제 동일한 문서의 올바른 버전을 살펴보겠습니다.

xml
<?xml version="1.0" encoding="UTF-8"?>
<message>
    <warning>
         Hello World
    </warning>
</message>

정의되지 않은 태그가 포함된 문서는 유효하지 않습니다. 예를 들어, <warning> 태그를 정의하지 않았다면, 위의 문서는 유효하지 않습니다.

대부분의 브라우저는 잘못된 형식의 XML 문서를 식별할 수 있는 디버거를 제공합니다.

엔티티

HTML과 마찬가지로, XML은 몇 가지 특수 예약 문자를 참조하기 위한 메서드(엔티티라고 함)를 제공합니다(태그에서 사용되는 초과 기호 등). 이 중 아래 다섯 가지 문자를 알아두어야 합니다.

엔티티 문자 설명
&lt; < 미만 기호
&gt; > 초과 기호
&amp; & 앰퍼샌드
&quot; " 큰따옴표
&apos; ' 작은따옴표

선언된 엔티티는 5개뿐이지만, 문서의 문서 유형 정의를 사용하여 더 추가할 수 있습니다. 예를 들어 새 &warning; 엔티티를 만들려면 이렇게 하면 됩니다.

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE body [
  <!ENTITY warning "경고: 엄청  좋은 일이 발생했습니다... 새로 고침하여 다시 시도해 주세요.">
]>
<body>
  <message> &warning; </message>
</body>

숫자 문자 참조를 사용하여 특수 문자를 지정할 수도 있습니다. 예를 들어 &#xA9; 는 "©" 기호입니다.

XML 표시하기

XML은 일반적으로 설명 목적으로 사용되지만, XML 데이터를 표시하는 방법도 있습니다. XML을 렌더링 하는 특정 방법을 정의하지 않으면, 브라우저에는 원시 XML이 표시됩니다.

XML 출력 스타일을 지정하는 한 가지 방법은 xml-stylesheet 처리 명령을 사용하여 문서에 적용할 CSS를 지정하는 것입니다.

xml
<?xml-stylesheet type="text/css" href="stylesheet.css"?>

XML을 HTML과 같은 다른 언어로 변환하는 데 사용할 수 있는 확장 가능한 스타일 시트 언어 변환(XSLT)이라는 더 강력한 XML 표시 방법도 있습니다. 따라서 XML은 매우 다양하게 활용될 수 있습니다.

xml
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>

권장 사항

이 문서는 XML이 무엇인지에 대한 아주 간략한 소개일 뿐이며, XML을 시작하기 위한 몇 가지 간단한 예제와 참고 자료만 포함되어 있습니다. XML에 대한 자세한 내용은 웹에서 보다 심층적인 문서를 찾아보시기 바랍니다.

하이퍼텍스트 마크업 언어(HTML)를 배우면 XML을 더 잘 이해하는 데 도움이 됩니다.

같이 보기