Contents

Etc
2003.04.23 00:05

[세미나] XML 레포트..

조회 수 19696 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
루트 요소
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
번호 분류 제목 글쓴이 날짜 조회 수
33 Database [mysql] 쓰레드가 계속 쌓이기 시작하고 사라지지 않을때.. hooni 2003.04.23 12782
32 System/OS [linux] 콘솔/Xwindow 에서 PC스피커 소리 없애기 hooni 2003.04.23 16350
31 Develop [c] 프로그래밍 ppt, 스킬업 (비트 수업자료) file hooni 2003.04.23 8177
30 Develop [c++] p.118 확인학습 5번 hooni 2003.04.23 10734
29 Develop [c++] p.58 연습문제 2번 hooni 2003.04.23 16296
28 Develop [c++] p.47 연습문제 3번 hooni 2003.04.23 10105
27 Develop [opengl] 컴퓨터 그래픽스 강의 자료(수업자료) file hooni 2003.04.23 20432
26 Develop [c] 그래픽스 자료(OpenGL 라이브러리) 샘플 소스 file hooni 2003.04.23 10181
25 Database [sql] 간단한 SQL 문법 정리 hooni 2003.04.23 12547
24 Develop [c] 간단한 채팅(클라이언트/서버) 프로그램 소스 file hooni 2003.04.23 9067
23 Develop [c] 팩토리얼.. - 재귀함수 hooni 2003.04.23 9500
22 Develop [c] 하노이탑 - 재귀함수 hooni 2003.04.23 9152
Board Pagination Prev 1 ... 89 90 91 92 93 94 95 96 97 98 Next
/ 98