728x90
반응형
SMALL
엘리먼트
엘리먼트 내용
속성
주석
프로세싱 지시자
1. 엘리먼트
1. 엘리먼트 작성 문법
- 모든 XML 문서는 단 하나의 루트 엘리먼트(root element)를 가짐
- 시작 태그와 끝 태그로 구성됨
- 태그명은 동일해야 함 - 부가적인 정보를 나타내는 속성(attribute)을 가질 수 있음
- 시작 태그와 끝 내그 사이에는 엘리먼트(element)와 실질적인 내용(content)이 옴
- 문자 데이터 및 자식 엘리먼트(element)가 올 수 있음
엘리먼트의 구성요소
2. 엘리먼트의 종류
ㄱ. 내용을 가지는 엘리먼트
ㄴ. 내용이 없는 빈 엘리먼트
3. 엘리먼트 작성 시 주의할 점
ㄱ. 시작 태그와 끝 태그는 반드시 짝을 이루어야 함
내용이 없는 빈 엘리먼트는 시작 태그의 끝에 / 를 붙여주어 시작태그인 동시에 끝 태그임을 표시함 | <image></image> <image /> |
ㄴ. 속성은 반드시 속성명 = 속성값 형태로 두 개 이상 올 수 없음
<image src ="C:\img\img1.gif" / >
ㄷ. 태그를 나타내는 < 문자는 엘리먼트 내용인 문자 데이터 및 속성값으로 사용할 수 없음
> 문자는 사용해도 되지만 가급적 사용하지 않음 | <title>Java<XML</title> |
ㄹ. 태그 이름 중간에는 공백 문자가 올 수 없으며, 시작 태그와 끝 태그 이름은 같아야 함
한 엘리먼트에 같은 속성명은 두개 이상 올 수 없음 | <auth or>홍길동 </auth or> |
ㅁ. 엘리먼트는 중첩되어 작성될 수 없음
시작 태그와 끝 내그 사이에 다른 엘리먼트의 시작 태그가 존재할 수 없음을 의미함 | 잘못된 예 <author> <publisher> 김은호 </author> 홍길동 </publisher> |
ㅂ. 태그 이름은 이름 작성 규칙을 따라야 함
이름 작성 규칙 | |
1 | 이름은 문자로 시작할 수 있지만 숫자나 " -" , " . " 으로 시작할 수는 없음 |
2 | 두 번째 문자부터는 숫자 및 " - " , " . " 도 가능함 |
3 | 태그 이름에 공백을 포함시킬 수 없음 |
4 | " : " 문자는 쓸 수는 있지만 네임스페이스에 관련된 기호이므로 사용하지 않음 |
5 | 태그 이름은 대소문자를 구별하므로 철자가 같다고 해서 같은 태그가 아님 |
6 | 시작 태그의 " < " 다음에 공백 문자가 올 수 없으며, 시작과 종료 태그 이름은 같아야 함 |
태그 이름은 이름 작성 규칙을 따라야 함
올바른 예 | 잘못된 태그의 예 |
<book> <_book> <책> <book_1> <book-1> <book> |
<7book> : 첫 글자는 숫자를 사용할 수 없음 <c++> : " _ " , " - " , " . " , " : " 이외의 특수 문자는 사용할 수없음 <book list> 태그 이름에 공백을 사용할 수 없음 < book> " < " 다음에 공백을 두어서는 안됨 |
2. 엘리먼트 내용
1. 엘리먼트 내용으로 올 수 있는 것들
2. 문자 데이터
문자 데이터 | XML 프로세서가 해석할 수 있는 내용 중에서 마크업을 제외한 부분 |
XML 1.0 권고안의 마크업(markup)
XML선언 | <? xml version="1.0"?> |
문서 유형 선언 | <!DOCTYPE booklist SYSTEM :bml.dtd"> |
프로세싱 지시자 | <?xml-stylesheet type="text/xsl" href ="bml.xsl"?> |
주석 | <!-- 주석 내용 --> |
시작 태그 및 끝 태그 | <book> </book> |
빈 엘리먼트 태그 | <image src="C:\img\img1.gif" /> |
엔티티 참조 | DTD 에 정의되어 있는 엔티티 참조 (&pub1) |
문자 참조 | 
진수; 진수; |
CDATA 섹션 구분자 | <![CDATAp[문자 데이터 ]]> |
최상위 공백 문자열 | XML 문서 구성요소 중 루트 엘리먼트 외부에 있는 공백 문자열 |
text 선언 | <?xml version="1.0" encoding="euc-kr"?> |
문자 데이터 내에는 &문자와 < 문자를 사용할 수 없음
& 문자 | 엔티티 참조의 시작을 의미함 |
< 문자 | 엘리먼트의 태그, CDATA 섹션의 시작을 의미함 |
빌트인 엔티티의 참조 또는 문자 참조로 사용이 가능함
문자 | 엔티티 참조 | 문자 참조 | 사용 예 |
& | & | 16진수 (&) 10진수 (&) |
<title XML & JAVA</title> |
< | < | 16진수 (<) 10진수 (<) |
<식>3 < 5 </식> <식>3 < 5 </식> |
> | > | > > | <식>5 > 3</식> 속성값에 > 문자를 삽인할 경우 |
" | " | " " | <book kind="&qout; computer &qout;"> 속성값에 " 문자를 삽입할 경우 |
' | ' | ' ' | <book kind ='mincheol'sbook'> 속성값에 ; 문자를 삽입할 경우 |
3. 자식 엘리먼트
엘리먼트 내용으로 자식 엘리먼트를 포함할 수 있음
4. 엔티티 참조(Entity Reference)
ㄱ. 자주 쓰이는 내용을 엔티티로 정의함
ㄴ. XML 문서에서 엔티티로 정의된 내용과 동일한 내용이 작성되어야 할 부분에 엔티티 참조를 사용함
DTD 문서에서 ENTITY 참조 : <!ENTITY kr "대한민국">
5. 문자 참조 (Character Reference)
문자 참조 | 문자 집합 코드표상에 언급되어 있는 코드값을 직접 사용하여 문자를 나타내는 것 |
&#x(16진수 코드값); 또는 &#(10진수 코드값);
문자 | 16진수 | 10진수 |
스페이스 |   |   |
텝 | 	 | 	 |
6. CDATA 섹션
PCDATA(Parsed Character DATA) | 대부분의 문자 데이터 XML 파서가 해석하는 데이터 |
CDATA 섹션 내에 정의된 문자 데이터 | XML 프로세서가 해석하지 않고 바로 응용프로그램에게 전달함 문법 : <![CDATA[ 문자 데이터 ]]> |
7. 프로세싱 지시자
사용목적
- 문서 서두 부분에 기술되어 응용프로그램이 XML 문서를 처리하기 위한 정보 전달에 사용함
-> 일반적으로 엘리먼트의 내용 content 부분에는 프로세싱 지시자가 오지 않는다. - 가장 많이 사용하는 처리 명령어는 CSS와 XSL을 적용하기 위한 처리 명령어임
스타일 처리기에 'href="ex.css" type="text/css" ' 라는 명령을 전달함 | <?xml-stylesheet 'href="ex.css" type="text/css"?' |
nameprocessor에 'SELECT * FROM emp ' 라는 명령을 전달함 | <?nameprocessor SELECT * FROM emp ?> |
MyApp1에 'parm1="v1" parm2="v2" ' 라는 명령을 전달함 | <?MyApp1 param1="v1" parm2 ="v2" ?> |
8. 공백문자열(white space)
공백 문자열 | 하나 이상의 공백 문자들로 구성된 문자열 |
XML 1.0 권고안 | 스페이스(#x20), 탭(#x9), 캐리지 리턴(#xd), 라인 피드(#xa)만을 공백 문자로 분류하고 있음 |
XML 프로세서 | 공백 문자열을 하나의 공백 문자로 취급함 |
3. 속성
1. 속성 작성 문법
속성 (attribute) |
엘리먼트에 부가적인 정보를 줄 수 있음 |
속성명 = 속성값으로 표기함 | |
'=' 앞과 뒤에 공백을 둘 수 있음 | |
한 개의 앨리먼트는 같은 속성명을 2번 이상 기술할 수 없음 | |
<시작태그명 속성명 = " 속성값 " 또는 속성명 ='속성값'> 내용 </끝태그명> |
속성 작성 문법
속성명 | XML 권고안에 언급되어 있는 이름 작성 규칙을 따라야 함 |
<book id = 'id' kind = '컴퓨터'> <image src = 'background.gif' /> |
4. 주석
주석 | XML 문서를 작성하는 사람은 물로 XML 문서를 읽는 사람이 좀 더 쉽게 이해할 수 있도록 덧붙인 설명 |
<!-- 주석은 이렇게 되는 것이다 -->
5. 프로세싱 지시자
프로세싱 지시자 (processing instruction) |
해당 XML 문서를 처리하는 응용프로그램에게 XML 문서의 처리 방법을 지시하는 내용을 담고 있음 |
<?타깃이름 지시자?>
타깃 - 타깃 이름
- 태그 이름 작성 규칙과 동일함
- 프로세싱 지시자를 처리하는 응용프로그램을 식별하는 역할을 함
- 지시자는 해당 응용프로그램이 어떻게 문서를 처리하는지에 대한 내용임
728x90
반응형
LIST
'전공공부 > XML' 카테고리의 다른 글
DTD 개요, 문법 (0) | 2022.05.02 |
---|---|
표기법과 XML문서의 구조 (0) | 2022.04.24 |
XML 문서의 종류 (0) | 2022.04.24 |
XML 이란? (0) | 2022.04.24 |
댓글