Contents

Etc
2003.04.23 00:05

[세미나] XML 레포트..

조회 수 19697 댓글 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 Develop [php] 3 Ways to Detect Mobile or Desktop in PHP file hooni 2020.01.28 3706
32 System/OS RPA란? 어디에 어떻게 쓰이고 누가 만드나? file hooni 2020.01.28 1340
31 System/OS Configure Postfix to Use Gmail SMTP on Ubuntu 18.04 file hooni 2020.02.07 1228
30 Develop [ios] Start developing your navigation app for CarPlay without enrollment file hooni 2020.02.22 124583
29 Develop [sh] html 안에 있는 img 다운 받는 쉘 스크립트 file hooni 2020.05.26 623
28 Develop [sh] 쉘스크립트 if 비교 연산 hooni 2020.05.26 59001
27 System/OS [linux] The Ultimate Wget Download Guide With 15 Awesome Examples hooni 2020.05.26 779
26 System/OS [linux] wget 명령 사용 예제 hooni 2020.05.26 1414
25 System/OS [mac] VirtualBox 실행 스크립트와 bash_profile 설정 file hooni 2020.07.08 927
24 System/OS How to Install and Use wget on Mac file hooni 2020.09.03 1257
23 System/OS Apache CORS 설정 1 hooni 2020.09.04 2687
22 Develop [js] Text 값을 클립보드에 복사하기 hooni 2020.10.10 663
Board Pagination Prev 1 ... 89 90 91 92 93 94 95 96 97 98 Next
/ 98