3.XML 기본 문법
■ 정형화된 XML 문서
-XML권고안에 정의된 XML 문서 생성 규칙을 잘 지켜서 작성된 문서
-하나의 루트 엘리먼트 존재
-각 엘리먼트는 시작태그&종료 태그 가짐
●ex)<student>...</student> or <student/>
-엘리먼트들은 올바르게 중첩되어야 함
■ 유효한 xml 문서
-정형화된 문서 + xml로 정의된 특정 마크업 언어로 작성된 문서
-정형화된 문서안에 유효한 문서 + 유효하지 않은 문서
■XML 문서 구조
-document = prolog(서두 1) element(루트 엘리먼트 1) Misc*(기타 0or여러개)
(1) XML 선언부(prolog)
-<?xml version="버전번호" encoding(문서를 어느 언어로 변환 할건지)="인코딩방식" standalone
(외부 정의된 DTD문서 참조 필요 여부 표시,default는 no)="yes/no"?>
-현재 작성중인 문서가 xml이다의 명시적 표현
-반드시 xml선언은 첫줄(주석이 첫줄에 있어도 안됨)
-<?xml로 시작,공백 x
-xml 문서 생성,저장,출력 시 동일 인코딩 방법 적용해야함(기본 UTF-8)
※ 한글 windows는 EUC-KR을 확장한 완성형 한글코드를 기본 인코딩으로
(2) XML element
-<element_name> element content</element_name>
-기본 규칙
.모든 xml문서는 단 하나의 루트 엘리먼트를 가짐
.엘리먼트는 시작태그+끝태그 한 쌍 , 태그명 동일
. 시작태그 + 끝태그 사이에는 엘리먼트의 내용(문자 data or 자식 엘리먼트)올 수 있음
.엘리먼트는 속성 가질 수 있음
-element 종류
.내용을 갖는 엘리먼트(공백문자 하나만 들어있어도) vs 내용이 없는 빈 엘리먼트
.ex) <book><title>인간과자연</title></book> vs <image src=".."/>
※element 작성 시 주의 사항
1.시작태그와 끝태그는 반드시 짝을 이뤄야함
2.속성은 속성명="속성값"(' ')//한 element에 같은 속성명 사용금지
3.'<' 문자는 엘리먼트 내용인 문자 data 및 속성값으로 사용 x
4. 시작태그 '<'다음에 공백문자 올 수 x,시작&끝 태그 이름 같아야 함
5. 엘리먼트들은 올바르게 중첩 & 태그 이름은 반드시 xml 이름 작성 규칙 따라야 함
●엘리먼트 내용으로 올 수 있는 것들
1) 문자 데이터 2) 자식 엘리먼트 ...3)CDATA 섹션 ect
1)
-xml이 해석 내용 중 마크업 제외 부분
-&(entity 참조 시작),< 문자 사용
<xml 문서에서 특수문자를 표현하는 방법>
- 개체 참조
:미리 정의되어 있음
ex) <study> < 과목 > </styudy> - 문자 참조:문자 코드 값을 직접 사용하여 문자를 나타냄
3) CDATA section
-대부분 문자 data인 PCDATA는 XML파서 해석
BUT 3)은 해석 x 바로 응용 프로그램에게 전달
ex) <!CDATA [ .....]]> :파서가 확인하지 않고 바로 전달.. 특수기호 많은 경우 이 섹션 사용
-공백 금지 ,CDATA안 다른 CDATA 섹션 포함 X , 반드시 대문자 사용
(3) XML 속성
- 엘리먼트의 부가정보나 data 표현 방법
- 1 element -> 여러개 속성 가질 수 있음
- 속성은 반드시 속성값 가져야 함
■처리 명령어
- 해당 xml 문서 처리 응용 프로그램에게 xml 문서 처리 방법을 지시함
- 형식
: <?name_processor instruction ?>
'XML' 카테고리의 다른 글
| 7.DOM (0) | 2024.04.25 |
|---|---|
| 6.XML Schema (0) | 2024.04.13 |
| 5.XML Namespaces (0) | 2024.04.12 |
| 4.DTD를 이용한 문서 구조 설계 (0) | 2024.03.31 |