달력

032010  이전 다음

  •  
  • 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
  • 31
  •  
  •  
  •  

'General Web'에 해당되는 글 38건

  1. 2009/02/11 Javascript를 이용한 개발에서의 MVC 패턴
  2. 2008/12/22 26. 레코드 사이 이동하기
  3. 2008/12/22 25. 싱글 레코드 데이터 바인딩 사용하기
  4. 2008/12/22 24 데이터 바인딩을 사용해서 XML 문서 출력하기(4
  5. 2008/12/22 23. 데이터 바인딩을 사용해서 XML 문서 출력하기(3)
  6. 2008/12/22 22. 데이터 바인딩을 사용해서 XML 문서 출력하기(2)
  7. 2008/12/22 21. 데이터 바인딩을 사용해서 XML 문서 출력하기(1)
  8. 2008/12/22 20. css를 사용해서 XML 문서 출력하기
  9. 2008/12/22 19. 파라미터 엔티티 선언하기
  10. 2008/12/22 18. 일반 엔티티 선언하기
  11. 2008/12/22 17. 엔티티의 종류(3가지 정의)
  12. 2008/12/22 16. ENTITY 정의하기와 사용하기
  13. 2008/12/22 15. 문서 유효하게 만들기
  14. 2008/12/22 14. 외부 DTD 서브셋의 일부를 조건부로 무시하기
  15. 2008/12/22 13. 외부 DTD 만들기
  16. 2008/12/22 12. 속성 선언하기
  17. 2008/12/22 11. 엘리먼트 컨텐트 모델
  18. 2008/12/22 10. 엘리먼트 타입 선언하기
  19. 2008/12/22 9. DTD만들기
  20. 2008/12/22 8. DTD 추가하기
  21. 2008/12/22 7. 유효한 XML 문서의 기본 조건
  22. 2008/12/22 6. CDATA 섹션 포함하기
  23. 2008/12/22 5. XML 문서 잘 구성하기
  24. 2008/12/22 4. CSS를 이용한 XML 문서 출력
  25. 2008/12/22 3. XML 문서의 생성
  26. 2008/12/22 2. XML의 10가지 설계 목표
  27. 2008/12/22 XML 이란? (1)
  28. 2008/12/17 사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술
  29. 2008/11/30 Basic CSS syntax
  30. 2008/11/30 CSS1 - 1. 기본개념


각 View는 템플릿을 포함한 마크업으로 구성됨.
Controller는 View와 연결되며, View에서 호출하는 이벤트에 대한 로직을 가지고 있음.
Controller는 Model을 통해 View의 모양이나 데이터를 변경함.
디렉토리 구조는 MVC 모델에 따라 구조화 되며, 각 컴포넌트는 도메인을 기준으로 구성할 수 있음.
  • Model
    • 구성1.js
    • 구성2.js
  • View
    • 구성1.js
    • 구성2.js
  • Controller
    • 구성1.js
    • 구성2.js

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

XML 문서는 대부분 하나 이상의 레코드를 가지고 있다.

HTML 엘리먼트는 한번에 하나의 레코드만을 출력하기 때문에 싱글 레코드 데이터 바인딩은 복잡해진다. HTML 엘리먼트에 보여지고 있는 레코드를 현재 레코드(current record)라고한다.

 

XML 문서에 연결된 DSO는 레코드 사이를 이동하기 위해 다음의 메소드 집합을 제공한다.

메소드 현재 레코드가 다음 레코드로 변한다. 예제 호출
moveFirst 문서 내의 첫번째 레코드 dsoBook.recordset.moveFirst()
movePrevious 이전 레코드 dsoBook.recordset.movePrevious()
moveNext 다음 레코드 dsoBook.recordset.moveNext()
moveLast 문서내의 마지막 레코드 dsoBook.recordset.moveLast()
move 지정된 번호의 레코드 dsoBook.recordset.move(5)
6번째 레코드로 이동한다. 레코드 번호는 0부터...

 

버튼은 푸시버튼을 사용하며 다음과 같다.

<BUTTON ONCLICK="dsoBook.recordset.moveFirst()">
First Record
</BUTTON>

 

레코드셋 객체는 BOF와 EOF 프로퍼티를 제공한다.(BOF=true, EOF=true)

 

파일의 시작상태

<BUTTON ONCLICK="dsoBook.recordset.movePrevious();
if (dsoBook.recordset.BOF)
dsoBook.recordset.moveNext()">
Back
</BUTTON>

 

파일의 마지막

<BUTTON ONCLICK="dsoBook.recordset.moveNExt();
if (dsoBook.recordset.EOF)
dsoBook.recordset.movePrevious()">
Forward
</BUTTON>

 

그럼 이제 예제를 통해 이해력을 높여보도록 하겠다.

 

html 파일

<html>
<head>
<title>Book Description</title>
</head>
<body>

<XML ID="dsoBook" src="XMLFile1xml"></XML>

<h2>Book description</h2>

<SPAN style="font-style:italic">Title:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="TITLE"></SPAN>
<br>
<SPAN style="font-style:italic">Autjor:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN>
<br>
<SPAN style="font-style:italic">Binding Type:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="BINDING"></SPAN>
<br>
<SPAN style="font-style:italic">Number of pages:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="PAGES"></SPAN>
<br>
<SPAN style="font-style:italic">Price:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="PRICE"></SPAN>
<br>
<hr>
<BUTTON ONCLICK="dsoBook.recordset.movefirst();>
First
</BUTTON>
<BUTTON ONCLICK="dsoBook.recordset.moveprevious();
if (dsoBook.recordset.BOF)
dsoBook.recordset.moveNext()">
back
</BUTTON>
<BUTTON ONCLICK="dsoBook.recordset.movenext();
if (dsoBook.recordset.EOF)
dsoBook.recordset.moveprevious()">
Forward
</BUTTON>
<BUTTON ONCLICK="dsoBook.recordset.movelast()">
Last
</BUTTON>

</body>
</html>
 

 

결과화면


 
 
 
Forward 클릭했을 경우

 
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. 싱글 레토드 데이터 바인딩 사용하기

이것은 바인딩된 테이블 안에 포함되지 않은 HTML 엘리먼트를 바인딩 하는 것을 의미한다.

다음의 예제를 통해 이해를 높이도록 하자.

 

XML 파일

<?xml version="1.0" ?>
- <BOOK>
  <TITLE>The Adventures of Huckleberry Finn</TITLE>
  <AUTHOR>Mark Twain</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>298</PAGES>
  <PRICE>$5.49</PRICE>
</BOOK>

 

HTML 파일

<html>
<head>
<title>Book Description</title>
</head>
<body>

<XML ID="dsoBook" src="XMLFile3.xml"></XML>

<h2>Book description</h2>

<SPAN style="font-style:italic">Title:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="TITLE"></SPAN>
<br>
<SPAN style="font-style:italic">Autjor:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN>
<br>
<SPAN style="font-style:italic">Binding Type:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="BINDING"></SPAN>
<br>
<SPAN style="font-style:italic">Number of pages:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="PAGES"></SPAN>
<br>
<SPAN style="font-style:italic">Price:</SPAN>
<SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="PRICE"></SPAN>
<br>
</body>
</html>

 

 

3. 결과파일


 
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

네스팅된 테이블을 사용해서 계층 구조 레코드셋 출력하기

: 테이블안에 테이블을 출력하는 방법...

 

코드를 보는 것이 이해가 더 빠르기 때문에 바로 코드를 보여주겠다.

 

1. XML 문서를 다음과 같이 변경하고 별도의 파일이름으로 저장한다.

  <?xml version="1.0" ?>
- <INVENTORY>
- <CATEGORY>
  <CATNAME>The Canterbury</CATNAME>
- <BOOK>
  <TITLE>The Adventures of Huckleberry Finn</TITLE>
  <AUTHOR>Mark Twain</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>298</PAGES>
  <PRICE>$5.49</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>Leaves of Grass</TITLE>
  <AUTHOR>Walt Whitman</AUTHOR>
  <BINDING>hardcover</BINDING>
  <PAGES>462</PAGES>
  <PRICE>$7.75</PRICE>
  </BOOK>
  </CATEGORY>
- <CATEGORY>
  <CATNAME>Renaissance</CATNAME>
- <BOOK>
  <TITLE>The Legend of sleep Hollow</TITLE>
  <AUTHOR>Washington Irving</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>98</PAGES>
  <PRICE>$2.95</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Marble Faun</TITLE>
  <AUTHOR>Nathaniel Hawthorne</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>473</PAGES>
  <PRICE>$10.95</PRICE>
  </BOOK>
  </CATEGORY>
- <CATEGORY>
  <CATNAME>18th Century</CATNAME>
- <BOOK>
  <TITLE>Moby-Dick</TITLE>
  <AUTHOR>Herman Melville</AUTHOR>
  <BINDING>hardcover</BINDING>
  <PAGES>724</PAGES>
  <PRICE>$9.95</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Portrait of a Lady</TITLE>
  <AUTHOR>Henry James</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>256</PAGES>
  <PRICE>$4.95</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Scarlet Letter</TITLE>
  <AUTHOR>Nathaniel Hawthorne</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>253</PAGES>
  <PRICE>$4.25</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Turn of the Screw</TITLE>
  <AUTHOR>Henry James</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>384</PAGES>
  <PRICE>$3.35</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Adventures of Huckleberry Finn</TITLE>
  <AUTHOR>Mark Twain</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>298</PAGES>
  <PRICE>$5.49</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>Leaves of Grass</TITLE>
  <AUTHOR>Walt Whitman</AUTHOR>
  <BINDING>hardcover</BINDING>
  <PAGES>462</PAGES>
  <PRICE>$7.75</PRICE>
  </BOOK>
  </CATEGORY>
- <CATEGORY>
  <CATNAME>19th Century</CATNAME>
- <BOOK>
  <TITLE>The Legend of sleep Hollow</TITLE>
  <AUTHOR>Washington Irving</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>98</PAGES>
  <PRICE>$2.95</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Marble Faun</TITLE>
  <AUTHOR>Nathaniel Hawthorne</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>473</PAGES>
  <PRICE>$10.95</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>Moby-Dick</TITLE>
  <AUTHOR>Herman Melville</AUTHOR>
  <BINDING>hardcover</BINDING>
  <PAGES>724</PAGES>
  <PRICE>$9.95</PRICE>
  </BOOK>
- <BOOK>
  <TITLE>The Portrait of a Lady</TITLE>
  <AUTHOR>Henry James</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>256</PAGES>
  <PRICE>$4.95</PRICE>
  </BOOK>
  </CATEGORY>
  </INVENTORY>

 

 

2.HTML을 다음과 같이 변경하고 새로운 이름으로 저장한다.

  새롭게 추가된 부분을 주의 깊게 살펴본다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body>

<xml id="dsoXMLFile2" src="XMLFile2.xml"></xml>

<table datasrc="#dsoXMLFile2" border="1">
<thead>Classic English Literature</thead>
<tr>
<td><span datafld="CATNAME"></span></td>
</tr>
<tr>
<td>


<table datasrc="#dsoXMLFile2" datafld="BOOK" border="0" cellpadding="10">
<thead>
<th>Title</th>
<th>Author</th>
<th>Binding</th>
<th>Pages</th>
<th>Price</th>
</thead>
<tr align="center">
<td><span datafld="TITLE" style="font-style:italic"></span></td>
<td><span datafld="AUTHOR"></span></td>
<td><span datafld="BINDING"></span></td>
<td><span datafld="PAGES"></span></td>
<td><span datafld="PRICE"></span></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

 

 

3. 결과화면.


 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 18일
옮긴일 : 2008년 12월 22일

페이징 사용하기

 

1. 바인딩된 TABLE 엘리먼트의 DATAPAGESIZE 속성을 한번에 출력하기 원하는 레코드의 최대 개수로 설정한다.

 

 <table datasrc="#dsoXMLFile1" DATAPAGESIZE="5" border="1" cellpadding="5">

 

2. TABLE 엘리먼트 메소드를 호출한다.

TABLE 엘리먼트 메소드 효과 예제호출
firstPage 레코드의 첫 페이지를 보여준다. InventoryTable.firstPage()
previousPage 레코드의 이전 페이지를 보여준다. InventoryTable.previousPage()
nextPage 레코드의 다음 페이지를 보여준다. InventoryTable.nextPage()
lastPage 레코드의 마지막 페이지를 보여준다. InventoryTable.lastPage()

 

 

3. BUTTON HTML 엘리먼트의 ONCLICK 속성을 메소드로 지정한다.

<body>
   <xml id="dsoXMLFile1" src="XMLFile1.xml"></xml>
   <h2>Book Inverntory</h2>
   <button onclick="dsoXMLFile1.firstPage()">|&lt; 첫 페이지</button>
   <button onclick="dsoXMLFile1.previousPage()" ID="Button1">&lt; 이전 페이지</button>
   <button onclick="dsoXMLFile1.nextPage()" ID="Button2">다음 페이지&gt;</button>
   <button onclick="dsoXMLFile1.lastPage()" ID="Button3">마지막 페이지 &gt;|</button>

   <table datasrc="#dsoXMLFile1" datapagesize="5" border="1" cellpadding="5">
      <thead>
         <th>Title</th>
         <th>Author</th>
         <th>Binding</th>
         <th>Pages</th>
         <th>Price</th>
      </thead>
      <tr align="center">
         <td><span datafld="TITLE" style="font-style:italic"></span></td>
         <td><span datafld="AUTHOR"></span></td>
         <td><span datafld="BINDING"></span></td>
         <td><span datafld="PAGES"></span></td>
         <td><span datafld="PRICE"></span></td>
      </tr>
   </table>
</body>

 

 

4. 결과화면.


 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 18일
옮긴일 : 2008년 12월 22일

5. XML 엘리먼트에 HTML 엘리먼트 바인딩하기

 

2가지 기본적인 방법으로 XML 엘리먼트에 HTML 엘리먼트를 바인딩 할 수 있다.

■ 테이블 데이터 바인딩(table data binding) - 테이블 이라는 이름의 HTML 엘리먼트를 XML 데이터로 바인딩해서 테이블(표)이 XML 문서에 속한 전체 레코드셋을 출력하도록 하는 것

 

■ 싱글 레코드 데이터 바인딩(Single-record data binding) - 이는 테이블이 아닌 HTML 엘리먼트(예를 들면, SPAN 엘리먼트)를 XML 엘리먼트로 바인딩해서 한 번에 하나의 레코드만이 출력되도록 하는 것

 

1) 테이블 데이터 바인딩 사용하기

다음의 예제를 참고한다.

<?xml version="1.0"?>
<INVENTORY>
   <BOOK>
      <TITLE>The Adventures of Huckleberry Finn</TITLE>
      <AUTHOR>Mark Twain</AUTHOR>
      <BINDING>mass market paperback</BINDING>
      <PAGES>298</PAGES>
      <PRICE>$5.49</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>Leaves of Grass</TITLE>
      <AUTHOR>Walt Whitman</AUTHOR>
      <BINDING>hardcover</BINDING>
      <PAGES>462</PAGES>
      <PRICE>$7.75</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>The Legend of sleep Hollow</TITLE>
      <AUTHOR>Washington Irving</AUTHOR>
      <BINDING>mass market paperback</BINDING>
      <PAGES>98</PAGES>
      <PRICE>$2.95</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>The Marble Faun</TITLE>
      <AUTHOR>Nathaniel Hawthorne</AUTHOR>
      <BINDING>trade paperback</BINDING>
      <PAGES>473</PAGES>
      <PRICE>$10.95</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>Moby-Dick</TITLE>
      <AUTHOR>Herman Melville</AUTHOR>
      <BINDING>hardcover</BINDING>
      <PAGES>724</PAGES>
      <PRICE>$9.95</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>The Portrait of a Lady</TITLE>
      <AUTHOR>Henry James</AUTHOR>
      <BINDING>mass market paperback</BINDING>
      <PAGES>256</PAGES>
      <PRICE>$4.95</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>The Scarlet Letter</TITLE>
      <AUTHOR>Nathaniel Hawthorne</AUTHOR>
      <BINDING>trade paperback</BINDING>
      <PAGES>253</PAGES>
      <PRICE>$4.25</PRICE>
   </BOOK>
   <BOOK>
      <TITLE>The Turn of the Screw</TITLE>
      <AUTHOR>Henry James</AUTHOR>
      <BINDING>trade paperback</BINDING>
      <PAGES>384</PAGES>
      <PRICE>$3.35</PRICE>
   </BOOK>
</INVENTORY>

 

그 다음으로 아래와 같은 HTML 파일을 만든다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   <html>
      <head>
      <title></title>
      <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
      <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
      </head>
      <body>
         <xml id="dsoXMLFile1" src="XMLFile1.xml"></xml>
         <h2>Book Inverntory</h2>
         <table datasrc="#dsoXMLFile1" border="1" cellpadding="5">
            <thead>
               <th>Title</th>
               <th>Author</th>
               <th>Binding</th>
               <th>Pages</th>
               <th>Price</th>
            </thead>
            <tr align="center">
               <td><span datafld="TITLE" style="font-style:italic"></span></td>
               <td><span datafld="AUTHOR"></span></td>
               <td><span datafld="BINDING"></span></td>
               <td><span datafld="PAGES"></span></td>
               <td><span datafld="PRICE"></span></td>
            </tr>
         </table>
      </body>
   </html>

 

이것을 웹 브라우저를 통해서 보면 다음과 같은 결과를 확인할 수 있다.

 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 18일
옮긴일 : 2008년 12월 22일

1. 데이터를 바인딩 하기 위한 두 가지 메인 과정

1) XML 데이터를 출력하기 원하는 HTML 페이지로 XML 문서를 링크한다.

    HTML 페이지에 XML 이라는 이름의 HTML 엘리먼트를 삽입함으로써 이루어진다.

   <XML ID="dsoBook" SRC="Book.xml"></XML>

 

2) HTML 엘리먼트를 XML 엘리먼트로 바인딩한다. HTML 엘리먼트를 XML 엘리먼트로 바인딩 할

   때 HTML 문서는 자동적으로 XML 엘리먼트의 컨텐트를 출력한다.

   <SPAN DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN>

 

 2. HTML 페이지로 XML 문서 링크하기

 : XML이라는 이름으 HTML 엘리먼트를 삽입 (데이터 아일랜드 : data island)

 

1) HTML 페이지에 XML 문서를 직접 삽입하는 방법

<html>
  <head>
    <title></title>
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 </head>
 <body>


   <xml id="dsoBook"> 
   

   <?xml version="1.0"?>
   <BOOK>
    <TITLE>The Adventures of Huckleberry Finn</TITLE>
    <AUTHOR>Mark Twain</AUTHOR>
    <BINDING>mass market paperback</BINDING>
    <PAGES>298</PAGES>
    <PRICE>$5.49</PRICE>
   </BOOK>
  </xml>


 </body>
</html>

 

2) XML 이라는 이름의 HTML 엘리먼트는 비어 있는 상태에서 XML 문서의 URL만 가지는 경우

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title></title>
  <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 </head>
 <body>
  <xml id="dsoBook" src=file:///D:\wwwroot\Study\XMLStudy\XMLFile1.xml></xml>
 
</body>
</html>

 

2번째 형태를 가장 많이 사용한다.

데이터 아일랜드는 XML 엘리먼트가 아니다.

따라서 이것은 XML 엘리먼트와 같은 <XML ID="dsoBook" />을 사용하면 문법 에러

 

3. XML 데이터가 저장되는 과정

 

1) IE5가 HTML 페이지를 열면, 자체 내장된 XML 프로세서가 XML 문서를 읽고 파싱한다.

2) IE5는 데이터로의 액세스르르 제공하고, XML 데이터를 저장하거나 캐시하는 DSO

    (Data Source Object)라는 객체를 생성한다.

3) DSO는 XML 데이터를 레코드셋으로 저장한다.

 

4. XML 에러 체크하기

   - 문서를 열면 IE5가 문서의 well-formed를 검사한다.(에러를 보여준다.)

   - data island를 통해서 열면 정확성과 유효성을 검사한다.(에러는 보여주지 않는다.)

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. css를 이용하여 XML 문서를 출력하는 방법

- 스타일시트 파일을 만든다.

- XML 파일에 스타일시트 파일을 링크건다.

 

StyleSheet.css

BOOK
{
 display:block;
 margin-top : 12pt;
 font-size : 10pt;
}
TITLE
{ font-style : italic; }

AUTHOR
{ font-weight:bold; }

 

XMLFile1.xml

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type = "text/css" href="StyleSheet1.css"?>
<INVENTORY>
 <BOOK>
  <TITLE>The Adventures of Huckleberry Finn</TITLE>
  <AUTHOR>Mark Twain</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>298</PAGES>
  <PRICE>$5.49</PRICE>
 </BOOK>
 <BOOK>
  <TITLE>Leaves of Grass</TITLE>
  <AUTHOR>Walt Whitman</AUTHOR>
  <BINDING>hardcover</BINDING>
  <PAGES>462</PAGES>
  <PRICE>$7.75</PRICE>
 </BOOK> 
 <BOOK>
  <TITLE>The Legend of sleep Hollow</TITLE>
  <AUTHOR>Washington Irving</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>98</PAGES>
  <PRICE>$2.95</PRICE>
 </BOOK>
 <BOOK>
  <TITLE>The Marble Faun</TITLE>
  <AUTHOR>Nathaniel Hawthorne</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>473</PAGES>
  <PRICE>$10.95</PRICE>
 </BOOK>
 <BOOK>
  <TITLE>Moby-Dick</TITLE>
  <AUTHOR>Herman Melville</AUTHOR>
  <BINDING>hardcover</BINDING>
  <PAGES>724</PAGES>
  <PRICE>$9.95</PRICE>
 </BOOK>
 <BOOK>
  <TITLE>The Portrait of a Lady</TITLE>
  <AUTHOR>Henry James</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>256</PAGES>
  <PRICE>$4.95</PRICE>
 </BOOK> 
 <BOOK>
  <TITLE>The Scarlet Letter</TITLE>
  <AUTHOR>Nathaniel Hawthorne</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>253</PAGES>
  <PRICE>$4.25</PRICE>
 </BOOK> 
 <BOOK>
  <TITLE>The Turn of the Screw</TITLE>
  <AUTHOR>Henry James</AUTHOR>
  <BINDING>trade paperback</BINDING>
  <PAGES>384</PAGES>
  <PRICE>$3.35</PRICE>
 </BOOK> 
</INVENTORY>

 

결과화면

 
 
 
2. 다른 스타일시트 불러오기
@import 지시문을 사용하여 다른 캐스케이팅 스타일시트를 불러온다.
일반적인 형태는 다음과 같다.
@import url(StyleSheetURL);
 
예)
@impirt url(Book.css)
BOOK
{
 display:block;
 margin-top : 12pt;
 font-size : 10pt;
}
 
 
 
3. 캐스케이딩 스타일시트 내의 캐스케이딩
<TITLE STYLE="font-weight:bold">Leaves of Grass</TITLE>
과 같이 사용이 가능하다.
 
일부분만 강조하고 싶은 경우에는 아래와 같이 사용한다.
<MAPS>
<CITY>
<NAME>Sants Fe<NAME>
<STATE>New Mexico</STATE>
</CITY>
<STATE>New Mexico</STATE>
</MAPS>
 
Css로 표현하면
CITY STATE
{
    font-style:normal;
}
STATE
{
    font-style:italic;
}
우선권에 의해 New Mexico라는 글자는 normal 하게 나온다.
 
 
 
4. display 프로퍼티 설정하기
block : 텍스트의 앞과 뒤에 줄바꿈을 삽입.
Inline : 텍스트의 앞과 뒤에 줄바꿈을 삽입하지 않는다.
none : 브라우저에 엘리먼트를 출력하지 않는다.
 
기타 CSS와 관련된 프로퍼티 설정은 별도의 스타일시트 교재를 참고한다.
 
 
5. HTML 문서에 HTML 엘리먼트 삽입하기와 네임스페이스 사용하기
- 웹 브라우저는 <HTML> 이라는 엘리먼트가 HTML 요소인지 XML 요소인지 구분하지 못한다.
따라서 namespace를 사용하여 이것을 구분하게 된다.(이것은 예약어 이다.)
 
아래는 그것을 적용한 예이다.
 
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type = "text/css" href="StyleSheet1.css"?>
<INVENTORY>
<html:IMG xmlns:html="www.w3c.org/TR/REC-html40/" SRC="img1.jpg" />
 <BOOK>
  <TITLE>The Adventures of Huckleberry Finn</TITLE>
  <AUTHOR>Mark Twain</AUTHOR>
  <BINDING>mass market paperback</BINDING>
  <PAGES>298</PAGES>
  <PRICE>$5.49</PRICE>
 </BOOK>

 
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. 파라미터 내부 파싱된 엔티티 선언하기

<!ENTITY %EntityName EntityValue>

 

<!DOCTYPE BOOK

[

<!ENTITY %author

"<!ElEMENT AUTHOR (#PCDATA)>

<!ATTLIST AUTHOR Nationality CDATA 'American'>"

>

<!ELEMENT BOOK (TITLE, AUTHOR)>

<!ELEMENT TITLE (#PCDATA)>

%author;

]

>

 

위의 DTD는 아래의 DTD와 동일하다.

 

<!DOCTYPE BOOK

[

<!ELEMENT BOOK (TITLE, AUTHOR)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)

<!ATTLIST AUTHOR Nationality CDATA 'America'>

]

>

 

2. 파라미터 외부 파싱된 엔티티 선언하기

<!ENTITY %EntityName SYSTEM SystemLiteral>

 

작성법은 기존의 것과 다르지 않기에 중복 설명하지 않도록 하겠다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. 일반 내부 파싱된 엔티티 선언하기

<!ENTITY EntityName EntityValue>

 

- 규칙 -

- 이름은 알파벳이나 언더스코어로 시작해서, 다음에 문자, 숫자, 구두점(.), 하이픈(-),

   언더스코어(_)를 자유롭게 사용할 수 있다.

- 엔티티 문서 내의 파라미터 엔티티와 동일한 이름을 가질 수 있다.

   엔티티는 엘리먼트나 속성과 같은 이름을 가질 수 있다.

- 엔티티 읆을 포함한 모든 마크업 내의 텍스트에서 대/소문자를 구분한다는 것을 기억.

   (Browser와 broswer는 다른 의미)

 

 

1) 일반 내부 파싱된 엔티티 정의

<!DOCTYPE ARTICLE

[

<!ELEMENT ARTICE (TITLEPAGE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA | SUBTITLE)*>

<!ELEMENT SUBTITLE (#PCDATA)>

<!ELEMENT INTRODUCTION (#PCDATA)>

<!ELEMENT SECTION (#PCDATA)>

<!ENTITY title "The Story of XML

<SUBTITLE> The Future Language of the Internet</SUBTITLE>">

]

>

이것은 다음과 같이 TITLEPAGE 엘리먼트 내에 삽입되어 있을 때 유효.

<TITLEPAGE>

TItle : &title;

Author : Michael Young

</TITLEPAGE>

 

다음과 같이 해석된다.

<TITLEPAGE>

TItle : The Story of XML

<SUBTITLE>The Future Language of the Internet</SUBTITLE>

Author : Michael Young

</TITLEPAGE>

 

 

2) 일반 외부 파싱된 엔티티 선언하기

<!ELEMENT EntityName SYSTEM SystemLiternal>

 

URI를 사용할 경우

<!ENTITY abstract SYSTEM "http//bogus.com/documents/Abstract.xml">

 

상대적인 경우

<!ENTITY abstract SYSTEM "Abstract.xml">

 

예) Topics.xml 을 일반 외부 파싱된 엔티티로 정의한 경우

<!DOCTYPE ARTICLE

[

<!ELEMENT ARTICLE (TITLEPAGE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA)>

<!ELEMENT INTRODUCTION ANY>

<!ELEMENT SECTION (#PCDATA)>

<!ENTITY topics SYSTEM "Topics.xml">

]

>

 

- Topics.xml 파일 내용 -

<HEADING>Topics</HEADING>

The Need for XML

The official Goals of XML

Standard XML Applications

Real-World Users for XML

 

이것은 다음의 문서에 유효하게 삽입된다.

<INTRODUCTION>

Here's what this article covers:

&topics;

</INTRODUCTION>

 

 

3) 일반 외부 파싱되지 않은 엔티티 선언하기

Type : <!ENTITY EntityName SYSTEM SystemLiternal NDATA NotationName>

 

<?xml version="1.0">

<!DOCTYPE BOOK

[

<!ELEMENT BOOK (TITLE, AUTHOR, COVERIMAGE)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT COVERIMAGE EMPTY>

<!ATTLIST COVERIMAGE Source ENTITY #REQUIRED>

<!NOTATION faun SYSTEM "ShowGif.exe">

<!ENTITY faun SYSTEM "faun.gif" NDATDA GIF>>

]

>

 

<BOOK>

<TITLE>The Marble Faun</TITLE>

<AUTHOR>Nathaniel Hawthorne</AUTHOR>

<COVERIMAGE Source="faun" />

</BOOK>

 

4) 노테이션 선언하기

<!NOTATION NotationName SYSTEM SystemLiternal >

 

URI의 경우 : SystemLiternal에 "http://bogus.com/ShowGif.exe"

상대적인 경우 : "ShowGif.exe"

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML
이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일


3가지 방식으로 구분

 

■ 일반 엔티티 vs 파라미터 엔티티

- xml 텍스트 이거나 다른 텍스트, 또는 텍스트가 아닌 데이터

 

■ 내부 엔티티 vs 외부 엔티티

- 따옴표로 둘러쌓인 문자열내에 있는 것(내부엔티티)

- 별도의 파일에 포함되는 것(외부 엔티티)

 

■ 파싱된 엔티티 vs 파싱되지 않은 엔티티

- XML 텍스트를 구성하는 것(문자 데이터, 마크업)

 

파싱되지 않은 일반 데이터는 일반엔티티의 외부 엔티티로만 가능하다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

● XML 문서에서 자주 사용하는 XML 텍스트의 블록을 엔티티로 정의

● 필요할 때 마다 빠르게 삽입 가능

 

1. 엔티티 선언과 분류

- 전체 XML 문서 그 자체

- 외부 DTD 서브셋

- DTD에서 외부 엔티티로서 정의되고, 엔티티 레퍼런스를 사용해서 참조된 외부 파일

- DTD에서 내부 엔티티로서 정의되고 엔티티 레퍼런스를 사용해서 참조된, 따옴표로 둘러

  싸인 문자열

 

다음의 DTD가 존재한다면...

<!DOCTYPE ARTICE

[

<!ELEMENT ARTICE (TITLE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA)>

<!ELEMENT INTRODUCTION (#PCDATA)>

<!ELEMENT SECTION (#PCDATA)>

<!ENTITY topics SYSTEM "Topics.xml">

<!ENTITY title "A Short History of XML">

]

>

 

아래의 엘리먼트에 &topics라는 엔티티 레퍼런스를 포함시키기만 하면

기사의 내용이 자동으로 삽입된다.

<INTRODUCTION>

This article will cover the following topics :

&topics;

</INTRODUCTION>

 

필요할 때 마다 title을 삽입하면 기사 제목이 삽입된다.

<TITLEPAGE>

Title:&title;

Author:Michael Young

</TITLEPAGE>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

다음을 바탕으로 유효한 문서를 만들어라..

 

<!DOCUMENT INVENTORY

[

<!ELEMENT INVENTORY (BOOK)+>

<!ELEMENT BOOK (TITLE, AUTHOR, BINDING,PAGES, PRICE)>

<!ATTLIST BOOK InStock (yes/no) #REQUIRED>

<!ELEMENT TITLE (#PCDATA | SUBTITLE)*>

<!ELEMENT SUBTITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ATTLIST AUTHOR Born CDATA #IMPLIED>

<!ELEMENT BINDING (#PCDATA)>

<!ELEMENT PAGES (#PCDATA)>

<!ELEMENT PRICE (#PCDATA)>

]

>

 

<BOOK InStock="yes">

<TITLE>

Moby-Dick

<SUBTITLE>Or, the while</SUBTITLE>

</TITLE>

<AUTHOR Born="1835">Walt Whitman</AUTHOR>

<BINDING>hardcover</BINDING>

<PAGES>462</PAGES>

<PRICE>$7.75</PRICE>

</BOOK>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

IGNORE 섹션을 사용하면 외부 DTD 서브셋의 일부를 XML 프로세서가 무시하도록 할 수 있음.

 

<!ELEMENT BOOK ANY>

<!ATTLIST BOOK ISBN NMTOKEN #REQUIRED>

 

<![IGNORE[

<!ATTLIST BOOK Category CDATA "fiction">

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

]]>

 

다시 활성화 시키길 원하는 경우

<![INCLUDE[

<!ATTLIST BOOK Category CDATA "fiction">

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

]]>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

문서내에 만드는 것이 아니라 문서 외부에 별도의 파일에 DTD를 저장하는데 이것을 외부 DTD 서브셋(external DTD subset)이라고 한다.

장점 - 문서의 전체 그룹에서 공통의 DTD로서 사용될 수 있음.

 

1. 외부 DTD 서브셋 사용

다음의 문서를 생각한다.

<?xml version="1.0"?>

<!DOCTYPE SIMPLE

[

<!ELEMENT SIMPLE ANY>

]

>

<SIMPLE>This is an extremely simplistic XML document.</SIMPLE>

 

이 문서가 외부 DTD 서브셋을 사용했다면 다음과 같다.

<?xml version="1.0"?>

<!DOCTYPE SIMPLE SYSTEM "Simple.dtd">

<SIMPLE>This is an extremely simplistic XML document.</SIMPLE>

 

그리고 Simple.dtd에는 다음의 내용을 입력한다.

<!ELEMENT SIMPLE ANY>

 

외부의 것을 가리킬 경우에는 URI(uniform resource indentifier)를 사용한다.

이것은 URL과 동일하다.

절대주소를 사용하는 URI를 사용할 경우

<!DOCTYPE SIMPLE SYSTEM "http://bogus.com/dtds/Simple.dtd">

 

2. 내부DTD와 외부 DTD 서브셋을 모두 사용하는 경우

 

- XML 문서 -

<?xml version="1.0"?>

<!DOCTYPE BOOK SYSTEM "BOOK.dtd"

[

<!ATTLIST BOOK ISBN CDATA #IMPLIED Year CDATA "2000">

<!ELEMENT TITLE (#PCDATA)>

]

>

<BOOK Year="1998">

<TITLE>The Scarlet Letter</TITLE>

</BOOK>

 

- 외부 DTD 서브셋 -

<!ELEMENT BOOK ANY>

<!ATTLIST BOOK NMTOKEN #REQUIRED>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

지금까지 XML 문서 타입을 결정하는 DTD문서에 대해 살펴보았다.

정리하면 DTD는 XML 문서의 ELEMENT가 어떤 계층으로 되어 있고 그 엘리먼트가 포함하는 데이터 타입으로 어떤 것들이 올 수 있는지를 결정하는 것이었다.

 

그럼, 이제 속성이라는 것에 대해 살펴보고 선언하는 방법을 알아보도록 하겠다.

 

다음의 XML문서는 엘리먼트로만 이루어진 구조이다.

<BOOK>

   <TITLE></TITLE>

</BOOK>

 

하지만 아래의 구조는 속성이 포함된 경우이다.

<BOOK Binging="1994">

   <TITLE></TITLE>

</BOOK>

 

1. 속성 리스트의 선언 형태

<!ATTRIBUTE Name AttDefs>

Name : 속성에 연결된 엘리먼트의 타입 이름

AttDefs : 하나 혹은 그 이상의 속성 정의(Attribute definition)

 

속성 정의 형태 : Name AttType DefaultDecl

(Name : 속성이름, AttType : 속성에 지정될 수 있는 값의 종류인 속성타입(attribute type)

DefaultDecl : 디폴트 선언)

 

예) FILM 이라는 엘리먼트를 선언

<!ELEMENT FILM (TITLE, (STAR | NARRATOR | INSTRUCTOR))>

다음으로 FILM 엘리먼트에 두 개의 속성을 선언(Class와 Year)

<!ATTLIST FILM Class CDATA "fictional" Year CDATA ##REQUIRED>

 

결과

<?xml version="1.0"?>

<!DOCTYPE FILM

[

<!ELEMENT FILM (TITLE, (STAR | NARRATOR | INSTRUCTOR))>

<!ATTRIBUTE FILM Class CDATA "fictional" Year CDATA ##REQUIRED>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT STAR (#PCDATA)>

<!ELEMENT NARRATOR (#PCDATA)>

<!ELEMENT INSTRUCTOR (#PCDATA)>

]

>

<FILM Year = "1984">

<TITLE>The morning After</TITLE>

<STAR>Morgen Attenbury</STAR>

 

2. 속성타입

1) 문자열 타입 - 따옴표로 둘러싸인 문자열로 지정

2) 토큰화된 타입 - 고유한 속성값이 선언되어야 한다. ID라는 키워드 사용

예1) ID

<?xml version="1.0"?>

<!DOCTYPE INVENTORY

[

<!ELEMENT INVENTORY (ITEM*)>

<!ELEMENT ITEM (#PCDATA)>

<!ATTLIST ITEM StockCode ID #REQUIRED>

]

>

<INVENTORY>

<ITEM StockCode = "S021">Peach Tee Pot</ITEM>

<ITEM StockCode = "S034">Electric Coffee Grinder</ITEM>

<ITEM StockCode = "S086">Candy Thermometer</ITEM>

</INVENTORY>

 

예2) IDREF

<!ELEMENT ITEM (#PCDATA)>

<!ATTLIST ITEM StockCode ID #REQUIRED GoesWith IDREF #IMPLIED>

You could then use this attribute to refer to another ITEM element, as shown here:

<ITEM StockCode="S034">Electric Coffee Grinder</ITEM>

<ITEM StockCode="S047" GoesWith="S034">Coffee Grinder Brush</ITEM>

 

예3) IDREFS

<ITEM StockCode="S047" GoesWith="S034 S039">Coffee Grinder Brush</ITEM>

 

예4) ENTITY

파싱되지 않은 데이터

<!ELEMENT IMAGE EMPTY>

<!ATTLIST IMAGE Source ENTITY #REQUIRED>

<IMAGE Source="LOGO" //>

 

예5) ENTITIES

여러개의 파싱되지 않은 데이터 타입 선언

<!ELEMENT IMAGE EMPTY>

<!ATTLIST IMAGE Source ENTITIES #REQUIRED>

<IMAGE Source="LOGO LogoBmp"//>

 

예6) NMTOKEN

<!ELEMENT BOOK (#PCDATA)>

<!ATTLIST BOOK ISBN NMTOKEN #REQUIRED>

<BOOK ISBN="9-99999-999-9">The Portrait of a Lady</BOOK>

 

예7) NMTOKENS

<!ELEMENT SHIRT (#PCDATA)>

<!ATTLIST SHIRT Codes NMTOKENS #REQUIRED>

<SHIRT Codes="38 21 97"></SHIRT>

 

3) 열거형 타입 - Class 속성의 값이 여러개 중의 하나를 가질 수 있도록 정의

Class 지정

<!ATTLIST FILM Class (finctional | instructional | documentary) "fictionsal">

Here's a complete XML document that shows the use of the Class attribute:

 

<?xml version="1.0">

<!DOCTYPE FILM

[

<!ELEMENT FILM (TItle, (STAR | NARRATOR | INSTRUCTOR))>

<!ATTLIST FILM Class (fictional | instructional | documentaty) "fictional">

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT STAR (#PCDATA)>

<!ELEMENT NARRATOR (#PCDATA)>

<!ELEMENT INSTRUCTOR (#PCDATA)>

]

>

<FILM Class="instructional">

<TITLE>The Use and Care of XML</TITLE>

<NARRATOR>Michael Young</NARRATOR>

</FILM>

Class에 다른 값을 지정하면 유효성 에러가 발생한다.

 

NOTATION 지정

<!ELEMENT EXAMPLE_DOCUMENT (#PCDATA)>

<!ATTLIST EXAMPLE_DOCUMENT Format NOTATION (HTML | SGML | RTF) #REQUIRED>

 

<EXAMPLE_DOCUMENT Format="HTML">

<![CDATA [

<html>

<head>

<title>Mike's Home Page</title>

</head>

<body>

<p>Welcome!</p>

</body>

</html>

]]

>

</EMAMPLE_DOCUMENT>

 

디폴트 선언

#REQUIRED - 모든 엘리먼트의 타입에 대해 연결될 속성의 값을 지정

#IMPLIED - 엘리먼트의 타입에 연결된 속성을 포함할 수도 있고, 생략할 수도 있다.

AttValue - 디폴트 속성

#FIXED AttValue - 고정할 때...

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

14. 외부 DTD 서브셋의 일부를 조건부로 무시하기  (0) 2008/12/22
13. 외부 DTD 만들기  (0) 2008/12/22
12. 속성 선언하기  (0) 2008/12/22
11. 엘리먼트 컨텐트 모델  (0) 2008/12/22
10. 엘리먼트 타입 선언하기  (0) 2008/12/22
9. DTD만들기  (0) 2008/12/22
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 17일
옮긴일 : 2008년 12월 22일

컨텐트 모델 2가지

 

1. 시퀀스 모델(Sequence)

- 엘리먼트는 지정된 순서대로 자식 엘리먼트를 가져야만 한다는 것

- 콤마로서 자식 엘리먼트를 구분

- 아주 엄격한 선언 타입

 

유효한 예

<!DOCUMENT MOUNTAIN

[

<!ELEMENT MOUNTAIN (NAME, HEIGHT, STATE)>

<!ELEMENT NAME (#PCDATA)>

<!ELEMENT HEIGHT (#PCDATA)>

<!ELEMENT STATE (#PCDATA)>

]>

<MOUNTAIN>

<NAME>Wheeler</NAME>

<HEIGHT>13161</HEIGHT>

<STATE>New Mexico</STATE>

</MOUNTAIN>

 

유효하지 않은 예

<MOUNTAIN>

<NAME>Wheeler</NAME>

<HEIGHT>13161</HEIGHT>

<STATE>New Mexico</STATE>

</MOUNTAIN>

 

2. 초이스(choice)모델

<!DOCUMENT FILM

[

<!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR)>

<!ELEMENT STAT (#PCDATA)>

<!ELEMENT NARRTOR (#PCDATA)>

<!ELEMENT INSTRUCTOR (#PCDATA)>

]

>

 

유효(O)

<FILM>

<STAR>Robert Redford</STAR>

</FILM>

 

유효(O)

<FILM>

<NARRATOR>Robert Redford</NARRATOR>

</FILM>

 

유효(O)

<FILM>

<INSTRUCTOR>Robert Redford</INSTRUCTOR>

</FILM>

 

유효(X) - 2개가 같이 올 수 없다.

<FILM>

<STAR>Robert Redford</STAR>

<NARRATOR>Robert Redford</NARRATOR>

</FILM>

 

3. 컨텐트 모델의 변형

? - 0개 혹은 하나 이상의 아이템

+ - 1개 혹은 그 이상의 아이템

* - 0개 혹은 그 이상의 아이템

 

예1)

<!ELEMENT MOUNTAIN (NAME+, HEIGHT?, STATE)>

: NAME 엘리먼트가 한개 혹은 그 이상, HEIGHT 엘리먼트가 0개 혹은 하나인 경우

<MOUNTAIN>

<NAME>Ryu</NAME>

<NAME>Park</NAME>

<STATE>Seoul</STATE>

</MOUNTAIN>

 

예2)

<!ELEMENT FILM (STAR* | NARRATOR | INSTRUCTOR)>

: STAR 엘리먼트가 0개 혹은 그 이상인 경우

<FILM>

<STAR>Ryu</STAR>

<STAR>Park</STAR>

</FILM>

<FILM>

<NARRATOR>Gregory</NARRATOR>

</FILM>

 

예3)

<!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR)+>

: () 뒤에 + 기호가 오는 경우에는 전체 컨트롤 모델을 조작

<FILM>

<NARRATOR></NARRATOR>

<STAR></STAR>

<NARRATOR></NARRATOR>

</FILM>

<FILM>

<STAR>Bertram Wooster</STAR>

<STAR>Sean Connery</STAR>

</FILM>

<FILM>

<INSTRUCTOR>Stinker Pike</INSTRUCTOR>

</FILM>

 

예4) 시퀀스 모델안에 초이스 컨텐트 모델을 넣거나 초이스 모델안에 시퀀스 모델을 넣는 경우

<!DOCTYPE FILM

[

<!ELEMENT FILM (TITLE, CLASS, (STAR | NARRATOR | INSTRUCTOR))>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT CLASS (#PCDATA)>

<!ELEMENT STAR (#PCDATA)>

<!ELEMENT NARRATOR (#PCDATA)>

<!ELEMENT INSTRUCTOR (#PCDATA)>

]

>

 

유효한 도큐먼트

<FILM>

<TITLE>The Net</TITLE>

<CLASS>fictional</CLASS>

<STAR>Sandra Bullock</STAR>

</FILM>

 

<FILM>

<TITLE>How to XML</TITLE>

<CLASS>instructional</CLASS>

<INSTRUCTOR>Penny Donaldson</INSTRUCTOR>

</FILM>

 

4. 혼합된 컨텐트 지정

엘리먼트 타입을 혼합된 컨텐트로 선언하기 위해 다음의 두 가지 형태의 컨텐트 모델을 사용한다.

1) 문자데이터 - (#PCDATA)를 사용

 

<!ELEMENT SUBTITLE (#PCDATA)>

 

<SUBTITLE>A New Approach</SUBTITLE>

<SUBTITLE></SUBTITLE>

 

2) 문자 데이터와 자식 엘리먼트

<!ELEMENT TITLE (#PCDATA | SUBTITLE)*>

: TITLE이라는 엘리먼트는 파싱된 문자 데이터를 가지고 있으며, SUBTITLE은 0개 또는 그 이상의

  엘리먼트를 가질수 있다는 의미.

 

아래는 모두 유효한 문서이다.

<TITLE>

Moby-Dick

<SUBTITLE>Or, the Whale</SUBTITLE>

</TITLE>

 

<TITLE>

<SUBTITLE>Or, the Whale</SUBTITLE>

Moby-Dick

</TITLE>

 

<TITLE>

Moby-Dick

</TITLE>

 

<TITLE>

<SUBTITLE>Or, Whale</SUBTITLE>

<SUBTITLE>Another Subtitle</SUBTITLE>

</TITLE>

 

<TITLE></TITLE>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

13. 외부 DTD 만들기  (0) 2008/12/22
12. 속성 선언하기  (0) 2008/12/22
11. 엘리먼트 컨텐트 모델  (0) 2008/12/22
10. 엘리먼트 타입 선언하기  (0) 2008/12/22
9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
Posted by -세티-
TAG XML

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 17일
옮긴일 : 2008년 12월 22일

1. 엘리먼트 타입 선언의 형태

<!ELEMENT Name contentspec>

 

<COLLECTION>

<CD>MozarViolin Concertos 1,2 and 3</CD>

<CD>Telemann Trumpet Concertos</CD>

<CD>Handel Concerti Gross Op.3</CD>

</COLLECTION>

이라는 XML 문서를 완전하게 만들어보면...

 

<?xml version="1.0"?>

<!DOCTYPE COLLECTION

[

<!ELEMENT COLLECTION (CD)+>

<!ELEMENT CD (#PCDATA)>

]

>

<COLLECTION>

<CD>MozarViolin Concertos 1,2 and 3</CD>

<CD>Telemann Trumpet Concertos</CD>

<CD>Handel Concerti Gross Op.3</CD>

</COLLECTION>

 

2. 엘리먼트 컨텐트 스펙

1) EMPTY 컨텐트 - 엘리먼트가 비어있다는 것

                            <IMAGE></IMAGE> or <IMAGE />

2) ANY 컨텐트 - 모든 컨텐트를 담을 수 있다는 것.

                        <!ELEMENT MISC ANY>

 

엘리먼트를 구성하기 위해 다음의 조건을 제시한다.

1) BOOK엘리먼트 타입은 엘리먼트 컨텐트를 가지도록 선언

2) 자식 엘리먼트로 TITLE, AUTHOR을 가진다.

3) 컨텐트 모델을 만든다. - 자식 엘리먼트의 타입과 순서를 나타냄

 

<!DOCTYPE BOOK

[

<!ELEMENT BOOK (TITLE, AUTHOR)>

<!ELEMENT TITLE(#PCDATA)>

<!ELEMENT AUTHOR(#PCDATA)

]

>

<?xml version="1.0"?>

<BOOK>

<TITLE>The Scarlet Letter</TITLE>

<AUTHOR>Nathaniel Hawthorne</AUTHOR>

</BOOK>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

12. 속성 선언하기  (0) 2008/12/22
11. 엘리먼트 컨텐트 모델  (0) 2008/12/22
10. 엘리먼트 타입 선언하기  (0) 2008/12/22
9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
Posted by -세티-
TAG XML

9. DTD만들기

General Web 2008/12/22 22:16

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

DTD는 [문자 다음에 마크업 선언이 온 후에] 문자가 오는 형태로 구성.

마크업 선언 : 문서의 논리적 구조를 서술 (문서의 엘리먼트, 속성, 그 외의 특징을 정의)

 

1. DTD를 포함하는 유효한 XML 문서의 예

<?xml version="1.0"?>

<!DOCTYPE SIMPLE

   [

   <!ELEMENT SIMPLE ANY>  --------- 엘리먼트 타입을 정의하는 마크업 선언

   ]

<SIMPLE> This is an extremely simplistic XML document. </SIMPLE>

해석 : 이 문서의 DTD는 오직 하나의 SIMPLE 엘리먼트 타입을 포함한다고 지정

         그리고 SIMPLE 엘리먼트는 모든 타입의 컨텐트(ANY)를 가질 수 있다고 지정.

 

2. DTD가 포함하는 마크업 선언 종류

1) 엘리먼트 타입 선언 : 이들 엘리먼트 타입 선언은 문서가 포함할 수 있는 엘리먼트의 타입뿐 아니라, 엘리먼트의 컨텐트와 순서도 정의할 수 있다.

2) 속성 목록 선언 : 각각의 속성 목록 선언은 특정한 엘리먼트 타입과 함께 사용될 수 있는 속성의 이름뿐 아니라, 이들 속성의 디폴트값과 데이터 타입을 선언한다.

3) 엔티티 선언 : 엔티티를 사용해서 자주 사용되는 텍스트 블록을 저장하거나, 문서에 XML 이 아닌 데이터를 통합할 수 있다.

4) 프로세싱 명령문

5) 주석

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

11. 엘리먼트 컨텐트 모델  (0) 2008/12/22
10. 엘리먼트 타입 선언하기  (0) 2008/12/22
9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
Posted by -세티-
TAG XML

8. DTD 추가하기

General Web 2008/12/22 22:16

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

DTD(Document Type Description : 문서타입선언)은 XML의 프롤로그에 추가해야만 한다.

아래의 파란 영역이 프롤로그 영역이다.

주석을 기준으로 위/아래에 문서 타입 선언이 위치할 수 있다.

참고로 아래의 초록색 영역은 도큐먼트 엘리먼트 영역이다.

 

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

<!-- 파일 이름 : Inventory.xml -->
<?xml-stylesheet type="text/css" href="family.css"?>

<INVENTORY>
<![CDATA["<html>"]]>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

     <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
 </BOOK>
</INVENTORY>

 

문서 타입 선언은 문서의 구조를 정의한다.

(문서 타입 선언이 존재하지 않는 문서라면 이것은 익스플로러 5에서 체크하게 된다. 익스플로러로는 문서의 정확성-Well Formedness-은 체크해 주지만 유효성은 체크해주지 않는다.)

 

문서타입선언(DTD)

DTD는 다음의 형태를 가진다.

<!DOCUMENT Name DTD>

[설명]

Name : Document Element의 이름

 

위의 XML 문서를 예로 든다면 DTD는 다음의 형태를 가진다.

(조건 : 문서 타입 정의는 모두 대문자여야 한다.)

<!DOCUMENT INVENTORY DTD>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

10. 엘리먼트 타입 선언하기  (0) 2008/12/22
9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 17일
옮긴일 : 2008년 12월 22일

XML 문서의 최소한 요구 사항을 따라야 하며 그러기 위해서는 아래의 2가지 조건을 만족해야 한다.

1. 문서의 프롤로그는 문서의 구조를 정의하는 DTD를 포함하고 있는, 적정한 문서 타입 선언을 포함하여야만 한다.

2. 문서의 나머지 부분은 DTD에 정의된 구조를 따라야만 한다.

 

XML 문서의 유효함에 대한 장점

1. DTD에 문서의 구조를 잘 정의하면 프로세스로 하여금 유효성을 체크하게 한다.

   (XML은 DTD를 "문서의 클래스 문법"으로 정의)

2. MathML과 같은 예

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 16일
옮긴일 : 2008년 12월 22일

<![CDATA[Here you can any characters excepts two right brackers followed by a greater - than symbol.]]>

 

마크업과 같은 것을 실제 문자로 인식시키기 위해 CDATA안에 포함시킨다.

<A-SECTION>

The following is an example of a very simple HTML page:

 

<![CDATA [

<HTML>

<HEAD>

<TITLE>R.Jones &Sons</TITLE>

</HEAD>

<BODY>

<P>Welcome to our home page!</P>

</BODY>

</HTML>

]]>

 

</A-SECTION>

 

XML 마크업 안에는 CDATA가 위치할 수 없다.

적절한 CDATA 섹션의 삽입 예

<?xml version="1.0"?>

<MUSICAL>

<TITLE_PAGE>

<![CDATA[

<Oklahoma!>

By Rogers &Hammerstein

]]>

</TITLE_PAGE>

</MUSICAL>

 

잘못된 CDATA삽입 예

1.엘리먼트의 컨텐츠 안에 CDATA가 없다.

2. 시작테그 마크업 안에 있다.

<?xml vesion="1.0"?>

   <![CDATA[ ILLEGAL:: not within element content! ]]>

      <DOC_ELEMENT>

      <SUB_ELEMENT <![CDATA [ ILLEGAL::inside of markup! ]]>

         sub-element content...

      </SUB_ELEMENT>

   </DOC_ELEMENT>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. <?xml version="1.0" standalone="yes" encoding="utf-8" ?>

- standalone은 문서 프로세싱을 단순화 하기 위한 것.

 

2. <BOOK><TITLE>The Adventures of Huckleberry Finn</TITLE></BOOK>

- 이것은 잘못 구성한 케이스 이다.

 

3. 엘리먼트는 시작태그, 내용, 마침태그로 구성된다.

 

4.     <BOOK>
           <TITLE>The Marble Faun</TITLE>
           <AUTHOR>Nathaniel Hawthorne</AUTHOR>
           <PAGES>473</PAGES>
           <PRICE>$10.95</PRICE>
        </BOOK>

 

- BOOK의 컨텐트, 다섯개의 네스팅된 엘리먼트(TITLE, AUTHOR, PAGES, PRICE)

 

5. <TITLE>The Marble Faun</TITLE> :  문자 데이터

 

6. CDATA : 모든 문자를 자유롭게 사용할 수 있다.

   <![CDATA [Document Name : "How to Enter the < and & Characters" ]]>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

XML 문서를 출력하기 위해 .css 인 파일을 하나 만든다.

 

<style type="text/css">
BOOK
{
 display : block;
 margin-top : 12pt;
 font-size : 10pt;
}
TITLE
{
 display : block;
 font-size : 10pt;
 font-style : Italic;
 font-weight : bold;
}
AUTHOR
{
 display : block;
 margin-left : 15pt;
 font-style : Italic;
 font-weight : bold;
}
BINDING
{
 display : block;
 margin-left : 15pt;
}
PAGES
{
 display : none;
}
PRICE
{
 display : block;
 margin-keft : 15pt;
}
</style>

 

다음으로 다음의 코드를 XML 문서에 추가한다.

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

<?xml-stylesheet type="text/css" href="family.css"?>

<INVENTORY>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOk>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

        <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
    </BOOK>
</INVENTORY>

 

아래는 웹 브라우저를 통해 출력된 XML 문서이다.


 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

<?xml version="1.0" encoding="utf-8" ?>
<INVENTORY>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOk>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

        <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
    </BOOK>
</INVENTORY>

 

xml을 보기 위해서는 다음의 xml parser를 다운받아 설치한다.

(http://www.microsoft.com/downloads/details.aspx?FamilyID=4a3ad088-a893-4f0b-a932-5e024e74519f&DisplayLang=en)

 

아래는 설치 후 웹 브라우저를 통해서 본 이미지


 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by -세티-

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일


1. XML은 인터넷에서 널리 사용된다.

2. XMl은 다양한 어플리케이션을 지원할 것이다.

3. XML은 SGML과 호환된다.

4. XML 문서를 처리하는 프로그램을 작성하는 것은 쉬워야 한다.

5. XML의 부가 기능의 개수는 가능한한 최소(이상적으로는 0) 로 유지되어야 한다.

6. XML 문서는 사람이 읽기 쉬워야 라고 납득할 만틈의 수준으로 명확해야만 한다.

7. XML 디자인은 빠르게 준비될 수 있어여 한다.

8. XML의 디자인은 명확할 필요가 있다.

9. XML 문서는 작성하기에 쉬워야 한다.

10. XML 마크업은 꼭 간결할 필요는 없다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
Posted by -세티-

XML 이란?

General Web 2008/12/22 22:06

이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일


XML(Extensible MarkUp Language) - http://www.w3.org/TR/REC-xml

- W3C 워킹그룹에 의해 정의됨

- SGML의 부분 집합

- 1998년 2월 XML 버전 1.0

 

필요한 이유?

- HTML은 악보의 기호나 수학 방정식을 표현하는 엘리먼트가 부족하다.

- 필터링과 같은 기능의 구현

- 트리 같은 계층 구조로 정렬하기 원하는 문서에 사용

 

XML

- XML 문서의 엘리먼트 이름은 XML 정의의 일부가 아님.

 

XML 문서 작성하기

- 엄격한 syntax 적용 (시작태그와 마침태그)

-  엄격함의 여부에 따라 well-formed, valid

 

XML 문서 출력하기

- 스타일시트 링크

- 데이터바인딩

- 스크립팅

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
CSS1 - 1. 기본개념  (0) 2008/11/30
Posted by -세티-

RIA 기술이 각광을 받으면서 UX, UI에 대한 관심이 날로 증폭되는 요즘 입니다.
여러가지 RIA관련 기술이 있겠지만 아직은 사용자의 접근성이나, 브라우저를 비롯한 디바이스의 한계등등으로 인해 Silverlight나 Flash 같은 기술들이 HTML이나 CSS로 이뤄진 문서들을 대체할 만큼 전방위적으로 폭넓게 사용되진 못하고 있습니다. 그러므로 당분간은 HTML + CSS + Javascript와 같은 기술들을 이용하는 리치한 웹이 계속적으로 사용될텐데요.
이러한 기술로 사용자 인터페이스를 디자인 하다보면 자잘한 문제들 때문에 팁기술을 많이 필요로하게 됩니다.

아래에 소개되는 내용도 알아두면 유용한 정보가 될 것 같아서 공유해 봅니다.

10 useful techniques to improve your user interface designs

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
CSS1 - 1. 기본개념  (0) 2008/11/30
W3C 표준 DOM  (0) 2008/11/30
Posted by -세티-

Basic CSS syntax

General Web 2008/11/30 23:45

작성일: 2006년 12월 20일
네이버 블로그에 있던 개인 자료를 옮겨온 것입니다.

http://www.html.net에 있는 CSS강좌 내용을 설명 다 빼고 코드만 정리한 것 입니다.
Basic CSS syntax

<body bgcolor=#FF0000>

body { background-color: #FF0000 }

 

 

(출처 : http://www.html.net)

 

 

 

Mothod1 : In-line(the attribute style)

<html>

   <head>

      <title>Example</title>

   </head>

<body style=background-color:#FF0000>

<p>This is a red page</p>

</body>

</html>

 

 

Method2:Internal(the tag style)

<html>

  <head>

    <title>Example<title>

    <style type="text/css">

      body {background-color: #FF0000;}

    </style>

  </head>

  <body>

    <p>This is a red page</p>

  </body>

</html>

 

 

 

Method 3:External(link to a style sheet)

<link rel=stylesheet type=text/css href=style/style.css />

 

 

Colors and backgrounds

Color

h1{ color: #ff0000 }

 

 

background-color

body { background-color: ##ffcc66 }

h1{

color: #990000;

background-color:#fc9804;

}

 

 

Background images

body{

         background-color: #FFCC66;

         background-image: url(butterfly.gif);

}

h1

{

        color: #990000;

        background-color: #FC9804;

}

 

 

Repeat background image[background-repeat]

Background-repeat: repeat-x

Background-repeat: repeat-y

Background-repeat

Background-repeat: no-repeat

 

body{

         background-color: #FFCC66;

         background-image: url(butterfly.gif);

         background-repeat: no-repeat;

}

h1

{

        color: #990000;

        background-color: #FC9804;

}

 

 

Lock background image(background-attachment)

background-attachment: scroll;

background-attachment: fixed;

body {

         background-color: #FFCC66;

         background-image: url(butterfly.gif);

         background-repeat: no-repeat;

         background-attachment: fixed;

}

h1 {

        color: #990000;

        background-color: #FC9804;

}

 

 

Place background image(background-position)

background-position: 2cm 2cm

background-position: 50% 25%

background-position: top right

body {

         background-color: #FFCC66;

         background-image: url(butterfly.gif);

         background-repeat: no-repeat;

         background-attachment: fixed;

         background-position: right bottom;

}

h1 {

        color: #990000;

        background-color: #FC9804;

}

background: #FFCC66 url("butterfly.gif") no-repeat fixed right bottom;

 

 

Fonts

Font-family

h1{ font-family: arial, verdana, sans-serif }

h1 { font-family: Times New Roman, serif }

 

Font style

h1{ font-family: arial, verdana, sans-serif }

h1 { font-family: Times New Roman, serif; font-style: italic; }

 

Font variant

h1{ font-variant: small-caps }

h1 { font-variant: normal; }

 

Font weight

p { font-family: arial, verdana, sans-serif; }

td{ font-family: arial, verdana, sans-serif; font-weight: bold; }

 

Font size

h1 { font-size: 30px }

h2 { font-size:12pte }

h3 { font-size: 120% }

h4 { font-size: 1em }

 

p {

     font-style: italic;

     font-weight: bold;

     font-size: 30px;

     font-family: arial, sans-serif;

}

 

p{

     font: italic bold 30px arial sans-serif;

}

 

Text

Text-indention[text-indent]

p{

    text-indent: 30px;

}

 

Text-alignment[text-align]

th{

      text-align: right;

}

td{

      text-align: center

}

p{

      text-align: justify;

}

 

Text decoration[text-decoration]

h1 {

      text-decoration: underline;

      text-decoration: overline;

      text-decoration: line-through;

}

 

Letter-space[letter-spacing]

h1{

      letter-spacing: 6px;

}

p{

      letter-spacing: 3px;

}

 

text-transformation

h1{

      text-transform: uppercase;

}

li{

      text-decoration: capitalize;

}

 

Links

pseudo-class

a{

             color: blue;

}

a:link {

      color: blue;

}

a:visited{

      color: red;

}

 

pseudo-class: link

a:link{

      color: #6699cc;

}

 

pseudo-class: visited

a:visited{

      color: #660099;

}

 

pseudo-class: active

a:active{

      background-color: #FFFF00;

}

 

pesudo-class: hover

a: hover

{

      color: orange;

      font-style: italic;

}

 

Identification and grouping of elements (class and id)

<p>Groups for white wine:</p>

<ul>

<li><a href=ri.htm class=whitewine>Riesling</a></li>

<li><a href=ch.htm class=whitewine>Riesling</a></li>

<li><a href=pb.htm class=whitewine>Riesling</a></li>

</ui>

 

<p>Groups for red wine:</p>

<ul>

<li><a href=ri.htm class=whitewine>Riesling</a></li>

<li><a href=ch.htm class=whitewine>Riesling</a></li>

<li><a href=pb.htm class=whitewine>Riesling</a></li>

</ui>

 

a {

      color: blue;

}

a.whitewine{

      color: #FFBB00;

}

a.redwine{

      color: #800000;

}

 

Group of elements(span and div)

span.benefit{

      color: red;

}

 

<p>Early to bed and early to rise makes a man

<span class=benefit>healthy</span>

<span class=benefit>wealthy</span>

<span class=benefit>wise</span>

</p>

 

Grouping with <div>

<div id=democrats></div>

<div id=republicans></div>

 

#democrats{

      background: blue;

}

#republicans{

      background: red;

}

 

 

The box model

 

 

<h1>Article: 1</h1>

<p>All human beings are bone free and equal in dignity and rights.

They are endowed with reason and conscience and should act towards one another in a sprit of

brother in a spirit of brotherhood

</p>

 


Margin and Padding

Examples of margins 

body{

      margin-top: 100px;

      margin-right: 40px;

      margin-bottom: 10px;

      margin-right: 70px;

}

 

body{

      margin: 100px 40px 10px 70px

}

 

body{

      margin: 100px 40px 10px 70px

}

p{

      margin: 5px 50px 5px 50px

}

 

Set padding in an element

h1{

      background: yellow;

      padding: 20px 20px 20px 80px

}

h2{

      background: orange;

      padding-left: 120px;

}

 

 

Borders

The Width of borders[border-width] à border-width

 

Examples of border-width

 

The color of borders[border-color] à rgb(123123) or #123456 or yellow

 Colors

 

 

Types of borders[border-style]

Different types of borders

 

Height and width

Setting the width[width]

div.box{

             width: 200px;

             border: 1px solid black;

             background: orange;

}

 

Setting the height[height]

div.box{

             height: 500px;

             width: 200px;

             border: 1px solid black;

             background: orange;

}

 

Floating elements(floats)

#picture{

      float: left;

      width: 100px;

}

 

<div id=picture>

    <img src=bill.jpg alt=Bill Gates>

</div>

<p>causes naturals et antecedentes, idciro etiam nostrarum voluntatum</p>

 

The property clear

#picture{

      float: left;

      width: 100px;

}

.floatstop{

      clear: both;

}

 

Positioning of elements

h1{

      position: absolute;

      top: 100px;

      left: 200px;

}

 

Relative positioning

#dog1{

      position: relative;

      left: 350px;

      bottom: 150px;

}

#dog2{

      position: relative;

      left: 350px;

      bottom: 150px;

}

#dog3{

      position: relative;

      left: 350px;

      bottom: 150px;

}

 

Layer on layer with z-index(Layers)

#ten_of_diamonds {

             position: absolute;

             left: 100px;

             bottom: 100px;

             z-index: 1;

}

 

#jack_of_diamonds {

             position: absolute;

             left: 115px;

             bottom: 115px;

             z-index: 2;

}

 

#queen_of_diamonds {

             position: absolute;

             left: 130px;

             bottom: 130px;

             z-index: 3;

}

 

#king_of_diamonds {

             position: absolute;

             left: 145px;

             bottom: 145px;

             z-index: 4;

}

 

#ace_of_diamonds {

             position: absolute;

             left: 160px;

             bottom: 160px;

             z-index: 5;

 

 


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

XML 이란?  (1) 2008/12/22
사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
CSS1 - 1. 기본개념  (0) 2008/11/30
W3C 표준 DOM  (0) 2008/11/30
[HTML] Box Model  (0) 2008/08/06
Posted by -세티-

작성일 : 2006년 12월 31일
옮긴일 : 2008년 12월 21일

전에 네이버 블로그에 있던 자료를 옮겨 왔습니다.

Cascading Style Sheets

- CSS는 웹 문서에 스타일을 추가하기 위한  간단한 메커니즘이다.

 

CSS1

- Cascading Style Sheet 레벨1을 정의.

 

1. “learning CSS” 에 사용자를 위한 메일링 리스트, 책, 교육서 등이 있다.

2.  Web style sheets page에 스타일쉬트를 위한 배경 정보가 있다.

 

 

1. 기본개념

H1{ color: blue }

- 단일 CSS Rule.

- 선택자(H1)과 선언(color:blue)로 구성됨.

- 선언의 경우 속성(color)과 값(blue)로 구성됨.

 

선택자(Selector)는 HTML 문서와 스타일 쉬트를 연결함, 모든 HTML Element는 Selector가 될 수 있다.

 

스타일 쉬트 예)

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CSS 스터디</title>

    <link rel="Stylesheet" type="text/css" href="
http://style.com/cool" title="Cool" />
    <style type="text/css">
        @import url(
http://style.com/basic);
        H1{ color: blue }
    </style>

</head>
<body>
    <form id="form1" runat="server">
    <div>

       
<H1>Head Line is blue</H1>
        <P Style="color:green">While the paragraph is green.</P>
    </div>
    </form>
</body>
</html>

 

(스타일 쉬트와 결합하는 방법)

1. Link Element를 이용하여 외부 스타일 쉬트와 연결

2. HEAD Element 내에 STYLE Element를 지정

3. CSS @import 기술로 스타일 쉬트 도입

 

1.2 그룹으로 묶기

스타일 쉬트의 크기를 줄이기 위해 선택자를 콤마로 분리하여 그룹으로 묶어서 관리할 수 있음.

H1, H2, H3 { font-family: helvetica }

다음과 같은 방법으로도 가능

H1{

       font-weight: bold;

       font-size: 12pt;

       line-height: 14pt;

       font-family:  helvate;

       font-variant: normal;

       font-style: normal;

}

 

1.3 Inherits

- 디폴터 문서를 정의하기 위한 방법

 

코드 예)

BODY{ color: black; background: url(texture.gif) white; }

- 이미지가 없으면, 배경색이 백색으로 됨.

일부 스타일의 속성들은 parent element로 부터 child element로 전달되지 않는다.

P{ font-size:10pt } or p { line-height: 120% }

 

1.4 선택자와 클래스

- element에 대한 점진적인 제어를 향상시키기 위해 'CLASS' 라는 새로운 어트리뷰트가 있음.

- Body element내의 모든 element들은 class화 될 수 있고 class는 스타일쉬트에 지정될 수 있음.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" >
<head>
    <title>제목 없음</title>
    <style>
    Body
    {
        color: green; background: url("150989main_image_feature_598_ys_full.jpg") white;
    }
   
   
H1.cls
    {
        font-size:20pt; color:#00FF00
    }
    </style>
</head>
<body>
   
<h1 class="cls">녹색을 표현하는 방법</h1>
</body>
</html>

 

전달받은 Rule들은 class화된 element에 적용된다. class들은 selector들을 생략하고 사용할 수 있다. 예를 들어서 다음과 같은 표현이 가능하다.

예) .cls{ font-color: green }

selector마다 하나의 클래스만 지정하는 것도 가능하다.

 

1.5 ID as Selector

- 아이디를 사용할 경우 '#'으로 시작한다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" >
<head>
    <title>제목 없음</title>
    <style>
    Body
    {
        color: green; background: url("150989main_image_feature_598_ys_full.jpg") white;
    }
   
    H1.cls
    {
        font-size:20pt; color:#00FF00
    }
   
   
#z98y { letter-spacing: 0.3em }       // 아이디만 판별
    H1#z98y{ letter-spacing: 0.5em }    // 엘리먼트(H1)과 아이디(z98y) 모두 판별
    </style>
</head>
<body>
    <h1 class="cls">녹색을 표현하는 방법</h1>
   
<p id="z08y">Wide Text</p>
</body>
</html>

 

스타일 쉬트는 문서의 구조에 잘 맞게끔 설계되어 있으므로 아이디만 가지고 판별하는 방법은 피하는게 좋다.

 

1.6 복합 선택자

- H1{ color: blue }, EM{ color: red } or H1 EM{ color: red }

- 위에서 가장 뒤에 나오는 선택자를 복합 선택자라고 한다.

- 복합 선택자는 빈 칸을 기준으로 구분하여 지정

- 다음과 같은 조합으로도 검정하는 것이 가능하다.

 

코드 예1)

DIV P { font: small sans-serif }
.reddish H1 { color: red }
#x78y CODE { background: blue }
DIV.sidenote H1 { font-size: large }

 

코드 예2)

H1 B, H2 B, H1 EM, H2 EM { color: red }

 

H1 B { color: red }
H2 B { color: red }
H1 EM { color: red }
H2 EM { color: red }

 

1.7 Comment

EM{ color: red } /* red, 적색 */

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'General Web' 카테고리의 다른 글

사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
CSS1 - 1. 기본개념  (0) 2008/11/30
W3C 표준 DOM  (0) 2008/11/30
[HTML] Box Model  (0) 2008/08/06
2. xml 문서의 생성과 CSS를 이용한 XML 문서 출력  (0) 2008/04/11
Posted by -세티-