수색…


집단

요소는 꺽쇠 괄호로 표시되며 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 &lt; character, as well as ]]&gt;.
</document>

편의를 위해 CDATA 섹션으로 더 큰 텍스트 묶음을 벗어날 수 있습니다 (그러나 시퀀스는 ]]> 여전히 명백한 이유로 허용되지 않습니다).

<?xml version="1.0"?>
<document>
  <![CDATA[
    In a CDATA section, it is fine to write < or even & and entity references
    such as &amp; 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 ) 다음에 나오는 토큰을 대상이라고하며 명령이 목표로하는 응용 프로그램을 식별합니다. 뒤 따르는 것은 더 이상 지정되지 않으며 그것을 해석하는 것은 응용 프로그램에 달려 있습니다. 엔티티 및 문자 참조는 인식되지 않습니다.

최상위 수준 또는 요소 콘텐츠에 나타날 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow