[XML 강좌] DTD란
DTD (Document Type Definition)
문서 내에서 사용할 tag들을 정의하기 위한 일련의 구문규칙
언어를 정의하는 체계(System)
DTD에서 정의되는 것은 다음과 같다.
-tag의 출현 여부, 횟수
-tag의 nest정도
-Attribute
-Default value
-Valid values
언어를 정의하는 체계(System)
DTD에서 정의되는 것은 다음과 같다.
-tag의 출현 여부, 횟수
-tag의 nest정도
-Attribute
-Default value
-Valid values
[Sample DTD]
<!ELEMENT address (name, street, city, state, zip)> //address 태그아래 name, street,, 등이 있다.
<!ELEMENT name (title?, first-name, last-name)> //name아래 태그정의, title은 안와도 되고...
<!ELEMENT title (#PCDATA)>
<!ELEMENT first-name (#PCDATA)>
<!ELEMENT last-name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT zip (#PCDATA)>
<!ELEMENT name (title?, first-name, last-name)> //name아래 태그정의, title은 안와도 되고...
<!ELEMENT title (#PCDATA)>
<!ELEMENT first-name (#PCDATA)>
<!ELEMENT last-name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT zip (#PCDATA)>
DTD 선언부
- 외부 DTD 선언
<!DOCTYPE greeting SYSTEM “greeting.dtd”>
<!DOCTYPE greeting SYSTEM “greeting.dtd”>
- 내부 DTD 선언
<!DOCTYPE greeting [
<!ELEMENT greeting (#PCDATA)>
] >
<!DOCTYPE greeting [
<!ELEMENT greeting (#PCDATA)>
] >
Elements
XML의 기본
tag는 반드시 한 단어
end tag는 “/”와 element name 사이에 빈칸이 없어야 함
Well-formed 만족
문자데이타와 다른 element들을 포함할 수 있음
tag는 반드시 한 단어
end tag는 “/”와 element name 사이에 빈칸이 없어야 함
Well-formed 만족
문자데이타와 다른 element들을 포함할 수 있음
Element 선언 예
<!ELEMENT ONJ (#PCDATA)> //그 요소가 파싱된 문자 데이터를 값으로 사용
ANY : 어떤 종류도 환영
EMPTY : 내용 없음
? 생략 가능
+ : 1회이상 반복
* : 0번이상 반복
, : 고정적인 순서
() : 그룹화
EMPTY : 내용 없음
? 생략 가능
+ : 1회이상 반복
* : 0번이상 반복
, : 고정적인 순서
() : 그룹화
[예제]
<!ELEMENT BR EMPTY> : EMPTY
<!ELEMENT BODY ANY> : ANY
<!ELEMENT P (#PCDATA | B | I | A | FONT | BR)*> : Mixed
<!ELEMENT HTML (HEADER?, BODY)> : Content Model
<!ELEMENT BODY ANY> : ANY
<!ELEMENT P (#PCDATA | B | I | A | FONT | BR)*> : Mixed
<!ELEMENT HTML (HEADER?, BODY)> : Content Model
===========================================================================================
[오프라인 개강예정강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[01/06][기업100%환급]Spring ,MyBatis,Hibernate실무과정
[01/06][기업100%환급]SQL기초에서 Schema Object까지
[01/06]C#,ASP.NET마스터
[01/13]iPhone 하이브리드 앱 개발 실무과정
[01/13][기업100%환급]PL/SQL,ORACLE HINT,TUNING
[01/13][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
[01/13][기업100%환급]HTML5,JavaScript,Ajax,jQUERY,JSON
[01/16][채용확정]오라클자바실무개발자신입과정
[평일야간]
[01/07]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[01/07]안드로이드개발자과정
[01/08]C#,ASP.NET마스터
[01/09]iPhone하이브리드앱개발실무과정
[01/09]웹퍼블리싱 마스터
[01/09]Spring3.X, MyBatis, Hibernate실무과정
[01/24]SQL초보에서실전전문가까지
[주말]
[01/04]닷넷실무자를위한WPF개발자과정
[01/04]Spring3.X,MyBatis,Hibernate실무과정
[01/11]C#,ASP.NET마스터
[01/11]JAVA&WEB프레임워크실무과정
[01/11]안드로이드개발자과정
[01/11]SQL초보에서전문가까지
[01/18]웹퍼블리싱 마스터
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[01/06][기업100%환급]Spring ,MyBatis,Hibernate실무과정
[01/06][기업100%환급]SQL기초에서 Schema Object까지
[01/06]C#,ASP.NET마스터
[01/13]iPhone 하이브리드 앱 개발 실무과정
[01/13][기업100%환급]PL/SQL,ORACLE HINT,TUNING
[01/13][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
[01/13][기업100%환급]HTML5,JavaScript,Ajax,jQUERY,JSON
[01/16][채용확정]오라클자바실무개발자신입과정
[평일야간]
[01/07]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[01/07]안드로이드개발자과정
[01/08]C#,ASP.NET마스터
[01/09]iPhone하이브리드앱개발실무과정
[01/09]웹퍼블리싱 마스터
[01/09]Spring3.X, MyBatis, Hibernate실무과정
[01/24]SQL초보에서실전전문가까지
[주말]
[01/04]닷넷실무자를위한WPF개발자과정
[01/04]Spring3.X,MyBatis,Hibernate실무과정
[01/11]C#,ASP.NET마스터
[01/11]JAVA&WEB프레임워크실무과정
[01/11]안드로이드개발자과정
[01/11]SQL초보에서전문가까지
[01/18]웹퍼블리싱 마스터
홈페이지 바로가기 : http://www.oraclejavanew.kr/
댓글 없음:
댓글 쓰기