xml 문법사항

xml 문법사항

마크업 랭귀지(ml)

<>로 묶는 언어

용도

문서나 데이터 저장용

호환성

서로 다른 종의 운영체제에 호환성이 높다.

사용자 정의 태그

지정된 태그를 사용하는 것이 아니다.

태그를 만드는 문법

1) 알파벳이나 한글 시작(단, 알파벳은 대소문자 구분)

2) 숫자는 사용 가능(단, 앞에 사용 금지)

3) 특수문자 (  _   –  .  )

   <file-name> <file_name> <file.name>

4) 예약어는 사용 금지 (딱 하나 있음. xml)

5) 최상위 태그는 반드시 한 개만 존재

     <a>

        <b></b>

        <c></c>

     </a>

포함관계가 명확해야 한다. (계층구조(하이어라키)를 명확히 해야한다)

6) 태그의 종류

여는 태그 <a>

닫는 태그 </a>

단독 태그 <a/>  (열고 닫는게 동시에 됨)

7) 태그에 공백이 있으면 안된다: < a >는 없다. <a>로 붙여써야.

8) 속성 <a href=””> 반드시 따옴표””를 써야 한다.

<name>데이터</name> column과 같다.

특징

XML은 파일형 데이터베이스이다.

XML은 반정형 데이터다.

XML은 태그+속성 이다.

XML에서 값 가져오기

우리는 XML에서 값을 가져올 수 있다.

(1)여는 태그와 닫는 태그 사이의 값을 가져올 수 도 있고, (2)속성을 가져올 수도 있다.

태그 정의하기(DTD만들기)


<!ATTLIST 태그명/속성명 타입 옵션>

<a href=””>

<!ATTLIST a href CDATA #REQUIRED

                          타입       옵션


■ 태그명/속성명

+ : +는 반드시 한 번 이상 사용하며, 여러번 쓸 수 있다.

        ex) <!ELEMENT sawon (list+)>

                  list+ 를 주면 반드시 한 번 써야 한다.

         

* : 별*은 여러 번 쓸 수도 있고, 한 번도 안 써도 된다.

​? : 한 번 사용하거나, 사용하지 않아도 된다.  ex) table의 caption 태그. (표에서 한 번만 사용할 수 있는 타이틀용 태그임)

| : 여러 개 중 한 개 선택. or와 같다.

​        ex) <!ELEMENT list (sabun,name,addr?,hp|tel)>


default : 반드시 한 번만 사용

        ex) <!ELEMENT sawon (list)>

               ‘사원’ 안에는 ‘리스트’가 있다는 뜻


■ 타입

CDATA

CDATA는 character data의 약자다. 공백을 포함해서 들어가는 문자를 쓸 수 있다.

ID

중복값을 허용하지 않는다 (ID #REQUIRED는 프라이머리 키와 같다)

IDREF , IDREFS

포린 키와 같다. IDREF는 한 개, IDREFS는 여러 개를 참조.

NOTATION  

DTD의 단점: 모두 문자열이다(숫자형이 없다), 예를 들면 전화번호나 형식을 지정할 수가 없다. 이를 보완한 파일이 스키마이다. (스프링에서 자주 쓰인다)


■ 옵션

1. 리콰이어드 (#REQUIRED)
낫 널 (NOT NULL널이 들어가선 안된다. 예를 들면 xml의 버젼. ex: <?xml version=”1.0“?>)


2. 임플리드 (#IMPLIED)

널값이 들어가도 된다. 써도 되고, 안써도 된다. 예를 들면 xml의 인코딩. 한국인이 필요해서 쓰는 것이다. <?xml version=”1.0″ encoding=”UTF-8″?>)

3. 픽시드 (#FIXED)

고정값.  #FIXED “aaa”;  (오라클의 디폴트와 같다)

DTD 가져다 쓰기

DTD(document type definition)는 xml문서의 타입을 정의하는 문서이다.

우리가 아는 DTD 파일은 loose.dtd가 있다.

dtd 파일이 없으면 마이바티스에 필요한 xml을 다 외워써야 한다.

dtd 파일을 갖다놓으면 xml 태그를 ctrl+space로 불러낼 수 있다.

ex) 마이바티스 DTD 가져다 쓰기

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd>