Etc
2003.04.23 00:05

[세미나] XML 레포트..

Views 19702 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
루트 요소
XML 문서의 내용은 시작태그-내용-끝태그 세가지로 이루어진 요소를 사용한다.
이런점에서 HTML과 유사하다고 생각한다.
그러나 XML의 시작 태그와 끝태그는 대/소문자를 구분한다.
만약 ThisIsAnIntelligeble로 태그를 열었다면 끝나는 태그도 대소문자를 구분해서 써야한다.
XML이 이런 기능을 채택한 이유는 위험한 가정을 하기보다 가장 안전한 방법을 선택하려고 했다고 한다.(무슨말인지..)

빈요소라인-XML의 특별한 경우이다.
빈요소는 확실히 나타내 주어야 한다.
그러기 위해서는 특수한 빈태그의 끝구분자 "/>"를 사용한다.

ex)<empty_element />

또한 빈태그의 끝구분자 대신에 끝태그를 사용할수 있다.

예를 들어
<graphic source="file.gif" />과 
<graphic source="file.gif"></graphic>는 같은 내용이다.


속성 - HTML처럼 XML도 속성이 주어지는데 이 속성은 시작태그에서 지정된다.

즉, <element.type.name attribute.name="attribute.value">나
<problem size="huge" solution="run.away">
이런식으로..
만약 요소가 "명사"라면 속성은 형용사 꼴인 것이다.(요소를 꾸며주는..)


논리적 구조
homepage
  |
  |-- head
  |    |
  |    |_title
  |    |_banner
  |   
  |-- body
  |    |
  |    |_main.title
  |    |_rule
  |    |_text
  |       |_para
  |__ footer

XML문서에서 요소들의 배치를 "논리적 구조"라 한다.
위에서 보는 바와 같이 트리 구조인데
homepage는 루트 요소라 할수 있다.
XML문서는 하나의 루트 요소만 존재해야 하며 다른 태그들은 모두 이 요소안에 중첩되어 있어야 한다.
어떤 요소도 그 요소의 부분이나 전체가 바깥쪽 혹은 앞뒤에 있어서는 안된다.

다른 요소에서 볼때 요소와 요소 사이의 관계는..
요소를 포함하는 요소를 부모(parent)라 하고
그 요소에 포함된 요소를 자식(children) 또.. 부모 요소를 함께 갖는 요소들을 형제(sibling)라 한다.


물리적 구조 - XML의 주요 개념 중 하나가 엔티티(Entity)이다.
XML을 이해하기 위해 꼭 필요하다.
간단히 말해 엔티티는 물리적 저장 단위로 생각해도 된다.
엔티티는 객체이지만, 대부분 엔티티는 별도의 컴퓨터 파일로 생각할수 있다.
우리는 이미 엔티티를 알고 또 사용하고 있다.

예를 들어 <banner source="top banner.gif" />는 외부 엔티티 인 것이다.
XML은 외부 그래픽 파일을 포함하는 것에 대해 HTML보다 엄격하다.
요소의 배치에서 논리적 구조를 보듯이, 엔티티의 배치에서는 물리적 구조를 보여준다.
엔티티는 다른 엔티티를 참조할수 있으며 XML 문서를 포함할수 있다.
요소간의 충돌 외에도 루트 엔티티에서 어떤 요소를 열었을때 외부 엔티티를 참조한다고 생각해 보자.(문제가 되지 않는다)
그러나 방금 연 요소에 대한 끝 태그에 포함되어 있다면 논리적 구조가 깨져 버린다.
이런 문제를 방지하기 위해 XML 엔티티의 논리적/물리적 구조는 반드시 동기화 되어야 한다.
논리적 엔티티는 물리적 엔티티의 경계를 넘을 수 없으며 물리적 엔티티는 논리적 엔티티에 완전히 포함되어야 한다.

============================================================
HTML과 비슷하게 생각했었다.
그러나 개념을 새로 공부해야 겠다는 생각이 든다.
지금까지 공부한 부분에서는 물리적/논리적 구조를 잘 파악하고
엔티티를 참조할때의 오류를 잘 막아야 겠다.
HTML에 비해 외부 엔티티 참조 부분에서 더 복잡하고 엄격한거 같다.
?

List of Articles
No. Category Subject Author Date Views
1061 System/OS [linux] 종료와 종료코드 확인(환경변수에서) hooni 2003.04.23 15538
1060 System/OS [linux] 셀 스크립트 if, for, case in.. hooni 2003.04.23 13684
1059 System/OS [linux] 스케쥴링 순서(nice) 변경하기 hooni 2003.04.23 12534
1058 System/OS [linux] 기존 환경설정 저장하면서 커널 컴파일.. hooni 2003.04.23 13456
1057 System/OS [linux] Proftpd 설치 가이드 hooni 2003.04.23 13021
1056 Develop [c] 간단한 자료구조(stack, queue, linked list) 구현 소스 6 file hooni 2003.04.23 10106
1055 Develop [c] 파일입출력, 링크리스트(linked list)를 이용한 주소록(도스용) 소스코드 1 file hooni 2003.04.23 11141
1054 Develop [c] 테트리스(Tetris) 게임(도스용) 소스코드 file hooni 2003.04.23 11467
1053 Develop [c] flooding 알고리즘 미로 찾기(도스용) 소스코드 9 file hooni 2003.04.23 12497
1052 Develop [jsp][php] 간단한 강좌 자료.. file hooni 2003.04.23 8100
1051 Develop [c] 학생명단 관리 프로그램 소스 ㅋㅋ 1 file hooni 2003.04.23 7761
1050 Develop [c] 근의 공식으로 2차방정식 풀기.. file hooni 2003.04.23 7764
1049 Develop [c] 이진트리(binary tree)의 운행.. hooni 2003.04.23 8255
1048 Develop [c] 이진트리(binary tree)의 특성 file hooni 2003.04.23 9598
1047 Develop [자료구조] 트리(tree) 용어정리 file hooni 2003.04.23 11058
1046 Develop [c] 농구팀 점수 산출 프로그램 소스 file hooni 2003.04.23 7372
Board Pagination Prev 1 ... 6 7 8 9 10 ... 74 Next
/ 74