사용자 삽입 이미지
잠깐 짜투리 시간이 남아 XML Attributes(어트리뷰트) 관련해 올려본다.

올리는 모든 글은 http://www.w3schools.com 에서 읽은 내용이다. 읽다 보면 알겠지만, 처음 몇개는 읽으나 마나한 사항들인듯.. 왜냐하면.. 나중에 나온다. ^^a 읽으면서 몇줄 안되지만 그래도 허무했다눈~



1. XML Attribute 란?
HTML 과 동일하게 시작하는 태그에서 Attribute 를 지정할 수 있다. Attribute 는 Element 의 정보를 좀더 더해주는 기능을 한다.
HTML 의 예로
<img src = "computer.gif">
<a href = "demo.asp">
여기서 img 라는 Element 의 src 라는 Attribute 정보가 더해진것을 볼 수 있다.
Attribute 는 데이터와 상관없는 정보를 보여주기도 하는데, 아래의 예처럼 file type 은 데이터와 무관한 정보이지만 element 를 사용하려는 소프트웨어에겐 중요한 역활을 한다.
<file type = "gif"> computer.gif </file>

2. XML Attribute 는 따옴표를 사용해야 한다.
작은 따옴표든, 큰 따옴표든 반드시 사용해야 한다. 아래의 예를 보자
<person sex="female">

<person sex='female'>

만약 attribute 이름 자체적으로 따옴표가 있다면 작은 따옴표를 사용한다.

<gangster name='George "Shotgun" Ziegler'>
<gangster name="George &quot;Shotgun&quot; Ziegler">

3. Element vs. Attributes
다음 2개의 예를 살펴보자
<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

첫번째 예에서는 sex 는 Attribute 이다. 그리고 두번째 예에서는 Element 이다. 둘다 같은 정보를 보여준다.
둘 중 하나를 언제 어떻게 사용해야 하는지에 대한 규칙은 없지만 글쓴이의 조언에 의하면 Element 를 사용하는것이 더 좋다고 하며 Attribute 는 왠만하면 사용하지 말라고 한다. 다음 3개의 예중 맨 마지막이 가장 element로는 최적화 되어 있는듯..
<note date="10/01/2008">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

(Date 를 Element 로 빼면 아래와 같다)

<note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

(아래는 Element 최적화된 코드)

<note>
<date>
  <day>10</day>
  <month>01</month>
  <year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

4. 왜 Attribute 의 사용을 절제해야 할까?
Attribute 를 사용하면 다음과 같은 문제가 발생한다.
   a) Element 에서는 가능하지만 Attribute 에서는 하나 이상의 값을 가질 수 없다.
   b) Element 에서는 가능하지만 ATtribute 에서는 Tree 구조를 가질 수 없다
   c) 그리고 Attribute 는 이후를 위한 확장성이 떨어진다.
이 외에도 읽기 어렵고 유지하기도 어렵다. 그럼 완전히 배제해야 할까? 아니다.. 이왕 사용하는거 데이터와 관련된 부분은 Element 로 그리고 데이터와 관계없는 정보들은 Attribute 를 사용하는게 바람직 하다.

5. MetaData 의 XML Attribute
Element 에 ID 참조를 지정할 때가 있따. 이 ID 들은 HTML 의 ID 과 마찬가지로 XML element 을 표식하기 위해서이다.

예에서 사용된 ID들은 각각의 NOTE 를 구분하는 표식 역활을 하며 Note 내용의 일부분이 아니다.
Metadata(데이터의 데이터)는 Attribute 로 저장되어야 하고 데이터 그 자체는 Element 로 저장되어야 한다는게 글쓴이의 뜻이라네..

다음에 올리는 글이 XML 초급 첫단계가 끝나는 마지막이다. 에효 이제 초급이 끝나는구먼..
유효성(Validation), 코드보기(Viewing), CSS, XSLT 를 묶어서 설명될 예정이다.  ㅡ,.ㅡ 좀 졸립네.. 아웅.

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

8. XML Parser(파서)  (0) 2008.07.16
7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06

posted by Sungyoup Han matrim



티스토리 툴바