XML (eXtensible Markup Language)elearning.kocw.net/KOCW/document/2015/chungnam/leekyuchul1/1.pdf ·...

106
XML (eXtensible Markup Language) 이규철 충남대학교 컴퓨터공학과 [email protected]

Transcript of XML (eXtensible Markup Language)elearning.kocw.net/KOCW/document/2015/chungnam/leekyuchul1/1.pdf ·...

  • XML(eXtensible Markup Language)

    이 규 철

    충남대학교컴퓨터공학과

    [email protected]

  • Contents

    SGML & HTML & XML

    XML DTD & Schema

    XLL

    XSL

    2 / 100

  • Slides’ title here

    SGML & HTML & XML

  • 마크업(Markup)의 기원

    출판업계에서원고교정및식자작업을위해주석을첨가함

    Markup Languages: RTF, LaTex, SGML, XML, ….

    원고작성 서식작성 출판

    서식지정을위해마크업사용

    원고교정을위해마크업사용

    4 / 100

  • 절차적(Procedural) 마크업

    워드프로세서에서텍스트의외형과위치를지정하기위해사용(예: MS Word의 RTF)

    텍스트와같이특정코드로저장

    문제점 문서의구조정보를기록하지않음(문서외형을위해 사용)

    유연성이 부족(이식성결여)

    처리가 늦고, 오류 발생이잦다.

    절차적마크업

    공통코딩일반화마크업

    5 / 100

  • 공통코딩

    외부포맷팅프로시듀어호출로제어하는매크로기능추가

    장점 문서의 이식성, 유연성

    (외형 변화를 위해매크로만 수정)

    마크업은 구조를기술하는데 친숙

    LaTex의예

    \documentclass[12pt]{article}

    \title{\LaTeX}

    \date{}

    \begin{document} \maketitle \LaTeX{} is a document preparation system for the \TeX{} typesetting program. It offers programmable desktop publishing features and extensive facilities for automating most aspects of

    6 / 100

  • 일반화(Generalized) 마크업

    문서의외형이아닌구조를기술

    마크업은데이터베이스스키마와유사한모델

    예: SGML, XML

    John Doe

    Jack Smith

    XML at WhizBang

    Have you heard of this new technology, XML? It looks promising.It is similar to HTML but it is extensible. All the big names (Microsoft, IBM,Oracle) are

    7 / 100

  • SGML 정의

    정의

    Standard Generalized Markup Language, ISO 8879, 1989

    문서에서 논리구조와내용 구조를 기술하기위한 메타언어(meta language)

    SGML은다음을제공

    기술적 문서마크업생성 기법

    문서의 내용모델이나구조를 정의하기위한 언어

    다양한 응용들사이 구조화된 데이터교환을 위한 도구

    8 / 100

  • SGML 특징

    SGML 단점 S/W를개발하기 어렵다(SGML의복잡성)

    Web에서 S/W 제한과 Instance의 이식성 결여

    산업계의지원

    논리구조 작성의어려움(DTD 작성 어려움)

    SGML 장점 유연성

    개방 표준

    시스템이나 플랫폼에독립적

    재사용성

    9 / 100

  • HTML 개요

    HyperText Markup Language

    W3C의명세

    웹상에서 Hypertext 문서를생성할수있는간단한마크업언어

    SGML의한응용

    ASCII Text 양식의문서

    HTML = SGML + a DTD

    HTML

    HEAD BODY

    10 / 100

  • HTML 특징

    HTML 단점 고정된 태그집합

    다양한 페이지포맷

    임의구조화능력부족

    효과적인 검색및 재사용 어렵다

    HTML 장점 이식성과 사용이편리

    HTML Instance를 Web에서 손쉽게 다운로드 가능

    11 / 100

  • XML 역사

    1960년대,IBM의 GML(Generalized Markup Language)

    1986년, ISO 8879, SGML(Standard Generalized Markup Language)

    1990년대초, HTML(HyperText Markup Language)

    1996년, W3C WG에서 XML 공개

    1998년 2월, W3C, Rec. XML 1.0 발표

    2006년 8월, W3C, Rec. XML 1.1 발표

    12 / 100

  • XML 표준

    eXtensible Markup Language Meta Language

    W3C working group에서 1996년도에작성

    Web상에서구조화된전자문서를전송가능토록설계된표준화된텍스트형식

    SGML/HTML과 Interoperability

    일반 Web 응용 S/W에의해처리되고사용자정의문서를다양하게배치가능

    새로운웹혁명을예고

    새로운웹응용창출

    13 / 100

  • XML의 특징

    간단성(SGML보다선택특성이적다)

    지금까지경험에기본(SGML, HTML)

    확장성(태그에제한없음)

    링크의자동생성이가능

    차세대하이퍼텍스트기능을제공

    문서의재사용용이

    웹사이트들의간단한시스템관리제공

    표준화된스타일시트제어

    Primary character set으로 8-bit ASCII와 Unicode 사용

    플랫폼, 프로그래밍언어, Vendor에독립적: 모두 Text 이니까

    14 / 100

  • XML vs. SGML

    생략태그, SGML 선언

    논리적결합(&)

    inclusion(+), exclusion(-)

    NAME, NAMES

    NUMBER, NUMBERS

    NUTOKEN, NUTOKENS

    CURRENT, etc

    문서형선언

    element 선언

    문자 entity

    외부 entity

    SGML로부터제거된기능

    - Style sheet

    - XLINK, XPointer

    - Query Language

    - DOM, RDF

    - Namespace, etc

    XML에추가된기능

    SGML에서계승된기능

    확장성, 구조, 검증

    Internet 지향XML SGML

    15 / 100

  • 다른 표준들 간의 관계

    ISO/IEC W3C

    HyTime

    DSSSL

    SGML

    SDIF

    XML논리구조

    XSL물리구조

    XLL링크구조

    MIME교환구조

    16 / 100

  • XML & HTML 차이점

    다중하이퍼링크의사용

    인터넷이나인트라넷에서임의정보유형을 정의가능

    문서의외형을정의하는것이아니라문서의구조를정의: 검색도가능

    HTML XML

    XML 문서 관리 시스템

    (XML 시리즈)

    이 규 철 / 1998


    가격 : 10, 000원/ISBN=#

    0-07-9137098-5

    XML 문서 관리 시스템

    XML 시리즈

    이 규 철

    1998

    10,000

    ISBN=#0-07-9134098-5

    17 / 100

  • 18

    Possible Advantages of Using XML

    Truly Portable Data

    Easily readable by human users

    Very expressive (semantics near data)

    Very flexible and customizable (no finite tag set)

    Easy to use from programs (libs available)

    Easy to convert into other representations

    (XML transformation languages)

    Many additional standards and tools

    Widely used and supported

    18 / 100

  • 19

    App. Scenario 1: Data Exchange

    Legacy System

    (e.g., SAP R/2)

    Legacy System (e.g.,

    Cobol)

    XML Adapter

    XML Adapter

    XML

    (ebXML, RosettaNet, BizTalk, …)

    SupplierBuyer

    Order

  • 20

    App. Scenario 2: Content Mgt.

    Database with XML documents

    Clients

    ConvertersXML2HTML XML2WML XML2PDF

    http://images.google.de/imgres?imgurl=www.hs-niederrhein.de/service/wap/handy.jpg&imgrefurl=http://www.hs-niederrhein.de/service/wap/&h=502&w=305&prev=/images%3Fq%3Dhandy%26svnum%3D10%26hl%3Dde%26lr%3D%26ie%3DUTF-8http://images.google.de/imgres?imgurl=www.hs-niederrhein.de/service/wap/handy.jpg&imgrefurl=http://www.hs-niederrhein.de/service/wap/&h=502&w=305&prev=/images%3Fq%3Dhandy%26svnum%3D10%26hl%3Dde%26lr%3D%26ie%3DUTF-8http://images.google.de/imgres?imgurl=media.michigandaily.com/vimages/pda/pda.jpg&imgrefurl=http://www.michigandaily.com/vnews/display.v%3Fpage%3Dpdasubscribe&h=192&w=151&prev=/images%3Fq%3Dpda%26svnum%3D10%26hl%3Dde%26lr%3D%26ie%3DUTF-8http://images.google.de/imgres?imgurl=media.michigandaily.com/vimages/pda/pda.jpg&imgrefurl=http://www.michigandaily.com/vnews/display.v%3Fpage%3Dpdasubscribe&h=192&w=151&prev=/images%3Fq%3Dpda%26svnum%3D10%26hl%3Dde%26lr%3D%26ie%3DUTF-8

  • 21

    App. Scenario 3: XML for Metadata

  • 22

    App. Scenario 4: Document Markup

    This article is about XML.

    Weikum shows the

    following theorem (see Section )

    For any XML document x, ...

    Weikum

  • 23

    App. Scenario 4: Document Markup Document Markup adds structural and semantic

    information to documents, e.g.

    Sections, Subsections, Theorems, …

    Cross References

    Literature Citations

    Index Entries

    Named Entities

    This allows queries like

    Which articles cite Weikum‘s XML paper from 2001?

    Which articles talk about (the named entity) “Weikum“?

  • Slides’ title here

    XML DTD & Schema

  • XML 문서

    Well-formed Documents

    - 문서가 XML 구문규칙에의해작성

    - 논리구조는 validate 되지않음

    - 하나의가장바깥엘리먼트

    (root, document element) 요구

    Valid Documents

    DTD를가지며, DTD에따라작성된문서

    25 / 100

  • Well Formed

    문서실례는 XML 문서에대한문법을따름

    하나의최상위엘리먼트(루트, 문서엘리먼트)를가진다

    엘리먼트가중첩되지않음

    모든태그는 EMPTY 엘리먼트를제외하고시작태그와종료태그가균형을

    이루어야함

    EMPTY 엘리먼트는 형식으로 표현

    모든속성은 quotes으로표현

    모든엔티티들은선언되어야함

    문자데이터내에마크업문자를포함하지않음

    26 / 100

  • Well_Formed 문서 예

    공과대학정보통신공학부컴퓨터공학전공

    홍길동11111042-555-6666042-666-5555대전광역시 서구 도마2동 439-6번지011-222-3333

    XML 처리 명령(PI)

    브라우징

    사용자가 정의한엘리먼트

    한글 2바이트 완성형

    27 / 100

    ../../../DATA/수업/XML%20책/test1.xml../../../DATA/수업/XML%20책/test1.xml

  • 스타일 적용 예

    공과대학 정보통신공학부

    컴퓨터공학전공

    홍길동11111042-555-6666042-666-5555대전광역시서구도마2동 439-6번지

    011-222-3333

    test1.xml

    univ, div, depart {display: block;font-size: 20pt; font-weight: bold;

    }student name {

    dispaly: block;font-size: 18;font-weight: bold;color: blue;

    }student no, tel, fax, address, hp {

    display: block;font-size: 10pt; font-style: italic;color: red;

    } test1.css

    브라우징

    28 / 100

    ../../../../../WINDOWS/Temporary Internet Files/Content.IE5/C16JOPIR/test1c.css../../../DATA/수업/XML%20책/test1ccss.xml../../../DATA/수업/XML%20책/test1ccss.xml

  • Valid XML 문서

    XML valid 문서는 DTD를포함

    XML DTD는다음구성요소들을포함하는태그에대한문법규칙들의집합제공 Processing Instructions

    Elements

    Attribute

    Entities

    Notations

    Comments

    CDATA Section

    29 / 100

  • Processing Instructions

    응용프로그램들에정보를제공하기위해사용

    형식 : name : PI target(응용에 PI를 정의)

    pidata : 선택사항

    XML 표준에서 PI name은 XML로 시작

    XML PI 선택사항 version

    standalone

    yes - 내부 선언으로 처리

    no – 외부 선언으로 처리

    encoding

    UTF-8, UTF-16, ISO-10646, EUC-*

    예 :

    30 / 100

  • 엘리먼트

    Element content

    엘리먼트 이름과내용 특성을 정의

    시작태그()로 시작, 종료태그()로 종료

    Parsed Character data(#PCDATA)

    character data(text)로 첫번째 선언

    다른 엘리먼트를 포함하지 않는다

    Other elements : subelement, children

    Specific Keyword

    EMPTY : 내용을포함하지 않는 엘리먼트

    ()

    ANY : 임의 유형의 자식엘리먼트를 갖는다

    인터넷에서의마크업기술

    31 / 100

  • 문자데이터와 엘리먼트 내용의 혼합

    발생지시자 의 미

    + 한번이상발생

    ? 발생할수도안할수도있음

    * 0번이상발생

    연결자 의미 예

    , A 다음에 B (A,B)

    | A 또는 B (A|B)

    32 / 100

  • 엘리먼트

    사진 ?이력

    생년월일

    이름

    대학

    전공

    연락처

    관심분야

    애인이름*

    EMPTY

    #PCDATA

    #PCDATA

    집전화

    사무실전화

    EMAIL

    #PCDATA|

    ,

    33 / 100

  • 엘리먼트

    111111-1009313홍길동공과대학컴퓨터공학전공

    042-111-2222042-1111-3333

    [email protected]

    XML여자1여자2

    test.dtd test2.xml

    34 / 100

    ../../../../../WINDOWS/Temporary Internet Files/Content.IE5/C16JOPIR/testex.dtd../../../DATA/수업/XML%20책/test2ex.xml

  • 속성

    엘리먼트에대한추가적인정보를제공

    DTD나시작태그내에지정

    모든속성값들은 quote(‘ ’, “ ”)

    3 부분으로구성 : 이름, 유형, 디폴트값

    속성선언

    35 / 100

  • 속성유형

    String attribute : CDATA, 임의텍스트

    ATTRIBUTENAME CDATA #IMPLIED/#REQUIRED/#FIXED>

    데이터베이스시스템연구실

    Tokenized attributes

    ID, IDREF, IDREFS, ENTITY, ENEITIES, NMTOKEN, NMTOKENS

    #IMPLIED/#REQUIRED /#FIXED>

    ….

    36 / 100

  • 속성 유형

    Enumerated attributes

    #REQUIRED/#FIXED>

    …..

    37 / 100

  • 속성유형

    ID

    ID의 값은 name

    문서내에서 각엘리먼트 ID 값은고유

    IDREF / IDREFS

    IDREF : 지정된 ID로 엘리먼트를 가리킨다

    IDREFS : white space로 구분되는 IDREF 값들

    ENTITY / ENTITIES

    ENTITY : external entity

    ENTITIES : white space로 구분되는 ENTITY 값들

    NMTOKEN / NMTOKENS

    NMTOKEN : 단일워드로 구성

    38 / 100

  • Attribute Default Value

    #REQUIRED

    엘리먼트선언시 반드시 값이지정

    #IMPLIED

    속성값이요구되지 않고 디폴트값을 제공하지 않는다

    값이지정되지 않으면 XML 처리기는값 없이 처리

    “value” 디폴트로임의 적절한 값이지정

    #FIXED “value”

    고정된값을갖는다

    속성이요구되지 않지만, 발생시 지정된 값을갖는다

    39 / 100

  • Attribute 사용 예

    id ID #REQUIRED >

    ]>

    40 / 100

  • Attribute 사용 예

    01-20-99

    홍길동공과대학컴퓨터공학전공

    [email protected]

    XML애인1애인2

    41 / 100

    ../../../DATA/수업/XML%20책/test(dtd).txt../../../DATA/수업/XML%20책/atttest.xml../../../DATA/수업/XML%20책/atttest.xml

  • 엔티티

    반복, 교체되는텍스트나문서구조를참조하는데사용

    특수문자들(XML 예약문자들)을표현하는데사용

    유일한이름을가진다

    EntitiesMostly in DTDs

    Entity 사용시장점 : consistency, changeability, efficiency

    general

    42 / 100

  • 엔티티

    Character reference

    특수기호, 예약기호 등을 표현

    & (&), < (

    43 / 100

  • 엔티티

    ]>

    홍길동&univ;컴퓨터공학본 &univ;는 정보화를 선도하는

    대학으로서…. &, <, <, >, &, ', "

    General Entity

    Character Entity

    44 / 100

    ../../../DATA/수업/XML%20책/entity1.xml../../../DATA/수업/XML%20책/entity1.xml

  • 엔티티

    …..

    %a.sizes;ho.align %h.align; #IMPLIEDve.align %v.align; #IMPLIED

    NAME ENTITY #IMPLIEDSCALE CDATA #IMPLIED >

    ]> ….

    Parameter Entity

    45 / 100

  • 주석

    의미를가지지않으며 ‘’로종료

    선언이나태그내에올수없다.

    문자열 “--”를제외한임의데이터를포함

    XML 처리기는이를처리하지않는다.

    홍길동공과대학컴퓨터공학전공042-111-2222놀기애인

    46 / 100

    ../../../../../WINDOWS/Temporary Internet Files/Content.IE5/C16JOPIR/testc.xml

  • 표기법

    멀티미디어, 워드프로세서정보등의비XML 데이터(NDATA)의데이터내용표기를정의

    (적절한 S/W가데이터를처리)

    응용처리기에정보를전달

    External entities를이용

    %test.hwp;

    47 / 100

  • CDATA 섹션

    파서에마크업문자를무시하도록지시

    문자데이터의모든곳에위치가능

    모든문자데이터는응용에직접전달

    중첩되지않는다

    CDATA 부분내주석은인식되지않음

    주로프로그램소스등을표현시에사용

    *p=&q;

    b=(i

    48 / 100

  • CDATA 섹션

    ]]>

    49 / 100

    ../../../DATA/수업/XML%20책/cdata.xml../../../DATA/수업/XML%20책/cdata.xml

  • XML 스키마

    XML 문서의구조와컨텐츠를정의

    데이터타입이나 Namespace 등을표현하기어려운 DTD 문제점을보안

    DTD 보다유연한구조정의를갖는다

    다양한데이터타입

    integer, float, date, time, boolean, …

    사용자정의타입

    확장정의가능한데이터타입

    Grouping

    Namespace 지원

    50 / 100

  • XML 스키마 vs. DTD

    구분 DTD XML Schema

    문법 EBNF + 의사(pseudo) XML XML 1.0을 만족

    툴(Tool)풍부함 (기존의 SGML툴을사용할 수 있음)

    XML툴을 거의 모두 사용할 수있음

    DOM 지원 못함DOM을통해 조작되거나디스플레이 될 수 있음

    컨텐츠모델

    약함 – 간단한 순차 리스트 및선택 리스트만 제공. 요소들이나타날 수 있는회수를 정확히 말할 수 없음

    강함 – 좀더 상세한 컨텐츠모델은 ‘혼합된 컨텐츠’에서도상호 배타적이지 않음. 나타나는 횟수를 정확히 지정할수 있음

    51 / 100

  • 데이터타입정의

    약함 – 문자열,이름토큰,ID와그 밖의 몇몇 데이터 타입

    강함 – 문자열,숫자,날짜/시간및 널리 쓰이는 데이터 타입포함

    상속 불가능 가능

    확장성제한됨 – 확장을 위해서는XML 1.0 권고안을 바꿔야 함

    제한 없음 – XML의 확장성을기반으로 함

    기존의제약조건들

    있음 – SGML과의호환성을유지하려 하기 위함

    없음 – DTD의 것을 유지, 대부분은 최신의 프로그래밍언어와 기술에 근거하고 있음

    복수어휘집지원

    불가능 – 다큐먼트마다하나의 DTD

    가능 – 필요한 만큼 사용할 수있고, XML 네임스페이스를기반으로 함

    52 / 100

  • XML 스키마 – End of DTD?

    DTD

    광범위하게 사용되고지원됨.

    많은 기존응용프로그램과 문서가 있다.

    많은 시간과비용이투자됨.

    경험이 풍부한프로그래머와 전문가가 있다.

    NO!

    53 / 100

  • XML 스키마 – 구성요소(1)

    Declarations

    엘리먼트와 속성

    인스턴스에서 사용됨

    Types

    엘리먼트와 속성에서사용

    각각의 선언은고유한 타입을 갖음

    Type Definitions

    내용모델 정의

    54 / 100

  • XML 스키마 – 구성요소(2)

    Declarations Types Type Definitions

    a

    b

    c

    aType

    integer

    string

    aType=‘(b,c)’

    55 / 100

  • XML 스키마 – Complex Types

    Complex Types

    자식 엘리먼트허용

    속성을 가질수 있다.

    56 / 100

  • XML 스키마 – Simple Types

    Simple Types

    자식 엘리먼트를가질 수 없다

    속성을 가질수 없다

    XML Schema의 Simple Types 구성

    string

    normalizedString

    token

    byte

    unsignedByte

    hexBinary

    integer

    positiveinteger

    Negativeinteger

    int

    unsignedInt

    long

    unsignedLong

    short

    decimal

    float

    double

    Boolean

    time

    dateTime

    duraion

    date

    Name

    QName

    anyURI

    ……

    57 / 100

  • XML 스키마 – Datatypes 생성

    기존의데이터타입에서새로운데이터타입을생성할수있다.

    “base” 사용

    새로운데이터타입에대해하나이상의값을지정할수있다.

    58 / 100

  • Datatypes 생성 형식

    minInclusive maxInclusive minExclusive maxExclusive length minlength maxlength pattern enumeration

    string boolean float double decimal timeDuration recurringDuration uriReference

    59 / 100

  • Datatypes 생성 예

    “전화번호”라는새로운데이터타입생성

    엘리먼트는 문자열 값을 갖는다.

    문자열의 길이는 8개

    문자열의 형태 : ddd-dddd

    ‘d’ 는 10진수를 의미

    문자열길이는여유있게표현한다.

    60 / 100

  • XML 스키마 예제

    61 / 100

  • Multi namespace declarations

    Can declare compound namespace in element

    Child element applies necessary namespace selectively

    XML and Webservice

    156739495

    62 / 100

  • Slides’ title here

    XLL & XSL

  • XLL(XML Linking Language)

    TEI(Text Encoding Initiative)와 HyTime(Hypermedia/Time-based Structuring Language) 표준에기본

    양방향, 다중방향링크기능제공

    XLL은두부분(XLink, XPointer)으로표현

    XML-LINK Type(선언가능한값) SIMPLE, EXTENDED, LOCATOR, GROUP, DOCUMENT

    64 / 100

  • XLL의 특징

    어떤엘리먼트로도링크표현가능

    링크를어떻게처리하는가에대한정보를지정가능

    XML 문서에포함되지않은리소스를포함가능

    한개의링크가 3개이상의리소스를갖는것이가능

    리소스와링크를분리가능

    쌍방향링크를기술가능

    65 / 100

  • HTML vs. XML Link

    HTML

    URL은 하나의 문서만을 가르킬수 있다.

    문서간의연관성, 기록을보관하는 개념 없음

    XML

    다방향링크 가능

    모든 element를 linking element화 가능

    링크하는문서와 동일한파일에저장불필요

    HTML의 태그수용

    66 / 100

  • Simple Links

    두리소스사이연결(HTML link와유사)

    Link Text

    - Locator : other resource - a URL, a query, an XPointer

    DTD

    XML-LINK CDATA #FIXED “SIMPLE”ROLE CDATA #IMPLIEDHREF CDATA #REQUIREDTITLE CDATA #IMPLIEDCONTENT-ROLL CDATA #IMPLIEDCONTENT-TITLE CDATA #IMPLIEDSHOW (EMBED | REPLACE | NEW) “REPLACE”ACTUATE (AUTO | USER) “USER”BEHAVIOR CDATA #IMPLIED

    >

    67 / 100

  • Simple Link 예

    engine)+>

    XML-LINK CDATA #FIXED "SIMPLE"

    ROLE CDATA #IMPLIED

    HREF CDATA #REQUIRED

    TITLE CDATA #IMPLIED

    INLINE (TRUE|FALSE) "TRUE"

    CONTENT-ROLE CDATA #IMPLIED

    CONTENT-TITLE CDATA #IMPLIED

    SHOW

    EMBED|REPLACE|NEW) "REPLACE“

    ACTUATE (AUTO|USER) "USER"

    BEHAVIOR CDATA #IMPLIED

    >

    심마니

    야후! 코리아

    slink.dtd

    slink.xml

    68 / 100

    ../../../DATA/수업/XML%20책/slinkxsl.xml../../../DATA/수업/XML%20책/slinkxsl.xml

  • Extended links

    Extended links DTD 예

    XML-LINK CDATA #FIXED “EXTENDED“

    ROLE CDATA #IMPLIED

    TITLE CDATA #IMPLIED

    INLINE (TRUE | FALSE) "TRUE"

    CONTENT-ROLE CDATA #IMPLIED

    CONTENT-TITLE CDATA #IMPLIED

    SHOW (EMBED | REPLACE | NEW) "REPLACE"

    ACTUATE (AUTO | USER) "USER"

    BEHAVIOR CDATA #IMPLIED

    >

    69 / 100

  • Extended links

    Extended Links : 두개이상의 리소스사이관계표현

    내가 즐겨 찾는 곳은

    여기

  • XLL(Extended links 예)

    71 / 100

  • XPointer

    문서의계층적인엘리먼트트리구조에서위치와관계를정의하는문법을제공

    XPointer 구조 번지지정의기본 단위

    인수 : (Instance, NodeType, (Attr, Val)* )

    child(2,CHAP).(4,SEC).(3, Par)

    child(1,CHAP,LANG,EN)

    72 / 100

  • XPointer(Location Terms)

    Absolute Location Terms

    ROOT()

    문서의 최상위 엘리먼트를 지정, 즉 문서 전체를 지정

    HERE()

    링크하는 엘리먼트 자체를 지정

    ID(NAME)

    문서 내에서 ID 값을 갖는 엘리먼트

    DITTO()

    한 쌍의 XPointer 중 두 번째 XPointer의시작에만 사용가능하고, 단순히 첫번째 항의 표기를 복제한다

    HTML(NAMEVALUE)

    HTML A 요소의 NAME 속성과 일치하는 값을 취하여, HTML의 구역 식별자와 같은서비스를 제공

    73 / 100

  • XPointer(Location Terms)

    Relative Location Terms

    child()

    위치 소스의 자식(직접 아래) 엘리먼트들을 선택

    descendant()

    위치 소스에 포함된 모든 엘리먼트(1단계이상)

    ancestor ()

    위치 소스의 부모 엘리먼트들을 선택

    preceding ()

    위치 소스 이전에 나오는 엘리먼트들을 선택

    following()

    위치 소스 다음에 나오는 엘리먼트들을 선택

    psibling()

    위치 소스 이전에 나오는 형제 엘리먼트들을 선택

    fsibling()

    위치 소스 다음에 나오는 형제 엘리먼트들을 선택

    74 / 100

  • XPointer(Location Terms 예)

    Spanning Location Term

    id(a23).span(child(1), child(3))

    String Location Term

    id(a27).string(1, worms, 4) --- ‘s’

    id(a27).string(5, ’!’, 1, 1)

    75 / 100

  • XLL(XPointer 사용 예)

    Polonius (LF)

    crossing downstageFare you well,

    my lord. To Ros.

    You go to seek Lord Hamlet? There he is.

    • ID(a27).CHILD(2,DIRECTION) : "To Ros."

    • ID(a27).CHILD(2,.) : "crossing downstage".

    – . : candidate elements of any type are matched

    • ID(a27).CHILD(2,*CDATA) : "Fare you well, my lord."

    – *CDATA : selects only untagged(pseudo-element) sub-portions of an element

    • ID(a27).CHILD(2,*)

    – * : selects among child elements and pseudo-elements

    – selects the second element or pseudo-element among the children, the line-break between the "SPEAKER" and "DIRECTION" elements.

    76 / 100

  • XPath

    Define

    As XML Path Language (XPath), with XML separate language spec.

    Question notation that do XML documents' elements and text to do filtering

    with addressing .

    Declarative expression to be not procedural notation

    77 / 100

  • XPath's action principle

    XPath

    HK Jubg

    MIE

    Document Root

    booklist

    book

    title

    writer

    publish

    XPath

    HK Jung

    MIE

    78 / 100

  • Location Expression

    / : Child Operator of present node return.

    // : In Document to Recursive Descent Operator all relevant node returns.

    . :current context

    * :Regardless of element name by Wildcard all node conversions

    @ : Attribute's attribute node return.

    @* : Wildcard that replace all attribute nodes of node.

    : : As Namespace Operator, Namespace's Prefix return.

    () : Group Operator

    [] : filters

    79 / 100

  • Finding Node

    General method to get node that want at node

    expression : “/”

    Appoint position using relative pass from present node using "/"

    that is child operator mainly.

    Form :

    Finding writer node

    80 / 100

  • Finding Attribute

    Expression that find Attribute at node

    Expression : “@”

    Form :

    Finding books attribute

    81 / 100

  • Recursive Descent Operator

    In element name regardless of Context Node's position path

    appointment

    expression : “//”

    "//" Operator replaces node that escape relative route and have

    name of appropriate element been in what position of present

    document.

    82 / 100

  • 스타일시트

    CSS(Cascading Style Sheet)

    XSL(eXtensible Style sheet Language)

    XML 데이터 및문서와 함께 사용하도록설계된 스타일시트언어

    XSLT, XSL-FO

    CSS/XSL 처리

    HTML,

    RTF,

    raw text,

    etcCSS/

    XSL

    HTML/

    XMLformatting

    Processor

    83 / 100

  • Using CSS with XML

    Why use CSS with XML?

    Easy to learn and implement

    Already at work in the Web community

    Works with HTML

    CSS does have a downside

    Can’t generate text

    Can’t grab an item from one place and use it again in another place

    Isn’t programming language

    Use a simple box-oriented formatting model

    84 / 100

  • Example

    TITLE URL {

    font-family: verdana;

    font-size: 70%;

    font-weight: bold;

    list-style-type: square;

    cursor: default;

    }

    TITLE {

    margin: 10% 10% 10% 10%

    }

    TITLE {

    margin: 10% 10%

    }

    85 / 100

  • What is XSL?

    eXtensible Style sheet Language

    XML provide information about the structure of a document

    XSL create style sheets for XML document

    Formatting information

    How to format the element, contents for viewing by user (ex, web browser)

    The following design

    Over the internet, XML syntax, subset of DSSSL

    Mapping of CSS into XSL, ease to create

    DSSSL의서브셋으로구성 XML 문서를 다른 XML 또는 비 XML 문서로변환

    (Transformation) : XSLT

    XML 문서의 구조를변경 (Formatting Object)

    86 / 100

  • Why Stylesheet?

    Reuse

    the same content can look different in different contexts

    Multiple output formats

    different media (paper, online), different sizes (manuals, reports), different

    classes of output devices (workstations, hand-held devices)

    Styles tailored to the reader's preference

    print size, color, simplified layout for audio readers

    Standardized styles

    corporate stylesheets can be applied to the content at any time

    Freedom from style issues for content authors

    technical writers needn't be concerned with layout issues because the

    correct style can be applied later

    87 / 100

  • XSL

    특정엘리먼트가어떻게디스플레이가능한출력으로변환되는지기술

    서식규칙구성 패턴(Pattern) : XML 문서의 엘리먼트 위치, 유형을 정의

    표현정보(Action) : 서식규칙내의 패턴과 정합되는엘리먼트가 어떻게 표현되는지 기술

    rule

    pattern

    action

    XML XSL HTML/XML/RTF/…

    88 / 100

  • A construction rule

    Patterns

    Choose which elements to apply which style rules to

    Have a target-element (matched in document)

    Supply a type attribute (matched in element)

    Actions

    Objects to create in the output tree

    Directly create flow objects, add literal text

    89 / 100

  • XSLT example

    Hydrogen

    H

    1

    1.00794

    20.28

    13.81

    0.0899

    Helium

    He

    2

    4.0026

    4.216

    0.95

  • XSL templates

    Template rule is important part of XSL style sheet

    xsl:template element

    Have the “match” attribute : node identification

    xsl:apply-templates element : Use to handle child node

    Template ruleattribute

    91 / 100

  • XSL Example

    report.xslreport.xml

    92 / 100

  • XSL Example

    93 / 100

  • XSL Example

    XSL Example

    94 / 100

  • XML 문서 예

    오늘의 차세대 인터넷 언어(XML)에 대한 수업은 아마도흥미있고, 보람된 수업이 될 것입니다. 많은 학생들의 참여를바랍니다.

    수업시간은 월요일 7,8 교시이고요, 장소는 매체원원격강의실입니다. 감사합니다 !

    95 / 100

  • XSL 문서예

    메모

    XML + XSL

    96 / 100

    ../../../DATA/수업/XML%20책/ex1xsl.xml

  • XSLT 문서예

    메모

    메모

    memo 엘리먼트의하위 엘리먼트

    97 / 100

  • XSLT 문서예

    는엘리먼트를만나면 태그를실행하는데, 이는

    태그내의문자열을가져와서 태그사이에

    삽입한다.

    Body 엘리먼트를만나면 태그를출력하고하위엘리먼트처리

    실행

    98 / 100

  • XSLT 문서예

    메모

    오늘의 차세대 인터넷 언어(XML)에대한 수업은 아마도 흥미있고, 보람된 수업이 될 것입니다. 많은 학생들의참여를 바랍니다.

    수업시간은 월요일 7,8 교시이고요, 장소는 매체원원격강의실입니다. 감사합니다 !

    변환된문서

    99 / 100

  • XSL:formatting object

    XML 내용을사용자에게어떻게표현할지를나타내기위해사용하는어플리케이션

    HTML+CSS 보다더복잡한레이아웃모델제시

    더일반적인이용을위해설계

    100 / 100

  • XSL:formatting object

    XSL 포맷팅모델은사각형영역에기본

    4개의다른종류의사각형영역으로구분 Area container

    (머리글, 본문, 바닥글, 왼쪽/오른쪽여백)

    Block area(단락, 리스트)

    Line area(블록 내텍스트의 한 행)

    Inline area(문자, 각주, 수학식과같은행의일부)

    101 / 100

  • XSL:FO 처리

    result tree Flow Object Tree

    XSL

    Processor

    Display

    Processor

    Parser

    XSLT

    Processor

    XML

    DocumentXSL

    StyleSheet

    XSL Formatting Object

    Flow Object Semantics

    Engine

    Output

    XSLT, XPath

    Specification

    Formatted

    result

    Transform

    102 / 100

  • XML 도구

    XML 문서

    Editor

    Convert

    DTDEditor

    DataBase

    Formatter

    Viewer

    Browser

    Server

    Parser+응용

    (Java, JavaScript)

    103 / 100

  • XML 문서처리 모델

    포맷팅처리 표시처리

    스타일 설계처리 폰트

    리소스

    XSL

    포맷지정

    물리적구조정보

    CSS 테이프

    CD-ROM

    책Style Editor

    Browser/

    Viewer

    XML문서

    편집처리

    DTD 설계처리

    DTD

    DTD Editor

    논리적구조정보

    XML Editor

    기존문서Converter/

    Filter

    문서정보검색

    검색엔진

    문서가공

    EDI, CALS, 전자출판, Workflow S/W

    XML 문서

    문서저장및 관리

    104 / 100

  • W3C’s long term goals

    Web for Everyone

    regardless of language, user capabilities, geographical location, device used for access,…

    Web on Everything

    not only PC, but Phones, PDA, Television,…

    Knowledge Base, Advanced data searching and sharing

    information for both human and machine processing

    Trust and Confidence

    technologies for collaborative environment

    a Web with accountability, security, confidence, and confidentiality

    105 / 100

  • Slides’ title here

    Thank you for your attention!!