Download presentation
Presentation is loading. Please wait.
Published by경아 지 Modified 8년 전
1
작성일자 2016년 7월 31일 2016년 7월 31일 2016년 7월 31일 2016년 7월 31일 2016년 7월 31일 2016년 7월 31일 문서번호 DAI01-0609-SNM-XML-04 변경코드 00 페이지 작성자 김환조 / 전민주 관리자 정목동 교수님 검토승인 제목 Chapter 4. 고급 XML 문서종류 세미나 자료 Chapter 4. 고급 XML D ISTRIBUTED A RTIFICIAL I NTELLIGENCE L AB.
2
문자 레퍼런스 문자 레퍼런스를 이용 유니코드 표현 10 진수 표현 Here is a special: © 16 진수 표현 Here is a special: ¶
3
개체와 개체 레퍼런스 일반 개체문서 컨텐츠에서만 사용 파라미터 개체문서 타입 정의에서만 사용 파싱된 개체대체되는 컨텐츠가 텍스트인 개체 파싱되지 않은 개체이진 데이터의 경우 사용 파싱된 내부 개체 XML 문서의 인스턴스 내에 선언된 개체 외부 개체외부 소스로부터 데이터를 가져 오는 개체 개체와 개체 레퍼런스는 모두 XML 문서 내에서 컨텐츠와 마크업의 재사용을 허용하기 위한 기술
4
일반 개체 단지 보다 큰 텍스트를 대신하는 축약 표현 ex) 레이블이 붙은 상자로 생각 레이블은 개체의 이름 상자안의 컨텐츠는 텍스트나 데이터에 해당 텍스트인 경우 => 파싱된 개체 외부 개체 URI 로 명시된 외부 소스로부터 개체를 가져올 수 있음 ex) <!ENTITY intro SYSTEM “ http://www.gosynergy.com/intro.xml “ >http://www.gosynergy.com/intro.xml 개체는 개체 레퍼런스를 통해 참조됨 형식 : EntityRef :== ‘ & ’ Name ‘ ; ’ &<>&apos" &<> ‘“
5
일반 개체 (cont.) 파싱되지 않은 개체 이미지등의 데이터 ex) <!ENTITY image SYSTEM “ http://www.wyweb.com/myhouse.gif “ NDATA GIF>http://www.wyweb.com/myhouse.gif
6
파라미터 개체 DTD 내부에서만 사용되는 개체 선언할 때와 참조할 때 % 심볼 이용하여 구별 내부 개체 ( 내부 부분집합 ) 완전한 선언들로만 구성됨 외부 개체 ( 외부 부분집합 ) 파라미터 개체를 포함 할 수 있음 개체의 특성 범위를 가짐 속성값 내부에서 내부 일반 개체를 사용할 수 있다 사용되기 전에 미리 선언되어야 한다
7
속성 타입 이해하기 CDATA 모든 문자 데이터 NOTATION 이름과 선언된 표기법 이름의 리스트 ID 원소를 유일하게 식별하는 이름 IDREF 원소로의 레퍼런스 ENTITY 선언된 개체의 이름 NMTOKEN 하나의 Nmtoken name 문자 or 밑줄로 시작 문자, 숫자, 하이픈, 밑줄기호, 마침표, 콜론으로 구성
8
속 성 CDATA 가장 일반적인 타입 글자 의미 그대로 포함하고 있는 character data 의미 Enumeration( 열거 타입 ) 여러 개 중에서 하나를 선택하는 것을 허용 <!ATTLIST CHOICE (option1|option2|option3) #REQUIRED
9
속 성속 성속 성속 성 NMTOKEN 유효한 이름 토큰 만으로 제한됨 CDATA 와 유사 이름 토큰에는 공백문자 포함 될 수 없음 ID, IDREF 특정 원소의 이름 역할 IDREF 속성을 이용하여 후에 참조할 수 있음
10
속 성속 성속 성속 성 NOTATION 텍스트가 아닌 다른 이진 형태의 요소가 포함되어 있을 때 gif 나 jpeg 이미지 파일을 실행 파일과 연결시킬 때 …
11
속성 값의 정규화 정규화 과정 값을 둘러싸고 있는 따옴표를 제거한다 문자 레퍼런스는 해당하는 문자로 치환된다 일반 개체 레퍼런스는 해당하는 텍스트로 대체된다 이러한 과정 전체는 재귀적으로 반복된다 속성값에 포함된 공백문자 (CR, LF 등 ) 는 스페이스로 대체 연속된 CR-LF 는 하나의 스페이스로 바뀐다 CDATA 가 아닌 경우에는 속성값의 앞뒤의 스페이스 제거됨
12
공백문자 처리 문서 컨텐츠 내의 공백 문자를 그대로 보전 공백문자는 해당 애플리케이션이 처리하도록 함 공백문자의 처리에 관한 내용을 애플리케이션에 명시 하기 위해 xml: space 속성 제공 <!ATTLIST elemName xml:space (default | preserve) ‘ preserve ’ > preserve : 애플리케이션에서 처리하는지 여부 default : 애플리케이션에서 기본적인 공백 문자처리 허용 여 부
13
CDATA 섹션 마크업으로 처리되는 것을 막고자 할 때 사용됨 ‘ ’ 로 끝남 an XML example ]]> 조건부 섹션 문서 타입 선언의 외부 부분집합과 내부 부분집합에 정의되어 있는 외부 개체 레퍼런스에서만 사용할 수 있음 조건에 따라 마크업 선언들을 선택적으로 사용할 수 있음 INCLUDE : 섹션 처리 IGNORE : 처리하지 않음
14
처리 지시문 부가 정보를 애플리케이션에 전달하기 위해 사용 The man stood on the beach. Hey! 인코딩과 standalone 문서 선언 인코딩 : 문서의 인코딩 방식을 명시 UTF-8(default) 과 UTF-16 인코딩 방식을 지원 ( 스펙 ) ASCII 는 UTF-8 인코딩 방식의 부분 Standalone yes : 다른 파일들에 의존하지 않음 no ; 다른 파일에 의존함
15
네임 스페이스 보편적으로 사용하기 위해 XML 이름은 네임 스페이스 접두어와 로컬 부분으로 구성 Booke Review Page Developing XML in Java Michael C.Daconta 네임 스페이스 선언하기 http://www.gosynergy.com/example
16
Xlink 스펙 XML 문서를 서로 연결하는 기능을 명세 HTML 하이퍼 링크와의 비교 링킹 : 두 객체간의 관계를 선언하는 과정 어드레싱 : 연결하고자 하는 객체를 찾는 방법 <MYLink xlink:type= “ simple ” xlink:href=http://java.sun.com> Java Home http://java.sun.com 링크 타입 simple : 두개의 자원을 연결하는 기본적인 링크 extended : 일대 다 연결과 양방향 순회가 가능 locator : 링크에 연결된 원격 리소스를 참조하는 원소 식별 arc : 일 대 다 링크에서 행동속성과 의미적 속성 제공을 위해 사 용 resource : 확장 링크를 사용할 경우, 링크에 연결된 로컬 리소스를 기술
17
Xlink 스펙 locator 속성 원격 리소스가 위치한 곳을 정의 href 하나만이 유일하게 존재, 유효한 URI arc end 속성 링크를 순회하는 상황. 즉 순회 방향을 정의 from 과 to 가 있음 행동 (behaviro) 속성 링크가 활성화되는 방법, 참조하는 자원에 발생되는 처리 내 용을 정의 show 속성 링크가 순환되는 과정에서 발생하는 작업 내용을 기술 actuate 속성 링크가 전환되어야 하는 시점을 기술
18
Xlink 스펙 show 속성 embed : 링크의 시작 부분에 원격 자원의 내용을 넣지 않음 replace : 현재 자원을 원격 자원으로 대체 new : 원격의 자원을 새로운 창을 출력 undefined : 링크를 순회하는 방식이 자유롭다 actuate 속성 onLoad : 자원의 시작 부분이 로드되면 자동으로 링크된 자원을 가져옴 onRequest : 사용자가 요구하면 자원을 가져옴 undefined : 링크에 접근하는 시점이 자유롭다 의미적 속성 링크에 관한 부과적 정보 제공 확장 링크 (Extended Links) 다수의 자원을 연결 out – of-line 링크
19
Xpointer 스펙 XML 문서의 내부 구조를 가르키기 위한 스펙 트리의 특정 부분을 직접적, 때로 다른 부분과 관련지어 참조하기 위해서 사용 축 (axis) 과 술어 (predicate) 를 가지고 트리 선택 축 : 문서 내의 노드, 노드의 그룹 선택 술어 : 선택된 노드들 또는 선택된 노드와 관련하여 다른 노드들을 테스트 함
20
XPath 문서 트리 상에서 동작하는 표현식을 생성하는 언어를 정 의 지역 경로 : / 로 구분되는 영역의 집합 xpointer(/child::chapter[attribute::title= “ Introduction ’ ]) Chapter 자식 노드 중에 title 속성값이 Introduction 인 것을 선택하는 절대 지역경로의 예 절대 경로 /descendant::para 문서 내의 모든 para dnjsth 선택 Descendant : 축으로 사용 para : 노드 검사부분
21
XPath 축의 종류 child 자식 노드를 식별 Descendant 문맥 노드 컨텐츠에 포함되는 노드들을 식별 Paraent 부모 노드를 식별 Ancestor 포함하는 원소 노드를 식별 Preceding 모든 선행 노드들을 식별 Following 모든 후행 노드들을 식별 Preceding-sibling 형제 노드들 중 앞에 위치하는 모든 노드 식별 Following-sibling 형제 노드들 중 뒤에 위치하는 모든 노드 식별 Attribute 속성을 식별 Namespace 네임 스페이스를 식별 Self 문맥 노드 자체를 식별 Descendant-or-self 문맥 노드와 자손들을 식별 Ancestor-or-self 문맥 노드와 선조를 식별. 항상 루트 노드 포함
22
XPath 가능한 노드 검사 부분 요건에 맞는 이름 찾기 테스트 함수 이용 Asterisk(*) : 축에 포함되는 모든 노드들을 반환 완전한 이름 중 일부 영역의 모든 로컬 노드 반환시키디 child::bk:* - bk 네임스페이스의 일부분인 모든 child 원소 반환
23
XML 스키마 구조와 데이터 타입 두 부분으로 구성 구조 : XML 문서를 기술하기 위한 대체 문법 기술 데이터 타입 : 원시 데이터 타입을 정의 인스턴스 특정 스키마의 구조를 따르는 XML 문서를 의미 스키마 구조를 제한하고 XML 문서의 정보 집합을 명확히 설명하는 규칙의 집합
24
스키마 데이터 타입 스칼라 데이터 타입에 초점을 둠 ; 양을 기술 값 스페이스 (value space) 개별적인 값의 집합 데이터 타입이 허용하는 값들의 추상적 모음 데이터 타입에 관한 몇 가지 관점 원자적 vs 집합적 원자적 : 더 이상 쪼갤 수 없는 값 집합적 : 여러 개의 값으로 나누어 지는 값 원시적 vs 복합적 원시적 : 다른 데이터 타입들로 정의되지 않음 복합적 : 다른 데이터 타입들을 이용하여 정의함 내장된 것 vs 사용자에 의해 생성된 것 내장된 것 : 데이터 타입 스펙에 완전히 선언된 데이터 타입 사용자에 의해 생성된 것 : 복합적으로 구성된 데이터 타입
Similar presentations