slide1
Download
Skip this Video
Download Presentation
간단한 DTD 작성

Loading in 2 Seconds...

play fullscreen
1 / 75

간단한 DTD 작성 - PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on

간단한 DTD 작성. <?xml version="1.0" encoding= “ euc-kr"?> <memo> <body> <p> 컴퓨터 시스템 구축을 위한 회의가 내일 오후 2 시부터 시작될 예정으로 있으니 꼭 참석하여 주시 기 바랍니다 . </p> <p> 회의 참석 여부를 오늘 중으로 제게 알려 주시 기 바랍니다 . </p> </body> </memo>. 첫번째 문서를 위한 DTD. DTD 를 XML 문서에 포함시킬 경우.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '간단한 DTD 작성' - gustav


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

컴퓨터 시스템 구축을 위한 회의가 내일 오후

2시부터 시작될 예정으로 있으니 꼭 참석하여 주시

기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시

기 바랍니다.

slide3
첫번째 문서를 위한 DTD
  • DTD를 XML 문서에 포함시킬 경우

DTD의 내용

]>

dtd xml
DTD가 추가된 XML 문서

]>

컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터

시작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

body p
body와 p 요소를 추가

컴퓨터 시스템 구축을 위한 1차 회의가 내일 오후 2시부터 시작

될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

컴퓨터 시스템 구축을 위한 2차 회의가 모레 오후 4시부터 시작

될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

slide6
DTD 변경
  • 하나 이상의 body 요소가 올 수 있도록 변경된 DTD

body p1
body와 동일한 수준으로 p 요소 사용

]>

컴퓨터 시스템 구축을 위한 1차 회의가 내일 오후 2시부터 시작

될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

slide9
확장된 XML 문서

To:

홍길동

From:

장길산

2000. 8. 15.

컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터

시작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

header dtd
header 요소를 변경한 DTD

(date, to, from)) >

slide12
DTD 작성 연습

XML

강감찬

[email protected]

2000. 7. 22.

What is XML?

SGML light.

What can I use it for?

Anything.

dtd document type definition

DTD (Document Type Definition)작성법

DTD는 문서 타입 정의(Document Type Definition)를 나타낸다.

DTD는 엘리먼트 , 속성, 표기법, 문서에 포함된 엔터티의 목록

뿐만 아니라 각 요소 간의 관계도 알려준다.

즉, DTD는 문서의 구조에 사용되는 규칙의 집합을 지정한다.

dtd document type definition1

]>

Hello XML!

DTD (Document Type Definition)작성법

프롤로그 (prolog):XML 선언 Document Type Declarations

루트 엘러먼트

dtd document type definition2
DTD (Document Type Definition)작성법
  • 첫 번째로 할 일은 루트 엘리먼트를 구분하는 것이다.
  • ]>
  • 단순히 루트 태그가 memo라는 사실을 알려 준다.
  • memo 엘리먼트가 무엇을 포함할지, 무엇을 포함하지
  • 않을 지지에 관해서는 말하지 않는다.
slide16
요소 정의
  • 요소 정의 문법

  • 자식 목록

각 엘리먼트는 다른 선언에서 자식으로서 사용되더라도 그 자신의 를 선언에 정확히 한 번은 선언되어야 한다.

slide17
요소 정의
  • SEQUENCE
  • 콤마로 분리된 자식 엘리먼트의 목록을 시퀀스라 부른다.
  • memo 엘리먼트 다음에 정확히 하나의 header 엘리먼트와
  • 두 개의 body 엘리먼트가 그 순서대로 나타나야 한다.
  • 하나 혹은 하나 이상의 자식 엘리먼트
  • (+) 기호를 추가해서 주어진 엘리먼트를 하나 이상 추가하기 원한다는 것을 나타낼 수 있다.
  • 자식 엘리먼트가 없거나 많이 가지고 있는 경우
  • 자식 엘리먼트가 없거나 하나일 경우
slide18
요소 정의
  • 선택(CHOICE) : |
  • 여러 자식 엘리먼트 중 하나의 엘리먼트를 선택할 때 사용
  • 괄호가 있는 자식 엘리먼트
  • 그룹핑할 때 사용
  • 혼합된 키워드(MIXED CONTENT)
  • 콤마, 물음표,프러스 기호 사용 불가
  • EMPTY 키워드

    • or
slide19
요소 정의
  • ANY 키워드

]>

좋은 내용

좋은 내용입니다. 좋은 일이 있으시기를…

slide20
요소 생성에 사용되는 기호
  • | : OR 조건
  • , : 명시된 순서대로 나타남
  • ? : 0번 또는 한번 나타남
  • * : 0번 또는 한번 이상 나타남
  • + : 한번 이상 나타남
  • () : 그룹 요소
slide21
XML의 데이터 타입
  • #PCDATA
    • parsed character data
    • <, >, & 기호가 없는 데이터
    • 일반적인 마크업 문자 데이터
    • 모든 단말 노드는 #PCDATA로 정의
  • CDATA
    • character data
    • <, >, & 기호가 있는 데이터
    • 속성의 내용을 CDATA로 정의
pcdata
#PCDATA의 문제점
  • XML에서는 모든 정보를 #PCDATA로 정의
  • 특수한 데이터 타입으로 지정할 수 없음
    • 스트링, 정수, 통화 등으로 지정 불가능
    • 데이터베이스와 연동시 올바른 데이터인지 검사하는 것을 파서 대신 응용 프로그램에서 담당
    • 응용 프로그래머에게 과도한 부담을 줌
  • 보다 강력한 데이터 타입을 지원하도록 하자는 제안이 나오고 있음
    • 예 : XML Schema를 사용하여 다양한 데이터 타입 지원
cdata xml
CDATA가 포함된 XML 문서
  • 로 끝나야 함
  • CDATA 문자 데이터 중에 ]]> 이 포함되어 있으면 선언된 것과 다른 결과가 발생할 수 있음
  • 주석이 작동되지 않음

>> & <<<<<<< >>>>>>>]]>

Hello XML!

]]>

slide24
DTD 공유하기
  • 원격 URL에 있는 DTD
  • 현재 디렉토리에 대한 상대 URL 사용 가능
slide25
DTD 공유하기
  • 공개 DTD
  • SYSTME 키워드는 한명의 저작 그룹에 의해 사용되는 개인적인 DTD를 위한 것이다.
  • 개발 조직 등에서 사용하기 위해 설계된 DTD는 PUBLIC 키워드를 사용한다.
  • PUBLIC은 그 DTD가 널리 사용될 것을 의도하고 만들어졌다는 것을 나타내는 키워드이다.
  • DTD이름은 이 DTD와 연결된 이름이다.
  • DTD_URL은 유명한 리파지터리에서 이름을 가지고 DTD를 찾을 수 없을 경우에 DTD를 찾기 위해서 사용되는 절대 URL이나 상대 URL이다.
slide26
DTD 공유하기
  • DTD 이름
  • ISO : ISO 표준
  • + : ISO가 아닌 표준기구
  • - : 어떤 표준기구에서도 승인하지 않았다.
  • DTD의 소유자 이름
  • DTD가 기술하는 문서의 종류
  • 언어속성
  • “-//joongang//DTD personal memo//EN”
  • “http://edu.joongang.ac.kr/dtds/memo.dtd”>
dtd dtd
내부DTD 서브셋과 외부 DTD 서브셋
  • 특정한 문서가 그 사이트의 다른 페이지와 다른 구조를 가지고 있다면, 그 구조를 독립된 DTD에 정의하는 것보다는 그 문서 자체에 정의하는 것이 더 유용하다.
  • ]>
xml entity
XML의 Entity(개체)
  • XML 문서의 특정한 부분을 담고 있는 저장 단위이다.
xml entity1
XML의 Entity(개체)
  • Entity(개체) 구분
    • 내부 엔터티(Internal Entity)
    • 외부 엔터티(External Entity)
    • 일반 엔터티(General Entity)
    • 파라미터 엔터티(Parameter Entity)
    • 파싱된 엔터티(Parsed Entity)
    • 파싱되지 않은 엔터티(Unparsed Entity)
xml entity2
XML의 Entity(개체)
  • Entity(개체) 구분
    • 내부 일반 엔터티
      • #PCDATA로 표현하지 못하는 특수 기호 입력
      • 같은 문자 데이터를 중복해서 입력하는 수고를 덜어 줌
      • (입력하기 힘든 텍스트나 널리 사용되는 텍스트의 생략형)
entity
내부 일반 Entity(개체) 정의
  • 내부 일반 Entity(개체) 정의 문법

개체정의는 대체될 문자열이다.

  • 일반 엔터티(개체) 사용법

&개체명;

entity1
내부 일반 Entity(개체) 사용 예

]>

&SD;에서 컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터 시

작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 &SD;로 알려 주시기 바랍니다.

회의 장소는 &SD; 회의실입니다.

slide34
특수문자 사용 예

]>

♥ 컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터 시

작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

♠ 회의 참석 여부를 오늘 중으로 알려 주시기 바랍니다.

entity2
내부 일반 Entity(개체) 요약
  • 모든 엔터티 레퍼런스가 그 값으로 대체된 후에 문서에 대한 검증이 이루어진다.
  • 텍스트 변경이 용이한 장점이 있다.
  • 문서들이 하나의 DTD를 공유할 때 유용하다.
xml entity3
XML의 Entity(개체)
  • Entity(개체) 구분
    • 외부 일반 엔터티
      • 메인 파일의 밖에 있는 데이타이다.
      • 여러 독립된 파일로부터 XML 문서를 구축하게 해준다.
entity3
외부 일반 Entity(개체) 정의
  • 외부 일반 Entity(개체) 정의 문법

  • 일반 엔터티(개체) 사용법

&개체명;

entity4
외부 일반 Entity(개체) 사용 예

]>

&SD;에서 컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터 시

작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 &SD;로 알려 주시기 바랍니다.

회의 장소는 &SD; 회의실입니다.

&sig;

entity5
외부 일반 Entity(개체) 사용 예

signature.xml

Chief

Na

Joongang Academy

xml entity4
XML의 Entity(개체)
  • Entity(개체) 구분
    • 내부 파라미터 엔터티
      • 일반 엔터티는 DTD의 일부가 아니라 문서의 일부분이었다.
      • 파라미터 엔터티 레퍼런스는 DTD에서만 나타난다.
      • 파라미터 엔터티 레퍼런스는 퍼센트 기호(%)로 시작한다.
      • 파라미터 엔터티 레퍼런스는 자식 엘리먼트나 속성을 공유할 때 상당히 유용하다.
      • 파라미터 엔터티 레퍼런스는 사용되기 전에 선언되어야만 한다.
      • 파라미터 엔터티 레퍼런스는 외부 DTD 안에서만 나타나야 한다.
      • 내부 DTD 에서는 선언의 밖에서만 사용될 수 있다.
entity6
파라미터 Entity(개체) 정의
  • 파라미터 Entity(개체) 정의 문법

개체정의는 대체될 문자열이다.

  • 파라미터 엔터티(개체) 사용법

%개체명;

entity8
파라미터 Entity(개체) 정의
  • (person | degree |product | animal | ingredient)*>
  • (person | degree |product | animal | ingredient)*>
  • (person | degree |product | animal | ingredient)*>
entity10
파라미터 Entity(개체) 정의

To:

홍길동

From:

장길산

2000. 8. 15.

컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터

시작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

entity11
파라미터 Entity(개체) 정의

”>

”>

”>

”>

”>

”>

”>

”>

”>

%memo;

%header;

%to;

%from;

%heading;

%name;

%date;

%p;

%body;

]>

slide47
속성이 포함된 DTD

age CDATA #IMPLIED

sex (male | female) "male" >

age CDATA #IMPLIED

sex (male | female) "male" >

slide48
속성이 포함된 XML 문서

To:

홍길동

From:

장길산

2000.12. 25.

컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터

시작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다.

회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다.

entity dtd
파라미터 Entity를 사용한 DTD

sex (male | female) "male"' >

xml entity5
XML의 Entity(개체)
  • Entity(개체) 구분
    • 외부 파라미터 엔터티
      • 작은 DTD에서 큰 DTD를 구축할 수 있다.
      • (하나의 외부 DTD가 다른 DTD에 연결이 되어서 처음에 선언된 엔터티와 엘리먼트를 사용한다.)
      • 재귀적 방법은 금지 되어 있다.
      • 큰 DTD를 작고 다루기 쉬운 크기로 나누면 DTD를 분석하기 쉽다.
      • 엘리먼트의 한 집합만 기술하는 더 작고 모듈화된 DTD를 사용하면
      • 여러 사람이나 조직에 의해 만들어진 DTD와 혼합하고 일치시키는 것이 훨씬 쉽다.
entity12
외부 파라미터 Entity(개체) 정의
  • 외부 파라미터 Entity(개체) 정의 문법

  • 일반 엔터티(개체) 사용법

%개체명;

entity13
외부 파라미터 Entity(개체) 정의
  • %player;
  • “http://www.LA.com/dtds/player.dtd”
  • %player;
entity14
외부 파라미터 Entity(개체) 정의
  • 작은 DTD로 큰 DTD 만들기
slide54
요소와 속성
  • 어떤 것을 요소로 정의하고 어떤 것을 속성으로 정의할 것이냐를 결정해야 함
  • 요소
    • 적절한 스타일시트를 사용하여 화면에 출력
    • 데이터를 저장하는 장소
  • 속성
    • 내부 처리용으로 사용
    • 요소에 대한 부가 정보를 처리기로 전달
slide55
요소와 속성의 예

홍길동

22

홍길동

22

slide56
속성 정의
  • 속성은 속성이름 / 값의 쌍을 갖는다.
  • 속성은 사람이 읽거나 쓰는 컨텐트를 위한 것이 아니다.
  • 프로그램에 사용되는 엘리먼트와 관련된 추가의 정보를 위한 것이다.
slide57
DTD에서 속성 정의
  • 속성 정의 문법

  • 안녕하세요?
  • 같은 속성이 여러 번 사용되면 가장 먼저 나온 것만 사용된다.
  • 속성은 그 엘리먼트에만 적용된다.
  • 속성이 선언된 순서는 중요하지 않다.
slide58
DTD에서 속성 정의
  • 여러 속성 선언하기

  • WIDTH CDATA “0px”>
slide59
DTD에서 속성 정의
  • 속성의 기본값 지정
  • #REQUIRED : 요소에서 속성이 사용될 때 반드시 값이 지
  • 정 되어야 함
  • #IMPLIED : 속성에 값이 지정되어 있지 않으면 파서는 그
  • 속성을 무시함
  • #FIXED value : 속성에 대한 값을 지정하는 요소에서 반드시
  • value를 지정해야 함
  • defaultvalue : 속성을 위한 기본값을 제공함
xml entity6
XML의 Entity(개체)
  • Entity(개체) 구분
    • 파싱되지 않은 외부 엔터티
      • XML이 아닌 데이터의 블록을 말한다.
      • XML 프로세서가 그 데이터를 이해하려고 시도하지않는다.
      • 애플리케이션에게 그 엔터티의 존재를 알리고, 엔터트의 이름과
      • 그 컨텐트를 알려준다.
xml entity7
XML의 Entity(개체)
  • NDATA GIF>
  • ]>
  • &LOGO;
slide68
속성에 대한 DTD 작성

XML

임꺽정

홍길동

중앙일보

89-7283-126-3

XML 초보자를 위한 XML 입문서

slide69
속성의 나열 값
  • cover type : hardback, paperback
    • default: paperback
  • category class : fiction, fantasy, engineering
    • default: fiction
  • rating number : 1, 2, 3, 4, 5
    • default: 3
flights dtd
flights DTD

returning-depart-from, returning-depart-time, returning-arrive-in,

returning-arrive-time, returning-airline) >

slide72
DTD 개선
  • 항공편 정의
    • 항공사명은 #PCDATA, 항공편 번호는 속성으로 정의
    • 항공사명과 항공편 번호를 모두 속성으로 정의
    • 항공사명과 항공편 번호를 자식으로 정의
  • 날짜와 시간
    • 년, 월, 일, 시, 분을 각각 나누어 속성으로 정의
slide74
매개변수 개체 사용

'flightNum CDATA #REQUIRED

carrierName (KAL | Asiana | JAL | Delta | Northwest | TWA | United) "KAL"'>

"year CDATA #REQUIRED

month CDATA #REQUIRED

day CDATA #REQUIRED

hour CDATA #REQUIRED

minute CDATA #REQUIRED">

slide75
XML 문서

서울

부산

부산

서울

ad