XML 소개
XML(확장 가능한 마크업 언어)은 HTML과 유사하지만, 미리 정의된 태그가 없는 마크업 언어입니다. 대신 필요에 맞게 특별히 설계된 태그를 직접 정의합니다. 이는 데이터를 저장, 검색, 공유할 수 있는 형식으로 저장할 수 있는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에, 로컬 또는 인터넷을 통해 시스템이나 플랫폼 간 XML을 공유하거나 전송하는 경우에도, 표준화된 XML 구문으로 덕분에 수신자가 데이터를 파싱 할 수 있다는 점입니다.
XML을 기반으로 하는 언어에는 XHTML, MathML, SVG, RSS, RDF 등 여러 가지가 있습니다. 여러분만의 언어를 직접 정의할 수도 있습니다.
XML 문서 구조
XML과 XML 기반 언어의 전체 구조는 태그를 기반으로 합니다.
XML 선언
주석
<!-- 주석 -->
"올바른" XML(유효하고 올바른 형식)
올바른 설계 규칙
XML 문서를 올바르게 작성하려면 다음 조건을 충족해야 합니다.
- 문서가 올바른 형식이어야 합니다.
- 문서가 모든 XML 구문 규칙을 준수해야 합니다.
- 문서가 시맨틱 규칙을 준수해야 하며, 이는 일반적으로 XML 스키마나 DTD(문서 유형 정의)에 설정되어 있습니다.
예제
<?xml version="1.0" encoding="UTF-8"?>
<message>
<warning>
Hello World
<!-- </warning>이 빠짐 -->
</message>
이제 동일한 문서의 올바른 버전을 살펴보겠습니다.
<?xml version="1.0" encoding="UTF-8"?>
<message>
<warning>
Hello World
</warning>
</message>
정의되지 않은 태그가 포함된 문서는 유효하지 않습니다. 예를 들어, <warning>
태그를 정의하지 않았다면, 위의 문서는 유효하지 않습니다.
대부분의 브라우저는 잘못된 형식의 XML 문서를 식별할 수 있는 디버거를 제공합니다.
엔티티
HTML과 마찬가지로, XML은 몇 가지 특수 예약 문자를 참조하기 위한 메서드(엔티티라고 함)를 제공합니다(태그에서 사용되는 초과 기호 등). 이 중 아래 다섯 가지 문자를 알아두어야 합니다.
엔티티 | 문자 | 설명 |
---|---|---|
< | < | 미만 기호 |
> | > | 초과 기호 |
& | & | 앰퍼샌드 |
" | " | 큰따옴표 |
' | ' | 작은따옴표 |
선언된 엔티티는 5개뿐이지만, 문서의 문서 유형 정의를 사용하여 더 추가할 수 있습니다. 예를 들어 새 &warning;
엔티티를 만들려면 이렇게 하면 됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE body [
<!ENTITY warning "경고: 엄청 안 좋은 일이 발생했습니다... 새로 고침하여 다시 시도해 주세요.">
]>
<body>
<message> &warning; </message>
</body>
숫자 문자 참조를 사용하여 특수 문자를 지정할 수도 있습니다. 예를 들어 © 는 "©" 기호입니다.
XML 표시하기
XML은 일반적으로 설명 목적으로 사용되지만, XML 데이터를 표시하는 방법도 있습니다. XML을 렌더링 하는 특정 방법을 정의하지 않으면, 브라우저에는 원시 XML이 표시됩니다.
XML 출력 스타일을 지정하는 한 가지 방법은 xml-stylesheet
처리 명령을 사용하여 문서에 적용할 CSS를 지정하는 것입니다.
<?xml-stylesheet type="text/css" href="stylesheet.css"?>
XML을 HTML과 같은 다른 언어로 변환하는 데 사용할 수 있는 확장 가능한 스타일 시트 언어 변환(XSLT)이라는 더 강력한 XML 표시 방법도 있습니다. 따라서 XML은 매우 다양하게 활용될 수 있습니다.
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
권장 사항
이 문서는 XML이 무엇인지에 대한 아주 간략한 소개일 뿐이며, XML을 시작하기 위한 몇 가지 간단한 예제와 참고 자료만 포함되어 있습니다. XML에 대한 자세한 내용은 웹에서 보다 심층적인 문서를 찾아보시기 바랍니다.
하이퍼텍스트 마크업 언어(HTML)를 배우면 XML을 더 잘 이해하는 데 도움이 됩니다.