본문 바로가기

   
Programming/XML

규칙Data, 생략, 중복, 출현횟수

반응형

규칙 Data

<?xml version="1.0" encoding="utf-8" ?>\

<!-- Ex04_dtd.xml -->

 

<!DOCTYPE root[

       <!--

             자식 엘리먼트 리스트

             "|" : choice 연산자(a|b|c -> 나열된 요소중 반드시 하나만)

       -->

       <!ELEMENT root (a|b|c)>

 <!--  <!ELEMENT root (a|b|c)+> 이렇게 하면 나열된 요소중 하나씩 택하는 작업을 여러번 할수 있음-->

       <!ELEMENT a (#PCDATA)>

       <!ELEMENT b (#PCDATA)>

       <!ELEMENT c (#PCDATA)>

]>

 

<!--위의 DTD 규칙을 만족하는 데이터 만들기-->

<root>

       <b>data</b>

</root>

 


생략, 중복, 출현횟수

<?xml version="1.0" encoding="utf-8" ?>

<!--Ex05_dtd.xml-->

 

<!--

       자식 엘리먼트의 출현횟수

       1. X(아무것도 안쓰는 것) : 생략X, 중복X(1~1)

       2. ? : 생략O, 중복X(0~1)

       3. + : 생략X, 중복O(1~무한대)

       4. * : 생략O, 중복O(0~무한대)

-->

 

<!DOCTYPE 주소록 [

       <!ELEMENT 주소록 (이름, 연락처+, 나이?, 주소*)>

       <!ELEMENT 이름 (#PCDATA)>

       <!ELEMENT 연락처 (#PCDATA)>

       <!ELEMENT 나이 (#PCDATA)>

       <!ELEMENT 주소 (#PCDATA)>

]>

<주소록>

       <이름>홍길동</이름>

       <연락처>010-222-3333</연락처>

       <연락처>02-333-3333</연락처>

       <연락처>011-2222-2222</연락처>

       <나이>20</나이>

       <주소>서울시</주소>

       <주소>인천시</주소>

       <주소>부산시</주소>

</주소록>

 

 


-----------------------------------------------


<?xml version="1.0" encoding="utf-8" ?>

 

<!DOCTYPE root [

       <!ELEMENT root (a,b,c,d)>

       <!ELEMENT a (data)>

       <!ELEMENT b (data)>

       <!ELEMENT data (#PCDATA)>

       <!-- 여러 엘리먼트의 자식으로 사용 되는 엘리먼트는 단 1회만 선언 -->

      

       <!-- 동일한 자식엘리먼트를 여러개 갖는것도 가능-->

       <!ELEMENT c (data, data, data)> <!--최소 출현횟수 3, 최대 출현횟수 3-->

       <!--<!ELEMENT c (data+)> 위와는 다름-->

 

       <!--d는 자식으로 data 엘리먼트 갖는다. data의 출현횟수가 최소 1~ 최대 3이 되도록-->

       <!ELEMENT d (data,data?,data?)>

 

      

]>

 

<root>

       <a>

             <data>데이터</data>

       </a>

       <b>

             <data>데이터</data>       

       </b>

       <c>

             <data>data</data>

             <data>data</data>

             <data>data</data>

       </c>

       <d>

             <data>asdf</data>

            

       </d>

</root>

 

 


반응형