xml 튜토리얼
xml 시작하기
수색…
비고
XML은 계층 적 데이터를 텍스트 파일에 저장하는 데 사용되는 마크 업 언어입니다. JSON과 같이 반 구조화 된 데이터라고도합니다. XML은 기계로 읽을 수 있지만 사람이 읽고 작성할 수도 있습니다.
XML은 요소들로 구성되며 때로는 자연스럽게 태그 수프 라고도 불리며 그 자체로 다른 요소 및 / 또는 텍스트를 포함 할 수 있습니다. 요소에는 속성이 포함될 수도 있습니다.
XML은 플랫폼 간, 특히 인터넷을 통한 데이터 교환에 자주 사용됩니다. 또한 반 구조화 된 데이터를 NoSQL 데이터 저장소 (XML 데이터베이스 / 문서 저장소)에 저장하는 데 점점 더 많이 사용되고 있습니다. 또한, 문서 지향 데이터 (마크 업이있는 텍스트)를 처리 할 수있는 유연성이있어서 출판 업계에서 매우 인기가 있습니다. XML은 구성 파일에도 널리 사용됩니다.
XML이 널리 사용되는 주된 이유 중 하나는 오픈 소스를 포함하여 많은 파서를 사용할 수있는 표준화가 이루어 졌다는 점입니다. 따라서 XML을 사용하는 비용은 자신의 새로운 구문을 발명 한 것보다 낮아집니다.
XML의 근원과 목표에 관한 더 많은 정보는 공식 W3C 권고안 에서 찾을 수있다.
아래 표에는 XML의 두 가지 버전이 나와 있습니다. 각 버전의 버전은 원본 문서의 개정이며 표준의 변경은 아닙니다.
XML의 첫 번째 버전은 1.0 입니다. XML 1.1 은 유니 코드 버전이 2.0에서 3.1로 변경되어 주요 변경되었으며 새로운 유니 코드 문자의 사용 및 해석에 대한 새로운 규칙 집합을 지정합니다.
버전
번역 | 출시일 |
---|---|
1.0 | 1998-02-10 |
1.1 | 2001-12-13 |
설치 또는 설정
XML은 간단한 텍스트 편집기로 시작할 수있는 구문입니다.
그러나 XML 형식의 편집기를 사용하면 문서의 형식이 올바르지 않은시기와 위치를 생산성에 거의 필수적으로 표시 할 수 있습니다. 이러한 편집기를 사용하면 XML 스키마를 기준으로 XML 문서의 유효성을 검사하거나 XML 문서에서 XML 스키마를 생성 할 수도 있습니다 (그 반대의 경우도 가능).
편집자의 예로는 oXygen, Atom, Eclipse 및 Altova XMLSpy가 있습니다. 또 다른 해결책은 Apache Xerces와 같은 명령 행 XML 구문 분석기를 사용하는 것입니다.
기본 빌딩 블록
XML은 다음과 같은 기본 빌딩 블록으로 구성됩니다.
- 요소
- 본문
- 속성들
- 코멘트
- 처리 명령
요소에는 꺾쇠 괄호가 있습니다.
<element/>
<element>some content</element>
애트리뷰트는 시작 요소 태그에 나타납니다.
<element
attribute-name="attribute value"
other-attribute='single-quoted value'>
...
</element>
텍스트는 요소 내부 또는 요소 사이에 나타날 수 있습니다.
<element>some more <b>bold</b> text</element>
주석은 다음 구문을 사용합니다. XML 주석은 프로그래밍 언어와 달리 모델의 일부이며 파서 위의 응용 프로그램에서 볼 수 있다는 것을 알아야합니다.
<!-- this is a comment -->
처리 명령은 메시지를 소모 응용 프로그램 (예 : 표시 방법 또는 스타일 시트 등)으로 전달할 수있게합니다. XML은 처리 명령어 형식을 제한하지 않습니다.
<?target-application these are some instructions?>
이 항목에서 빌딩 블록에 대한 자세한 내용을 확인할 수 있습니다.
잘 형성됨
XML 문서는 XML 사양의 올바른 형식 규칙을 준수하는 텍스트 파일입니다. 이러한 준수 문서는 올바른 형식 이라고 할 수 있습니다 ( 유효한 것으로 혼동하지 말 것). XML은 HTML과 같은 다른 언어와 비교하여 올바른 형식으로 매우 엄격합니다. 형식이 올바르지 않은 텍스트 파일은 XML로 간주되지 않으므로 응용 프로그램을 전혀 사용하지 않아도 사용할 수 없습니다.
다음은 XML 문서에 적용되는 몇 가지 규칙입니다.
XML은 많은 자체 설명 구문을 사용합니다. 프롤로그는 XML 버전 및 문자 인코딩을 정의합니다.
<?xml version="1.0" encoding="UTF-8"?>
정확히 한 개의 최상위 요소가 있어야합니다.
그러나 주석, 처리 지침 및 초기 XML 선언은 최상위 레벨에서도 허용됩니다. 텍스트와 속성은 그렇지 않습니다.
<?xml version="1.0"?> <!-- some comments --> <?app a processing instruction?> <root/> <!-- some more comments -->
요소는 중첩 될 수 있지만 "적절하게 중첩"되어야합니다.
<name> <first-name>John</first-name> <last-name>Doe</last-name> </name>
삽입 된 요소의 시작 및 끝 태그는 해당 컨테이너 요소의 시작 및 끝 태그 내에 있어야합니다. 요소의 중첩은 불법입니다. 특히 이것은 잘 구성된 XML이 아닙니다 :
<foo><bar></foo></bar>
속성은 닫는 요소 태그가 아닌 여는 요소 태그 또는 빈 요소 태그에만 나타날 수 있습니다. 요소 사이에 속성 구문이 있으면 의미가 없으며 텍스트로 구문 분석됩니다.
<person first-name="John" last-name="Doe"/>
이것은 잘 형성되지 않았습니다 :
<person></person first-name="John"/>
주석, 처리 명령, 텍스트 및 추가 요소는 태그 내부가 아닌 요소 내부 (즉, 시작 태그와 닫기 태그 사이)에 나타날 수 있습니다.
<element> This is some <b>bold</b> text. <!-- the b tag has no particular meaning in XML --> </element>
이 예제는 형식이 올바르지 않습니다.
<element <-- comment --> />
<
문자는 텍스트 나 속성 값에 표시되지 않을 수 있습니다."
문자는 따옴표로 묶인 속성 값에 표시되지 않을 수 있습니다."
'
문자는 따옴표로 묶인 속성 값에 표시되지 않을 수 있습니다.'
문자의 순서는
--
코멘트에 나타나지 않을 수 있습니다.리터럴
<
및&
문자는 각각의 엔티티에 의해 이스케이프되어야합니다<
&
.
안녕하세요 세계
<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
<!-- These are the standard greetings -->
<vocabulary:greetings>
<vocabulary:greeting xml:lang="en-US" type="informal">
Hi!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="intermediate">
Hello!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="formal">
Good morning to <b>you</b>!
</vocabulary:greeting>
</vocabulary:greetings>
</root>
네임 스페이스
요소 및 속성 이름은 URI 인 네임 스페이스에 있습니다. 네임 스페이스는 QNames라고하는 실제 요소 및 특성 이름에 사용되는 접두사에 바인딩됩니다.
이 문서는 네임 스페이스를 접두어 prefix
에 바인딩하고 접두어가없는 기본 네임 스페이스를 정의합니다.
<?xml version="1.0"?>
<document
xmlns="http://www.example.com/default-namespace"
xmlns:prefix="http://www.example.com/another-namespace">
<prefix:element/>
</document>
이 항목에서 네임 스페이스에 대한 자세한 내용을 확인할 수 있습니다.