수색…
집단
요소는 꺽쇠 괄호로 표시되며 XML의 가장 중요한 구성 요소입니다.
요소는 비어있을 수 있습니다.이 경우 요소는 빈 태그로 만들어집니다 (끝 슬래시에주의하십시오).
<an-empty-element/>
또는 내용을 가질 수 있습니다.이 경우에는 여는 태그 (슬래시 없음)와 닫는 태그 (슬래시)가 있습니다.
<a-non-empty-element>Content</a-non-empty-element>
요소는 중첩 될 수 있습니다 (단, 여는 태그와 닫는 태그 사이에서만 가능).
<parent-element>
<child-element/>
<another-child-element>
Some more content.
</another-child-element>
</parent-element>
요소 이름은 QName (규정 된 이름)이라고합니다. 위의 모든 요소는 네임 스페이스에 없지만 다음과 같은 접두사를 사용하여 네임 스페이스에 요소 이름을 정의 할 수도 있습니다.
<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
<my-namespace:child-element/>
<my-namespace:another-child-element>
Some more content.
</my-namespace:another-child-element>
</my-namespace:parent-element>
네임 스페이스와 요소 이름 에 대해서는이 섹션에서 자세히 설명 합니다 .
속성
속성은 요소와 연관된 이름 - 값 쌍입니다.
시작 요소 태그 내부의 작은 따옴표 나 큰 따옴표로 값을 나타내거나 빈 요소 인 경우 빈 요소 태그로 나타냅니다.
<document>
<anElement foo="bar" abc='xyz'><!-- some content --></anElement>
<anotherElement a="1"/>
</document>
속성은 요소와 달리 정렬되지 않습니다. 다음 두 요소에는 동일한 속성 집합이 있습니다.
<foo alpha="1" beta="2"/>
<foo beta="2" alpha="1"/>
속성은 동일한 요소에서 반복 될 수 없습니다 (요소와 다름). 다음과 같은 문서는 형식이 올바르지 않습니다. 속성 a
가 동일한 요소에 두 번 나타나기 때문에 . <foo a="x" a="y"/>
다음 문서는 올바른 형식입니다. 값은 동일 할 수 있으며 반복 할 수없는 속성 이름입니다.
<foo a="x" b="x"/>
속성은 요소와 달리 중첩 될 수 없습니다.
본문
텍스트는 마크 업 외부의 모든 문자로 구성됩니다 (요소 태그 열기, 요소 태그 닫기 등).
<?xml version="1.0"?>
<document>
This is some text and <b>this is some more text</b>.
</document>
텍스트의 정확한 XML 용어는 문자 데이터 입니다. XML 사양은 구문 적 수준에서 XML을 정의하기 때문에 실제로 전체 XML 문서 또는 구문 분석 된 엔터티에 text 라는 단어를 사용합니다. 그러나 XML 문서를 트리로 표현하는 XDM (XQuery 및 XPath Data Model)과 같은 일부 데이터 모델은 문자 데이터를 텍스트 노드 로 참조하므로 텍스트 는 실제로 문자 데이터의 동의어로 이해되는 경우가 많습니다.
문자 데이터는 <
문자를 포함 할 수 없다 - 이것은 시작 요소 태그의 첫 문자로 해석 될 것이고, ]]>
문자 시퀀스를 포함 할 수 없다. 적절한 문자는 대신 엔티티 참조로 이스케이프해야합니다.
<?xml version="1.0"?>
<document>
It is fine to escape the < character, as well as ]]>.
</document>
편의를 위해 CDATA 섹션으로 더 큰 텍스트 묶음을 벗어날 수 있습니다 (그러나 시퀀스는 ]]>
여전히 명백한 이유로 허용되지 않습니다).
<?xml version="1.0"?>
<document>
<![CDATA[
In a CDATA section, it is fine to write < or even & and entity references
such as & are not resolved.
]]>
</document>
코멘트
XML 주석은 다음과 같이 보입니다.
<!-- This is a comment -->
요소 내용 또는 최상위 수준에 나타날 수 있습니다.
<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
<!-- a comment inside the document -->
</document>
주석은 태그 또는 내부 속성 안에 표시 할 수 없습니다.
<element <!-- comment with -- inside --> />
또는
<element attr="<!-- comment with -- inside -->"/>
잘 형성되어 있지 않다.
문자 순서는 --
주석의 중간에 나타날 수 없습니다. 이것은 올바른 형식의 XML이 아닙니다.
<!-- comment with -- inside -->
XML의 주석은 C ++와 같은 다른 언어와는 달리 데이터 모델의 일부이며 소비되는 응용 프로그램에서 파싱, 전달 및 표시됩니다.
처리 지침
처리 명령은 파서를 통해 응용 프로그램에 일부 정보 나 명령을 직접 전달하는 데 사용됩니다.
<?my-application some instructions ?>
최초의 물음표 (여기에서 my-application
) 다음에 나오는 토큰을 대상이라고하며 명령이 목표로하는 응용 프로그램을 식별합니다. 뒤 따르는 것은 더 이상 지정되지 않으며 그것을 해석하는 것은 응용 프로그램에 달려 있습니다. 엔티티 및 문자 참조는 인식되지 않습니다.
최상위 수준 또는 요소 콘텐츠에 나타날 수 있습니다.