..

Search

33) 기본 자료형

기본 타입


XSD 타입

XSD에서는 사용자를 위해 다양한 타입을 제공합니다.

또한, 사용자가 임의의 타입을 직접 정의하여 사용할 수도 있습니다.

 

XSD에서 기본적으로 제공하는 타입은 기본 타입과 파생된 타입으로 구분됩니다.


기본 타입(primitive datatype)

XSD에서 제공하는 기본 타입을 사용할 때에는 반드시 네임스페이스 선언 시 사용한 접두사를 붙여야 합니다.

XSD 예제

<xs:element name="player" type="xs:string"/>


문자열(string)

문자열 타입은 문자, 줄 바꿈 문자(line feed), 개행 복귀 문자(carriage return), 탭 문자(tab) 등을 포함할 수 있습니다.

XSD 예제

<xs:element name="student" type="xs:string"/>

 

위의 XSD 예제에서 정의한 요소는 XML 문서에서 다음과 같이 표현될 수 있습니다.

XML 예제

<student>홍길동</student>

또는

<student>홍        길   동    </student>


날짜와 시간(dateTime)

날짜와 시간 타입은 날짜와 시간을 동시에 표현할 수 있습니다.

문법

yyyy-mm-ddThh:mm:ss

 

- yyyy-mm-dd : yyyy년 mm월 dd일을 나타냅니다.

- T : 시간 부분이 시작됨을 알려주며, 반드시 표기해야 하는 문자입니다.

- hh:mm:ss : hh시 mm분 ss초를 나타냅니다.

 

XSD 예제

<xs:element name="deadline" type="xs:dateTime"/>

 

위의 XSD 예제에서 정의한 요소는 XML 문서에서 다음과 같이 표현될 수 있습니다.

XML 예제

<deadline>2017-07-01T09:00:00</deadline>


시간 간격(duration)

시간 간격 타입은 시간 사이의 간격을 표현할 수 있습니다.

문법

PnYnMnDTnHnMnS

 

 - P : 기간을 의미하며 반드시 표기해야 하는 문자입니다.

 - nYnMnD : 기간을 연월일로 나타냅니다.

 - T : 시간 부분이 시작됨을 알려주며, 시간 부분을 나타낼 때는 반드시 표기해야 합니다.

 - nHnMnS : 기간을 시분초로 나타냅니다.

 

XSD 예제

<xs:element name="season" type="xs:duration"/>

 

위의 XSD 예제에서 정의한 요소는 XML 문서에서 다음과 같이 표현될 수 있습니다.

XML 예제

<season>P2YT10M</season> // 2년 10분

<season>PT60S</season>   // 60초

<season>-P2Y</season>    // -2년


실수(decimal)

실수 타입은 실수를 표현할 수 있습니다.

XSD 예제

<xs:element name="answer" type="xs:decimal"/>

 

위의 XSD 예제에서 정의한 요소는 XML 문서에서 다음과 같이 표현될 수 있습니다.

XML 예제

<answer>12.5</answer>

<answer>+12345.678</answer>

<answer>-0.123</answer>

 

실수(decimal) 타입이 표현할 수 있는 최대 자릿수는 18자리입니다.

불리언(boolean)

불리언 타입은 참과 거짓을 표현할 수 있습니다.

XSD 예제

<xs:attribute name="disabled" type="xs:boolean"/>

 

위의 XSD 예제에서 정의한 요소는 XML 문서에서 다음과 같이 표현될 수 있습니다.

XML 예제

<rank disabled="true">10</rank>


anyURI

anyURI 타입은 통합 자원 식별자(URI)를 표현할 수 있습니다.

XSD 예제

<xs:attribute name="src" type="xs:anyURI"/>

 

위의 XSD 예제에서 정의한 요소는 XML 문서에서 다음과 같이 표현될 수 있습니다.

XML 예제

<image src="http://codingsam.com/xml/images/uri.png" />


XSD 기본 타입

타입 설명
string 문자열을 표현함.
boolean 참 또는 거짓을 표현함.
decimal 소수를 표현함.
float 32비트 부동 소수점 수를 표현함.
double 64비트 부동 소수점 수를 표현함.
duration 시간 간격을 표현함.
dateTime 날짜와 시간을 표현함. (yyyy-mm-ddThh:mm:ss)
time 시간을 표현함. (hh:mm:ss)
date 날짜를 표현함. (yyyy-mm-dd)
gYearMonth 연도와 월을 표현함. (yyyy-mm)
gYear 연도를 표현함. (yyyy)
gMonthDay 월과 일을 표현함. (--mm-dd)
gDay 일을 표현함. (----dd)
gMonth 월을 표현함. (--mm--)
hexBinary 16진수를 표현함.
base64Binary base64 방식으로 인코딩된 이진 데이터를 표현함.
anyURI 절대 또는 상대 URI를 표현함.
QName [Namespace in XML] 문법을 만족하는 적법한 XML 이름을 표현함.
NOTATION <enumeration>요소를 사용하여 간단한 타입을 만들 때 사용함.

연습문제