애트리뷰트

XML 2018. 6. 19. 16:23

 - 애트리뷰트 (Attributes : 속성)란?
엘리먼트의 특성을 표현하기 위해서 쓰여지는 정보를 의미함.


즉, XML 문서의 속성을 선언하기 위해 사용되는 원소이며, 

엘리먼트의 부가적인 정보를 제공하는 것으로 특히 사람에게 보여주기보다는
프로그램 내부에서 처리되기 위한 정보들을 저장하는데 매우 유용하다.

 


 - 형태
<애트리뷰트 이름 = "애트리뷰트 값">


 

<!ATTLIST 엘리먼트 이름
               속성이름 타입 기본 값
                (속성이름 타입 기본 값 ...)> 

 


ATTLIST 다음에 소석을 정의하기 원하는 엘리먼트의 이름, 속성 이름, 속성 타입, 기본값의 순서로 정의됨.
여러개의 속성을 정의할 경우 새로운 속성의 이름, 속성 타입, 기본값을 계속 추가하면 됨.

 

속성의 이름에 대한 규칙은 엘리먼트 이름에 대한 규칙과 동일하다.

 

 

 - 속성의 타입

 

타입 

설명 

 CDATA

 문자 데이터 마크업은 이 속성값 안에서 쓸 수 있다.

 ID

 속성값이 엘리먼트를 식별하는 식별자로 사용된다.

 한 문서에서 ID 타입의 속성은 각각 유일해야 한다.

 IDREF

 위의 ID 값에 대한 참조를 하는 속성값이다.

 ENTITIY, ENTITIES

 이 타입의 속성값은 DTD안에서 선언된 바이너리 외부 엔티티에 대한 이름이다.

 ENTITIES 타입은 공백으로 분리된 엔티티 이름들이다.

 NOTATION

 이 타입의 속성값은 DTD 안에서 선언된 표기법 이름이다.

 열거형

 속성값이 괄호 안에 or( | ) 기호로 나열된 값들 중 하나여야 한다.

 예를 들면 (left | center | right)와 같다.

 NOTATION(열거형)

 속성값이 나열된 표기법 이름들 중 하나여야 한다.

 나열된 표기법들은 NOTATION 선언이 있어야 한다.

 NOTATION (audio | video)

 

 보통 가장 많이 사용하는 속성의 타입은 CDATA와 열거형이다.

 

 

 - CDATA?

전혀 파싱되지 않은 문자 데이터

 

 

 - 속성의 기본값

 

값 

 설명

 "기본값"

 속성을 위한 기본값이다.

 만약 문서의 엘리먼트에서 이 속성을 지정하지 않으면

 그 속성값은 이 기본값으로 인식된다.

 #REQUIRED

 엘리먼트에서 속성을 쓸 때 반드시 값을 지정해야 한다.

 그렇지 않으면 파싱할 때 에러가 난다.

 #IMPLIED

 속성에 값이 지정되어 있지 않으면 무시한다.

 이 속성에 대한 처리는 파서가 아닌 응용 프로그램이 하게 된다.

 #FIXED "값"

 속성에 대한 값으로 "값"만을 지정해야 한다.

 다른 값은 허용되지 않는다.

 

 속성 리스트에 대한 선언은 엘리먼트 이름이 나오기 때문에 기술적으로는 그럴 필요가 없다 하더라도

참조하는 엘리먼트 바로 밑에 있어야 한다.

 

 

 - 엘리먼트와 애트리뷰트에서 use 속성들을 사용한 예시

속성을 선언할 때 속성 값을 항상 기술해야 하는지 혹은 생략할 수 있는지 여부는

use 속성을 이용해서 기술할 수 있다.

 

 

 - use 속성 값

"optional"

"required"  =  속성의 디폴트 값을 지정하기 위해 사용

"fixed"       = 고정된 속성 값을 기술하기 위해 사용

 

 

엘리먼트(원소) 

애트리뷰트(속성) 

  의미 

(minOccurs, maxOccurs)fixed, default

use, fixed, default

 (1,1)-,-

 required, -, - 

 원소와 속성 모두 하나씩 존재하여야 한다.

 (1,1)37,-

 required, 37, -

 원소와 속성이 모두 하나씩 존재하고,

 값은 37이어야 한다.

 (2, unbounded)37,-

 N/A

 원소는 2번 이상 존재하여야 하고,

 값은 37이어야 한다.

 (0,1)-,-

 optional, -, -

 원소와 속성이 한 번 올 수 있다.

 (0,1)37,-

 optional, 37 ,-

 원소와 속성이 한 번 올 수 있고,

 존재한다면 항상 37 값을 가져야 한다.

 (0,1)-,37

 optional, - ,37

 원소와 속성이 한 번 올 수 있고,

 존재하지 않는다면 디폴트로 37 값을 갖는다.

 (0,2)-,37

 N/A

 원소는 0~2번까지 올 수 있으며,

 존재하지 않는 경우 디폴트로 37 값을 갖는다.

 (0,0)-,-

 prohibited, -, -

 원소와 속성이 존재해서는 안된다.

 

 

 

참고 문헌 및 링크

 ADD-ON XML

 클릭하세요 XML

 자바 개발자를 위한 XML

 

'XML' 카테고리의 다른 글

노테이션 (표기법)  (0) 2018.06.19
엔티티  (0) 2018.06.19
엘리먼트  (0) 2018.06.18
DTD 란?  (0) 2018.06.17
XML의 응용들  (0) 2018.06.16
Posted by Resian
,