'Web/XML'에 해당되는 글 4건

XML - DTD 선언하기(2) 2010.05.11
XML - DTD 선언하기 2010.05.11
XML - DTD& Schema 2010.04.25
XML - XML의 기초 2010.04.25

XML - DTD 선언하기(2)

Published on: 2010.05.11 23:50 by krespo

1. 하위 요소들 포함을 지정하기 위한 방식
1) (  ): 그룹화
2)   ,  : 순차적으로
3)   |  : 선택적으로
4)   ?  : 생략하거나 하나
5)   +  : 한번 나오거나 다수
6)   *  : 생략하거나 다수
 (x , y) : x 와 y가 둘 다 순서대로 나와야 함
 (x | y) : x 와 y 둘 중에 하나만 나와야 함
 (x? , y) : x 와 y가 순서대로 나오거나 y만 나와야 함
 (x+ , y) : x 가 한번 이상 나온 후에 y가 나와야 함
 (x* , y) : x 가 생략되거나 한번 이상 나온 후에 y가 나와야 함


 
신고

'Web > XML' 카테고리의 다른 글

XML - DTD 선언하기(2)  (0) 2010.05.11
XML - DTD 선언하기  (0) 2010.05.11
XML - DTD& Schema  (0) 2010.04.25
XML - XML의 기초  (0) 2010.04.25
Name
Password
Homepage
Secret

XML - DTD 선언하기

Published on: 2010.05.11 23:34 by krespo

1. DTD 선언의 기초
DTD 문서의 기초는 다음과 같다.


이와 같이 XML 선언문 바로 아래 DOCTYPE라는 것을 선언해 주고 그 안에 DTD 세부 내용을 기술한다.
DTD문서의 예 -


2. DTD 선언의 기초 - Element 선언
DTD 문서 선언 사이에 Element 키워드를 사용하여 기술한다.


Element 선언시에 들어가는 요소유형에는 5가지가 있다.

1) 내용이 없는 Empty Element
<!ELEMENT 요소이름 EMPTY >
예 -


2)내용에 텍스트를 갖는 Element
<!ELEMENT 요소이름 (#PCDATA) >
예 -


3)내용에 하위요소를 갖는 Element - 괄호 안의 태그 이름들이(tagName1, tagName2) 요소이름의 하위 태그 들이다.
<!ELEMENT 요소이름 (tagName1, tagName2) >
예 -


4)내용에 혼합 내용 모델을 갖는 Element
<!ELEMENT 요소이름 MIXED모델 >
-> <!ELEMENT 요소이름 (#PCDATA | child1 | child2 )* > : 즉 요소이름이라는 태그는 문자열이 올수도, child1 또는 child2 노드가 올수도 있고 이것들이 계속 반복 (*) 될수 있다는 뜻이다.
예 -


5) 내용에 모든 것 (아무거나)을 갖는 Element 선언
<!ELEMENT 요소이름 ANY >
예 -
신고

'Web > XML' 카테고리의 다른 글

XML - DTD 선언하기(2)  (0) 2010.05.11
XML - DTD 선언하기  (0) 2010.05.11
XML - DTD& Schema  (0) 2010.04.25
XML - XML의 기초  (0) 2010.04.25
Name
Password
Homepage
Secret

XML - DTD& Schema

Published on: 2010.04.25 20:38 by krespo

1. DTD & Schema
DTD와 Schema는 XML의 구조적이거나 제약조건을 명시해 주는 문서로서 DTD는 문서 내, 외에 선언가능하고 Schema는 문서 외부에만 선언 가능합니다.
이런 DTD와 Schema는 편리성을 떨어 트리기도 하지만 XML을 valid한 문서로 만들기 위해서는 꼭필요한 요소입니다.

보통 XML은 두 가지  형태로 정의합니다.
1) Well - Formed XML
2) Valid XML

먼저 Well - Formed 는 잘 만들어진 문서라는 뜻으로서 XML 스펙 1.0의 요구조건을 최소한 만족하고 있는 문서를 Well - Formed 라고 합니다.
그렇다면 XML스펙의 요구조건은 무엇이 있을까요?
- 시작태그와 끝태그가 일치 해야한다.
- Root Element는 오로지 하나만 존재해야 한다.
- 태그를 지정할 때 대소문자를 구분한다.
- 속성값은 받으시 인용부호 (" 나 ')를 사용해야 한다.
- 하나의 요소에서 속성을 반복하여 사용해서는 안된다.
- 하부 요소는 중첩 하여 사용할 수 없다.


이런 정도의 요구조건을 만족하고 있다면 Well - Formed인 문서라고 말 할 수 있습니다.
Valid한 문서라는 것은 DTD나 Schema에 선언된 내용을 잘 준수하고 있는지에 대한 내용입니다.

두 내용다 에러가 없는 문서라는 것이 일맥 상통하지만 Well - Formed 문서라고 해서 모두 Valid한 문서가 아닐수도 있습니다.

예) Well - Formed하지만 valid한 문서가 아닌 경우


다음 문서는 시작태그와 끝태그가 일치해야 한다는 Well - formed XML문서의 규칙을 지키고 있음으로 Well - formed 문서입니다.

하지만 DTD에 선언된 루트태그 이름은 "RootElement" 이지만 실제 루트 태그는 "루트" 로서 DTD문서의 선언을 따르고 있지 않기 때문에 이 XML문서는 Valid 하다고 말 할 수는 없습니다.

이렇듯 Well - formed와 valid의 의미는 다르며 보통 AJAX를 통하여 통신하거나 하는 작은 단위의 XML문서는 DTD나 Schema를 설정하지 않지만 좀더 단위가 큰 문서에서는 DTD와 Schema를 설정해 줌으로서 Valid한 문서를 만드는 것이 호환성을 더 높이는 일입니다.
신고

'Web > XML' 카테고리의 다른 글

XML - DTD 선언하기(2)  (0) 2010.05.11
XML - DTD 선언하기  (0) 2010.05.11
XML - DTD& Schema  (0) 2010.04.25
XML - XML의 기초  (0) 2010.04.25
Name
Password
Homepage
Secret

XML - XML의 기초

Published on: 2010.04.25 20:17 by krespo

XML (extensible markup language)란?

XML이란 1998년 2월 W3C 에서 XML 1.0의 권고안 스펙이 발표되면서 표준화 되었습니다.
보통 markup language라 하면 시작 태그와 닫는 태그로 이루어진, <, </ 로 시작되고 닫는 태그를 마크업 랭기지 라고 하는데 HTML같은 언어도 markup language라고 합니다.

보통 XML문서는 두가지 기능이 있습니다
1) 문서로서의 기능
2) 다른 시스템으로의 데이터 전송


1)문서로서의 기능은 XML자체에 스타일을 배제 함으로서 구조와 내용을 포함 한 구조이기 때문에 표준화 형식으로 만들어 놓고 스타일을 입히는 방식으로 사용합니다.

2)다른 시스템으로의 데이터 전송의 대표적인 예로는 AJAX입니다. (AJAX - Asynchronous Javascript And XML = 즉 자바스크립트로 XML데이터를 주고 받겠다는 의미)

이렇듯 XML의 데이터는 문서로서, 혹은 데이터 전송으로서 많이 사용하고 있고 그 중요성은 날로 커지고 있습니다.

1. XML의 선언
- XML문서의 최 상단에 다음과 같이 선언해 주어야 한다.


이때 주의 하실 점은 항상 XML선언문은 XML문서의 최상위에 나와야 한다는 점입니다.

만약 XML문서 선언문이 최상위가 아니라 그위에 주석이라든가 공백이 들어가게 되면 에러가 발생하게 됩니다.

<잘못된 예>


위와 같이 선언하면 안되고 아래와 같이 선언해야 합니다..

<잘된 예>


XML 선언문의 encoding문은 xml문서를 어떤 인코딩으로 처리 할 것이냐를 선언하는 것으로서 표기해도 되고 안해도 되는 옵션값 입니다..
표기하지 않으면 일반적으로 UTF-8 이 기본값입니다.

2.XML의 구조

XML 선언문 - <?xml version="1.0" ................. ?>

Processing Instructions - XML을 처리할때 어떻게 처리 할 것인가를 선언, XSLT 선언문을 입력(선택사항)

DTD 또는 XML 스키마 선언문(선택사항)

<RootElement>
         <Child element>                                                                                      - 바디 부분, XML의 내용을 기술
            .....................
</RootElement>

신고

'Web > XML' 카테고리의 다른 글

XML - DTD 선언하기(2)  (0) 2010.05.11
XML - DTD 선언하기  (0) 2010.05.11
XML - DTD& Schema  (0) 2010.04.25
XML - XML의 기초  (0) 2010.04.25
Name
Password
Homepage
Secret