반응형

사용자 삽입 이미지
잠깐 짜투리 시간이 남아 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
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06

+ Recent posts