w3schools in korea/[XML Tutorial]

4. XML Syntax - XML 문법

이코다 2008. 4. 12. 17:22
XML Tutorials - Learn XML (XML Basic)

4. XML Syntax Rules - XML 문법 규칙들



XML의 문법 규칙은 매우 간단하며 구조적이다. 규칙은 배우기 쉬우며, 사용하기도 쉽다.



모든 XML 요소는 종료 테그(closing tag)를 가지고 있어야 한다

HTML에서 당신은 종종 종료 테그를 가지지 않는 요소를 볼수 있을 것이다.
<p>This is a paragraph
<p>This is another paragraph

XML에서 종료 테그를 붙이지 않는것은 불법이다. 모든 요소는 종료 테그를 가지고 있어야 한다.

<p>This is a paragraph</p>
<p>This is another paragraph</p>
 
참고 : 이전의 예제에서 당신은 종료 테그를 가지고 있지 않는 XML 선언 예제를 봤을 것이다. 이건은 에러가 아니다. <?xml version="1.0" encoding="ISO-8859-1"?> 선언문은 XML 문서의 일부분이 아니기 때문에 종료 테그를 가질 필요가 없다.



XML테그는 대소문자를 구분한다(case sensitive)

XML요소는 XML 테그를 사용해서 정의되어야 한다.
XML 테그들은 대소문자를 구분한다. XML에서 <Letter>테그는 <letter>테그와 다르다.
시작과 종료 테그는 반듯이 같은 Case로 작성해야 한다.

<Message>This is incorrect</message>
<message>This is correct</message>

참고 : "시작, 종료테그"는 종종 "열기, 닫기 테그"로 사용되기도 하는데 무엇을 사용하든 같은 뜻이니 당신이 원하는 대로 사용해도 상관 없다.




XML 요소는 반듯이 올바르게 포개어 져야 한다


HTML에서 당신은 종종 올바르지 않게 포개어 져 있는 요소들을 볼수 있을 것이다.
<b><i>This text is bold and italic</b></i>

하지만 XML에서는 모든 요소들이 각각 올바르게 포게어 져 있어야 한다.

<b><i>This text is bold and italic</i></b>

위의 예제에서 "올바르게 포게어 지다" 라는 것은 <i>요소가 <b>요소 안에서 열려 있으므로 이것은 반듯이 <b>요소 안쪽에서 닫혀야 한다는 말을 의미한다.




XML 문서는 반듯이 root 요소를 가져야 한다


xml 문서는 반듯이 모든 요소의 부모가 되는 하나의 요소를 가지고 있어야 한는데 이것을 우리는 root 요소라고 부른다.
<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>




XML 속성값은 반듯이 따옴표로 쌓여져야 한다


XML 요소는 HTML과 같이 이름과 값으로 이루어 진 속성을 가질 수 있다.
XML의 속성값은 반듯이 따옴표로 쌓여져 있어야 한다. 아래 두개의 XML 문서들을 보자.

첫번째 문서는 올바르지 않은 문서이고, 두번째 문서는 올바른 문서이다.
<note date=12/11/2007>
<to>Tove</to>
<from>Jani</from>
</note>
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>

첫번째 문서의 문제는 note 요소의 속성에 따옴표가 없다.




개체/엔티티(entity) 참조


어떤 문자는 XML에서 특별한 의미를 갖는다. 만약 당신이 "<" 문자를 XML 요소에 넣는다면 이는 에러를 발생시킬 것이다. 왜냐하면 XML 파서가 이것을 새로운 요소의 시작으로 번역하기 때문이다.

이는 XML 에러를 발생시킬 것이다.
<message>if salary < 1000 then</message>

에러를 피하기 위해서는 "<" 문자를 개체 참조로 바꾸어야 한다.

<message>if salary &lt; 1000 then</message>

아래에 XML에서 쓰이는 미리 정의된 다섯가지 개체참조문자가 있다.

&lt; < less than
&gt; > greater than
&amp; & ampersand 
&apos; ' apostrophe
&quot; " quotation mark

참고 : "<"와 "&" 문자는 XML에서 엄밀히 불법이다.
The greater than character is legal, but it is a good habit to replace it.(??)




XML의 주석


XML에 주석을 넣는 문법은 HTML과 비슷하다.
<!-- This is a comment -->




XML은 공백을 유지한다


HTML에서는 긴 공백문자를 한칸의 공백문자로 감소시킨다.
HTML:  Hello           my name is Tove 
Output:  Hello my name is Tove.

하지만 XML에서는 당신의 문서에 있는 공백 문자를 유지한다.




XML은 New Line 을 LF로 저장한다


윈도우 응용프로그램에서 new line은 일반적으로 한 쌍의 문자로 저장된다. :
Carriage return (CR), Line feed (LF)
이 한 쌍의 문자는 타자기의 new line으로 셋팅 된 것 과 같이 반응한다.

유닉스 응용프로그램에서 new line은 일반적으로 LF 문자로 저장되며 맥킨토시 응용프로그램에서는 new line이 CR 문자로만 저장된다.

참고 :
CR - Carriage Return - 커서를 현재 줄의 맨 앞으로 이동시킨다.
LF - Line Feed - 커서를 한줄 내린다.
 

(퍼가실때는 출처 남겨주시고, 열렬한 응원의 댓글 부탁드립니다. ^^)