본문 바로가기

   
Programming/XML

Built-in Entity, 일반 내부 파스드 엔티티

반응형



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

<!--

       엔티티(Entity)

       - 미리 정의된 내용을 문서 실행 시 치환하는 요소

      

       이스케이프 시퀀스와 비슷하다고 보면된다.

       1. Built-in Entity

             - < : &lt;

             - > : &gt;

             - & : &emp;

             - " : &quot;

             - ' : &apos;

      

       2. 일반 내부 파스드 엔티티

             - 문자열 변수

             - 엔티티 선언은 내부 DTD에서 하고, 엔티티 사용은 XML에서..

       3. 일반 외부 파스드 엔티티

       4. 내부 파라미터 엔티티

-->

 

<!DOCTYPE booklist [

       <!ELEMENT booklist (book+)>

       <!ELEMENT book (title,author,nation)>

       <!ELEMENT title (#PCDATA)>

       <!ELEMENT author (#PCDATA)>

       <!ATTLIST author

             nation CDATA #IMPLIED

       >

       <!ELEMENT nation (#PCDATA)>

       <!ENTITY kr "한국"> <!-- string kr = "한국"; -->

       <!--유지관리에 좋으다.-->

       <!ENTITY en "미국">

       <!ENTITY eg "영국">

]>

 

<!--<root>

       <item>&lt;item&gt;엘리먼트는 PCDATA를 자식으로 가집니다.</item>

</root>-->

 

<booklist>

      

       <book>

             <title>XML</title>

             <author nation="&kr;">홍길동</author>

             <nation>한국</nation>

       </book>

 

       <book>

             <title>ASP.NET</title>

             <author>마이클</author>

             <nation>&en;</nation>

       </book>

 

       <book>

             <title>C#</title>

             <author>나카무라</author>

             <nation>일본</nation>

       </book>

 

       <book>

             <title>비쥬얼 베이직</title>

             <author>찰스</author>

             <nation>&eg;</nation>

       </book>

 

       <book>

             <title>죽기전에 100가지 해야할일</title>

             <author>김소울</author>

             <nation>한국</nation>

       </book>

 

       <book>

             <title>한국여행</title>

             <author>띠하오마</author>

             <nation>중국</nation>

       </book>

      

</booklist>

 






일반 외부 파스드 엔티티


일반 외부 파스드 엔티티

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

<!--

       Ex13_dtd.xml

      

       3. 일반 외부 파스드 엔티티

       - XML의 일부분을 재사용할 수 있음(치환) = 구조 + 데이터

-->

 

<!DOCTYPE booklist [

       <!ELEMENT booklist (category, book+)>

       <!ELEMENT category (item+)>

       <!ELEMENT item (#PCDATA)>

       <!ATTLIST item

             id ID #REQUIRED

       >

       <!ELEMENT book (title)>

       <!ATTLIST book

             id ID #REQUIRED

             category IDREF #REQUIRED

       >

       <!ELEMENT title (#PCDATA)>

       <!--

             문서 자체를 지정 통째로 파일 내용을 가져온다.

             문서를 모듈화 시킨다. 문서가 커다란것일 수록 쪼개고 쪼개고 쪼갠다..

       -->

       <!ENTITY category SYSTEM "Ex12_category.xml">

]>

 

<booklist>

       &category;

       <book id="b1" category="c1">

             <title>XML</title>

       </book>

      

       <book id="b2" category="c1">

             <title>ASP.NET</title>

       </book>

      

       <book id="b3" category="c2">

             <title>삼국지</title>

       </book>

      

       <book id="b4" category="c3">

             <title>백설공주</title>

       </book>

      

</booklist>



외부 dtd

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

<!--Ex12_dtd.xml-->

<category>

       <item id="c1">프로그래밍</item>

       <item id="c2">소설</item>

       <item id="c3">동화</item>

</category>

 

 

반응형