달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  
2008/12/22 22:23

18. 일반 엔티티 선언하기 General Web2008/12/22 22:23


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. 일반 내부 파싱된 엔티티 선언하기

<!ENTITY EntityName EntityValue>

 

- 규칙 -

- 이름은 알파벳이나 언더스코어로 시작해서, 다음에 문자, 숫자, 구두점(.), 하이픈(-),

   언더스코어(_)를 자유롭게 사용할 수 있다.

- 엔티티 문서 내의 파라미터 엔티티와 동일한 이름을 가질 수 있다.

   엔티티는 엘리먼트나 속성과 같은 이름을 가질 수 있다.

- 엔티티 읆을 포함한 모든 마크업 내의 텍스트에서 대/소문자를 구분한다는 것을 기억.

   (Browser와 broswer는 다른 의미)

 

 

1) 일반 내부 파싱된 엔티티 정의

<!DOCTYPE ARTICLE

[

<!ELEMENT ARTICE (TITLEPAGE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA | SUBTITLE)*>

<!ELEMENT SUBTITLE (#PCDATA)>

<!ELEMENT INTRODUCTION (#PCDATA)>

<!ELEMENT SECTION (#PCDATA)>

<!ENTITY title "The Story of XML

<SUBTITLE> The Future Language of the Internet</SUBTITLE>">

]

>

이것은 다음과 같이 TITLEPAGE 엘리먼트 내에 삽입되어 있을 때 유효.

<TITLEPAGE>

TItle : &title;

Author : Michael Young

</TITLEPAGE>

 

다음과 같이 해석된다.

<TITLEPAGE>

TItle : The Story of XML

<SUBTITLE>The Future Language of the Internet</SUBTITLE>

Author : Michael Young

</TITLEPAGE>

 

 

2) 일반 외부 파싱된 엔티티 선언하기

<!ELEMENT EntityName SYSTEM SystemLiternal>

 

URI를 사용할 경우

<!ENTITY abstract SYSTEM "http//bogus.com/documents/Abstract.xml">

 

상대적인 경우

<!ENTITY abstract SYSTEM "Abstract.xml">

 

예) Topics.xml 을 일반 외부 파싱된 엔티티로 정의한 경우

<!DOCTYPE ARTICLE

[

<!ELEMENT ARTICLE (TITLEPAGE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA)>

<!ELEMENT INTRODUCTION ANY>

<!ELEMENT SECTION (#PCDATA)>

<!ENTITY topics SYSTEM "Topics.xml">

]

>

 

- Topics.xml 파일 내용 -

<HEADING>Topics</HEADING>

The Need for XML

The official Goals of XML

Standard XML Applications

Real-World Users for XML

 

이것은 다음의 문서에 유효하게 삽입된다.

<INTRODUCTION>

Here's what this article covers:

&topics;

</INTRODUCTION>

 

 

3) 일반 외부 파싱되지 않은 엔티티 선언하기

Type : <!ENTITY EntityName SYSTEM SystemLiternal NDATA NotationName>

 

<?xml version="1.0">

<!DOCTYPE BOOK

[

<!ELEMENT BOOK (TITLE, AUTHOR, COVERIMAGE)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT COVERIMAGE EMPTY>

<!ATTLIST COVERIMAGE Source ENTITY #REQUIRED>

<!NOTATION faun SYSTEM "ShowGif.exe">

<!ENTITY faun SYSTEM "faun.gif" NDATDA GIF>>

]

>

 

<BOOK>

<TITLE>The Marble Faun</TITLE>

<AUTHOR>Nathaniel Hawthorne</AUTHOR>

<COVERIMAGE Source="faun" />

</BOOK>

 

4) 노테이션 선언하기

<!NOTATION NotationName SYSTEM SystemLiternal >

 

URI의 경우 : SystemLiternal에 "http://bogus.com/ShowGif.exe"

상대적인 경우 : "ShowGif.exe"

저작자 표시 비영리 변경 금지
TAG
Posted by -세티-