일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
- Pipelining
- data structure
- Class
- Linux
- php
- MacOS
- MIPS
- html
- react
- DoM
- XML
- DATAPATH
- function
- instruction
- web
- github
- javascript
- python
- DB
- control
- CSS
- computer
- system
- Algorithm
- DS
- Java
- mysql
- while
- architecture
- for
- Today
- Total
YYYEJI
[XML] DTD의 정의와 Elements 속성 본문
DTD (Document Type Definition) ?
XML 문서의 구조 및 해당 문서에서 사용할 수 있는 적법한 요소와 속성을 정의합니다.
✓ well-formed - DTD에 맞지 않아도 실행이 잘 되는 form (DTD X, syntax O, 실행 O)
✓ vaild - well-formed 이면서 DTD에 잘 맞는 form (DTD O, syntax O, 실행 O)
① 새로운 문서 타입 정의
② 새로운 문서 타입을 이용한 데이터의 교환
③ XML 문서의 구문 및 구조에 대한 유효성을 검사
Element define
<!ELEMENT element-name category>
<!ELEMENT element-name (element-content)>
위의 코드와 같이 DTD의 element를 정의할 수 있습니다.
(둘 중 하나를 사용하면 됩니다.)
① Children element
<!ELEMENT element-name (child1)>
<!ELEMENT element-name (child1,child2,...)>
element-content에 child가 하나 또는 여러 개 들어갈 수 있습니다.
② PCDATA
<!ELEMENT element-name (#PCDATA)>
child를 넣을 땐 괄호 안에 데이터의 type을 넣으시면 됩니다.
③ Empty element
<!ELEMENT element-name EMPTY>
Category keyword로 사용하시면 됩니다.
empty element는 attribute만을 갖습니다.
Ex) <link rel = "naver" href = "naver.com" />
④ Any element
<!ELEMENT element-name ANY>
Category keyword로 사용하시면 됩니다.
Any element를 사용하면 parsable data의 어떤 조합도 담을 수 있게 되고,
데이터 컨텐츠를 제한하지 않게 됩니다.
(다만, attribute는 안됩니다.)
⑤ Element - Non type
<!ELEMENT element-name (child-name)>
✓ Element를 단 하나만 발생
⑥ Element - ' + ' type
<!ELEMENT element-name (child-name+)>
✓ Element를 하나 이상으로 발생
⑦ Element - ' * ' type
<!ELEMENT element-name (child-name*)>
✓ Element를 0개 또는 더 많이 발생
⑧ Element - ' ? ' type
<!ELEMENT element-name (child-name?)>
✓ Element를 0개 또는 1개 발생
⑨ Element - ' , ' type
<!ELEMENT note (to,from, header, message, body)>
✓ AND
✓ Child elements를 순자적으로 나열
⑨ Element - ' | ' type
<!ELEMENT note (to,from,header,(message|body))>
✓ Exclusive OR
✓ Child elements를 선택적으로 나열
⑩ EXAMPLE
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type = "text/css" href = "h.css"?>
<!DOCTYPE note[
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body ANY>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>
<to>Tove</to>
</body>
</note>
↑↑↑ Valid code ↑↑↑
◡̈
'HTML(or XML) & CSS & JavaScript' 카테고리의 다른 글
[XML] CSS에서 shadow 속성 (0) | 2022.09.30 |
---|---|
[XML] DTD 속성 타입 (Attribute types) (0) | 2022.09.30 |
[XML] XML 문서의 구성 요소 (0) | 2022.09.30 |
[MacOS] XAMPP 다운로드하기 (0) | 2022.09.29 |
[XML] CSS에서 hover 속성 (0) | 2022.09.15 |