XML 간단한 설명
XML (eXtensible Markup Language) 정의 ~.xml
eXtensible : 확장 가능한 Markup : 마크업 Language : 언어(규칙)
쉽게 표현하면 새로운 태그를 만들 수 있는 규칙 정도의 뜻이다.
XML은 메타 언어(Meta Language)
언어를 표현하는 언어라는 뜻이다.
즉, 태그를 이용하여 문서의 의미를 표현하는 언어라는 뜻이다.
예를 들어 <가수>원더걸스</가수> 에서 원더걸스는 가수라는 추가 정보가 있는 것이다.
XML의 역사
SGML 과 HTML 의 장점을 결합한 것이 XML 이다.
XML 공부하려면 최소한 에디터와 브라우저만 있으면 된다.
1. XML 을 공부하려면 유니 코드를 지원하는 에디터
(메모장, 울트라에디터, 에디트플러스 등)
2. XML 브라우저
(인터넷 익스플로러, 파이어 폭스 등)
XML 문서는 Well-Formed Document와 Valid Document로 나뉜다.
1. Well-Formed Document : 한 마디로 여는 태그와 닫는 태그만 맞으면 된다.
2. Valid Document
DTD나 XML 스키마로 XML 문서의 규칙을 지정하는 데 이 규칙에 맞으면 된다.
----------------------------------------------------------
DTD : Document Type Definition ~.dtd
XML 문서의 규칙을 지정.
DTD 의 서브셋
텍스트 선언, 엘리먼트 선언, 속성 선언, 엔티티 선언, 노테이션 선언,
프로세싱 지시자 선언, 파라미터 엔티티 참조, 주석, 공백, 컨디셔날 섹션
텍스트 선언
<?xml version="1.0" encoding="UTF-8" ?>
주석
<!-- 주석 -->
엘리먼트 = 태그
1. 여는_태그 <가수>
2. 내용 원더걸스
3. 닫는_태그 </가수>
엘리먼트 내용에 나올 수 있는 것
1. #PCDATA
2. 자식_엘리먼트
3. EMPTY
4. MIXED
5. ANY
자식 엘리먼트 리스트 표현 방법
1. , : <!ELEMENT 연예인 (전화번호, 주소)> ; 전화번호 다음에 주소가 나온다.
2. | : <!ELEMENT 분류 (가수 | 배우)> ; 가수 / 배우 중에 하나가 나온다.
3. ? : 생략하거나 한번만 나온다.
4. + : 한번 이상
5. * : 생략하거나 여러 번
속성의 디폴트 선언
1. #IMPLIED : 생략 가능
2. #REQUIRED : 필수
3. #FIXED : 고정값
4. "임의의_내용"
엔티티 분류
1. 물리적인 저장 단위 분류 : 내부, 외부
2. 사용되는 곳 : 일반, 파라미터
3. 문자인지 여부 : 파스드, 언파스드
빌트인 엔티티
5개 ( < , > , & , " , ' )
노테이션 == MIME 타입
----------------------------------------------------------
XML 스키마 : XML Schema ~.xsd
DTD 보다 정확한 자료 구조 표현 가능.
외부 스키마 참조
include, import, redifine, anotation
엘리먼트와 속성 선언
element, attribute, simpleType, complexType, group, attributeGroup, notation, anotation
----------------------------------------------------------
XPath (XML Path Language)
XML문서에서 태그와 속성에 접근하기 위한 경로를 지정하는 언어.
운영체제의 폴더(디렉토리)에 비유된다.
경로 구분 : 절대 경로, 상대 경로
----------------------------------------------------------
XSL ( eXtensible Stylesheet Language ) ~.xsl
확장 가능한 스타일 시트 언어
XML 문서를 다양한 형태로 변환할 때 사용한다.
XSL 구성 파트
1. XSLT (XSL Transfomation)
2. XPath (XML Path Language)
3. XSL-FO (XSL Fomatting Object)