ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • XML 의 기초 Extensible Markup Language
    Web/XML 2008. 11. 19. 20:45
    반응형
    Session 1 : XML이란 , XML 생성
    Session 2 : XSL사용
    Session 3 : DOM 을 이용한 방법
    Session 4 : XML 데이터 전송
    Session 5: Validation 과  WebService



    데이터의 구조화

    XML이란?

    의미가 부여되지 않은 데이터는 잘못 인식될 수 있다
    구조화된 데이터는 다른 프로그램에서도 이해할수 있도록 한다
    Metadata란? 데이터를 위한 데이터~!!
    메타데이터란? 데이터를 꾸며주기위한 설명해주기위한 데이터


    정보사용의 문제점

    유용한 문서정보의 생성과배포
    다양한 형태의 문서생성
    다양한 형태의 문서 통합
    조건적인 문서의 관리

    자료 검색

    검색엔진은 종종 엉뚱한 결과를 가져온다
    HTML바탕의 거색인진 (AltaVista, Lycos)
    - 검색어에 의한 검색
    - Context에 의한 검색에는 적합하지 않음
    새로운 검색형식의 필요
    - Intelligence-based searches
    - Meaning-based searches
    - Context-based searches


    XML의 필요성

    오늘날 문서 데이터의 요구사항
    -사람과 시스템이 모두 읽을 수있는 형태
    -자료의 내용과 구조를 정의
    -관계설정
    -자료의 구조와 보여주는 부분의 분리
    -개방성 및 확장성

    XML 지원
    XML태그를 이용한 데이터의 표현

    문서의 데이터는 세가지로 구성됨
    1.자료 - 워드문서 
    2.구조 - 어떻게 들어간다
    3.출력 - 워드에서 볼수있고 프린트로도볼수잇고..

    XML문서는 문서의 내용을 구조에 대한 정보를 포함하고 있다
    워드같은 문서는 바이너리파일형식으로 저장되어있다

    XML문서는 출력에 관한 내용은 정의하지않고있음

    XML Extensible Markup Language

    XML은 SGML의 Subset 형태이다
    -Standard Generalized Markup Language
    마크업 랭귀지 - > 출반이나 인쇄쪽에 사용하도록 고안된  간단한 스크립트 랭귀지
    개발베이스는 프린트로 문서를 출력하기위해서 출력하기위해서 만든 마크업 랭귀지

    XML은 www.w3.org 에 의해서 표준화 (W3C)
    1986에 국제표준으로 제정


    XML은 HTTP transaction에 사용
    웹 서버에서 XML사용시 장점
    - 하나의 XML파일을 모든 브라우저에서 사용
    - 각각 브라우저는 자신의 포멧을 유지
    XML을 사용하는 브라우저의 잇점
    - 브라우저는 데이터를 재활용
    - 네트웍의 트래픽과 서버의 로드를 줄일 수 있다

    HTML은 단지 데이터를 표시
    <table>
    <tr>
    <td> 이름</td>
    </tr>
    </table> 

    XML은 데이터를 정의

    <employee>
    <name> 최우인 </name>
    <salary> 100 </salary>
    <region>서울</region>
    </employee>

    XML의 장점
    -확장성 , 호환성 , 자체적으로 데이터의 설명

    XML의 단점
    -구조를 정의하나 의미적으로 제한 , 또다른 혼란??


    XML의 사용

    비지니스의 업무의 자동화
    ex) Electronic Data Interchange( EDI )
    정보의 분산/전달
    지식관리(Knowledge management)
    응용프로그램과 데이터의 통합


    XML문법

    XML은 데이터를 설명하기 의해 태그를 사용
    정보를 나타내는 기본 요소의 표현 방식

    <name> 전광식 </name>
    시작tag   요소Element   끝tag

    하위 요소 포함가능
    <employee>
       <name> 전광식 </name> 
       <salary> 250000 </salary>
    </employee>


    XML문서의 구성

    선언부 <?xml vertsion = "1.0"?>
    주석 <!- 이것은 주석입니다 -->
    상위 element <employee>
    <name>전광식 </name>
    <permanent_staff />   <-- 아무값도 없는것 빈태그
    <salary currency = "원">  
          25000
    </salary>
    </employee>


    XML문서의 구조

    Prolog
    - XML 선언
    - DTD 또는 XML schema(문법의 정의)
    <?xml version= "1.0">
    <!DOCTYPE employees SYSTEM "employee.dtd">  <--다큐먼트 타입문법
    상위 element는 다른 element를 포함
    <employee>
    <name>전광식 </name>
    </employee>


    Well-Formed XML문서 생성

    Well-formed 문서의 요구사항
    - 단일, 유일한 상위 element
    - 시작/끝 tags의 일치
    - 대소문자 구분
    - 하부 elements(중첩을 허용하지 않음)
    - Attribute는 인용부호를 사용 ""
    - 하나의 element에서 속성을 반복하여 사용하지 않음
    Valid 문서의 요구사항



    데이터의 사용

    Element 는 
    반복적으로 사용되는 데이터
    계층적 데이터의 묶음
    순차적인 데이터

    Attrbute는
    Element데이터의 Metadata
    Enumerate되는 값
    파일크기의 축소


    문법과 Namespaces

    Namespace는 이름을 충돌의 방지한다
    Element의 XML Namespace정의   
    - Xmlns라는 속성을 사용 : Uniform Resource Indicator (URI)



    <?xml version="1.0" encoding="euc-kr" ?>
    <f: 청과물 xmlns:f = "http://www,devpia.com">   
    <f: 과일>
    <f:배>나주배</f:배>
    <f:사과>부사</f:사과>
    </f:과일>
    <운송방법>
    <자동차>트럭</자동차>
    </운송방법>
    </청과물>

    -----------위에것을 줄여서-----------
    <?xml version="1.0" encoding="euc-kr" ?>
    <청과물 xmlns = "http://www,devpia.com">   
    <과일>
    <배>나주배</배>
    <사과>부사</사과>
    </과일>
    <운송방법>
    <자동차>트럭</자동차>
    </운송방법>
    </청과물>


    URI를 쓰기위한방법 두가지 

    URL ->Uniform Resource Locator
    URN -> Uniform Resource Name

    XML기술 용어 4가지

    XML 을보여주는 스타일시트
    데이타 바인딩
    도큐번트 오브젝트 모델
    벨리데이션 Validation

    Style Sheet 를 이용한 XML문서 보기

    Cascading Style Sheets (CSS) 소개

    Style sheets 데이터의 포멧을 정의
    HTML 은 casvading style sheets 을 이용하여 정의

    XML문서에 CSS첨부

    <?xml-stylesheet type="tesxt/css" href="employees.css" ?>
    <employees>
    <employee>
    <name> 전광식</name>
    <salary> 100 </salary>
    </employee>
    </employees>



    XSL  : XML의 Style Sheet    (XML용 CSS)

    XML의 elements와 attrubutes를 다른 포멧으로 변환하는 방식을 정의
    CSS보다 더강력하고 유연함
    순환 조건문사용가능 ,정렬, 새로운 엘레먼트어트리뷰추가

    첨부방식
    <?xml-stylesheet type="text/xsl" href="URL for XSL file" ?>

    <?xml-stylesheet type="text/xsl" href="employees.xsl" ?>
    <employees>
    <employee>
    <name> 전광식</name>
    <salary> 100 </salary>
    </employee>
    </employees>


    XML  Data Island 생성

    HTML 페이지에 XML문서 내장

    Inline XML
    <XML ID ="MyXMLData">
       <?xml version="1.0" ?>
                 ....XML 정의....

    </XML>

    XML파일 참조
    <XML ID ="MyXMLData" SRC = "MyXmlData.xml">
    </XML>

    XML Data와 HTML Element 의 연결

    <input type = "text" DATASRC ="#MyXMLData" DATAFLD="salary">

    HTML에 테이블 형식으로 표시

    <Table DATASRC ="#MyXMLData">
    <Tr>
    <td><SPAN DATAFLD="name"></td>
    <td><SAPN DATAFLD="salary"></td>
    </tr>
    </table>


    Document Object Model이란?

    XML문서에 대한 프로그램할 수 있는 interface제공
    XML문서의 객체와 인터페이스 포함
    XML tree를 프로그램화 가능
    XML tree Elements와 attributes 등을 추가/삭제
    새로운 XML문서의 프로그램적으로 생성

    XML은 완벽한 트리 구조로 되어있다

    DOM객체

    DOMO안에 정의된 객체들 (Level 1)
    XML DOM tree안에서 각각 다른 노드로 정의
    Method와 properties제공

    DOM을 이용한 XML Data Island 사용

    <script language = "vbscropt">
    Sub SampleSub()
    Set doc = MyXMLData.XMLDocument
    Set rootNode = doc.documentElement
    ....

    End Sub
    </script>



    XML의 검사

    Validation 은 XML문서를 원하는 형식에 맞게 작성/교환 할 수 있도록 한다


    Well Formed 과 Valid 문서

    Well Formed XML문서
    - XML의 기본문법 준수
    - elements/attributes 의 조합으로 구성
    - 문법을 가지고 있음

    Valid XML문서
    - well formed문서
    - Document Type Definition(DTD)또는 XML schema로 정의
    - DTD/XML schema로 정의된 문법 사용


    DTD / XML schema
    DATA는 SGML의 Validation를 정의하는데 사용됨
    DOCTYPE -element tree의 최상의
    ELEMENT -element  자체및 다른 element의 관계를 정의
    ATTLIST - attribute를 정의
    - 복잡하다
    - 데이터형식에 대한 자세한 정보가 없다
    - 추가적인 태그 사용을 허용하지 않는다

    XML Schema적용
    Schema의 적용과 namespace의 사용 
    XML문서에 대한 Schema정의 










    반응형

    'Web > XML' 카테고리의 다른 글

    DOM을 이용한 XML생성  (0) 2009.01.15
    XML정리 기본 문법 + XML xmlns encoding <XML ID="xmlidso"> DATASRC DATAFLD  (2) 2009.01.15
    JSON http://ko.wikipedia.org/wiki/JSON  (0) 2008.12.26
    XML PPT 3  (0) 2008.11.21
    XML PPT 2  (0) 2008.11.21
    XML PPT  (0) 2008.11.21
    XML XML문서 생성  (0) 2008.11.19
    XML 기존 마크업 언어와 XML  (0) 2008.11.19

    댓글

Designed by Tistory.