XML 기본 개념
1) XML은 구조적인 데이터로 표현하여 작성한다.
2) XML은 HTML과 비슷해 보이지만 다르다.
- XML 은 동적으로 태그를 생성하여 사용하므로, 각 태그의 의미성이 각 데이터에 따라 다르다.
3) XML은 텍스트지만, 읽는 것만 의미하지는 않는다.
- 일치하지 않는 태그, 따옴표가 없는 속성이 있는 XML 파일은 사용할 수 없다.
4) XML은 확장할 수 있다.
5) XML은 기술의 집합이다.
6) XML은 새로운 기술이 아니라 발전한 기술이다.
- 기존 SGML 과 HTML 의 장점만을 체계적으로 확립해서 만든 마크업 언어이다.
7) XML은 HTML에서 XHTML로 이끌었다.
8) XML 은 모듈식이다.
9) XML은 RDF와 시맨틱웹의 토대다.
10) XML은 라이센스 제약이 없고, 플랫폼 독립적이며, 많은 지원이 있다.
XML 설계의 10가지 목표
1) 인터넷에서 바로 사용가능해야 한다.
2) 다양한 종류의 어플리케이션을 지원해야한다.
3) SGML 과 호환해야한다.
4) XML 문서를 처리하는 프로그램은 사용하기 쉬워야 한다.
5) 선택사항은 최소여야한다.
6) XML 문서는 쉬워야 한다.
7) 설계는 빠르게 할 수 있어야 한다.
8) 정형적이고 간결해야 한다.
9) 만들기 쉬워야 한다.
10) 간경성은 무시할 수 있다.
XML 편집기
1) XML Spy
- XML 기반 애플리케이션 개발 솔루션
- XML 도큐먼트, 스타일시트, 스키마 작성과 관리가 용이
- XSLT 디자이너, 문서 편집기, 문서 프레임 워크 등으로 구성
2) 태그프리
- XML 빌더: 폼 디자이너와 스타일 디자이너로 구성해서 XML 데이터 구축과 표현을 쉽게 한다.
- X2X Mapper: 서로 다른 형식의 XML 데이터간 변환을 수행하는 XSLT를 위지위그한 작업환경에서 쉽고 빠르게 작성하도록 돕는 도구
- DTD Editor: 위지위그한 환경에서 DTD 제작을 돕는 도구, GUI 기반의 편집환경과 편리한 인터페이스, 한글 및 유니코드, 문서 전체 구조 파악 기능, DTD 문법 검사 기능등을 지원, XML 데이터 구축시 최적의 환경 제공
- XML Editor
3) 엑스칸
- XML 애플리케이션 서버 및 XML 통합 개발 환경을 지원
- XML 데이터 가공, 저장, 검색, 출력의 전 과정을 지원하는 제품
- 표준성과 확장성이 뛰어남
4) GeneXis
- 통합 XML 저작 도구
- XML 검색엔진, XML 편집기, DTD 편집기, XML Parser 포함
- XSeek: 전문 검색을 포함한 XML 구조 정보를 빠르게 검색할 수 있게 지원, 대량의 XML 문서에 대한 빠른 색인 방법을 지원
- XScheme: DTD 문서를 트리를 이용하여 계층적인 구조로 제시
XML 파서
- XML 문서를 XML 규칙에 맞게 작성했는지 검증하고 XML 문서를 트리형태로 구성하는 프로그램
1) Xerces 파서
- 아파치 그룹에서 개발
- 자바, C++, Perl 과 같은 프로그램 언어별 XML 파서를 지원
- 현재 가장 많이 사용되는 파서
2) expat
- XML/SGML 전문가인 제임스 클릭 개발
- C언어로 구현한 오픈소스로 넷스케이프에서 사용할 수 있음
- 외부 DTD, 파라미터 개체 파싱을 지원
3) XML Parser for JAVA
- IBM에서 운영하고 있는 알파워크 개발
- 자바 사용을 위해 제작한 파서
- http://www.alphaworks.ibm.com/tech/xml4j
4) MSXML
- 마이크로소프트에서 개발한 파서로 MSXML 4.0 까지 개발
- 윈도우 환경에서 MSXML을 설치하면 인터넷 브라우저를 통해 XML 문서의 유효성 검사 가능
- http://msdn.microsoft.com/xml
XML 데이터베이스
■ 파일 관리형 데이터베이스
- 파일을 디렉토리로 관리하며, 구조 정보를 가지지 않는 정형식 XML 문서 관리에 적합하며, 인덱스를 가지므로 빠른 검색이 가능하다.
■ 관계형 데이터베이스
- XML 문서를 매핑해서 저장 관리하는 방식이며, 기존의 관계 데이터베이스를 그냥 사용할 수 있는 장점이 있고, 조작이 간편하고 SQL문 등을 사용할 수 있어 가장 많이 사용하는 구현 방식이다.
XML 문서 구조는 인덱스를 따로 가지고 있으나 저장 단위가 관계이기 때문에 실제로 데이터를 출력할 때는 조인 관계 연산이 필요하다.
■ 객체지향형 데이터베이스
- XML 데이터의 계층 구조를 객체지향의 클래스 계층에 매핑하는 구현 방식이다.
■ 네이티브 XML 저장 관리 시스템
- 구조를 정의하고 있는 XML 데이터에 독자적인 인덱스를 가지므로, 보다 고속의 트랜잭션을 지원한다.
XML 데이터베이스 종류
1) 타미노
- 소프트웨어 에이지에서 개발한 XML 전용 데이터베이스 엔진
- 기업 내의 서로 다른 플랫폼 및 데이터베이스, 애플리케이션의 정보 시스템을 XML을 이용하여 이들 간의 데이터 교환이 가능하게 지원
- 자체 저장소 내에 XML 데이터의 저장을 위한 공간을 가지면서 비 XML 데이터, 외부 데이터와의 매핑 기능을 지원
- 국내에서는 펜타 시스템에서 관리하고 다양한 개발 솔루션을 제공
2) Sonic/eXcelon XIS
- XML 문서를 표준 XML 포맷으로 저장/검색하는 XML 전용 데이터베이스 서버
- XML 문서 검색/수정/삽입 등의 작업을 문서 편집기에서 쉽게 처리
- W3C의 표준을 따르기 때문에 데이터 교환이 자유롭고 XML 문서 이외에도 이미지, 오디오, 비디오 등의 멀티미디어 데이터를 함께 저장 관리 가능
- 국내에서는 데이텍에서 관리 판매하며, 많은 XML 관련 솔루션 제공
3) 오라클 8i, 9i
- Oracle 8i 또는 9i에서 XML 지원 툴을 자바 컴포넌트 형태로 제공
- Oracle XML DB를 통해 관게형 데이터베이스 기술의 모든 이점은 물론 XML의 이점까지 완벽하게 활용할 수 있다.
- http://technet.oracle.co.kr/tech/xml/xmldb/
4) Microsoft SQL Server 2000
- 기존 RDB 구조에 XML 문서를 저장할 수 있는 XML 지원 기능을 추가
- Oracle과 마찬가지로 RDBMS로써 기존의 저장 관리 구조를 변경하지 않고 클라이언트 서버에서 정규화한 데이터를 XML 식으로 변환하여 출력하는 방식을 이용
- IIS(Internet Information Server) 를 이용해서 웹에서 직접 XML 문서를 질의 하거나 URL 을 통해 XML 데이터를 질의하는 방식을 지원
- OPENXML을 이용하면 테이블에 저장하고 있는 데이터를 XML 문서로 출력하고, XML 문서를 데이터베이스의 테이블에 맵핑하여 저장한느 것을 지원
'WORK > Sotfware' 카테고리의 다른 글
주석에 넘 충실한(?..^^;;) 시리얼 통신..헥사 + 아스키.. (0) | 2008.10.06 |
---|---|
MFC 시리얼 통신 소스 (0) | 2008.10.06 |
전처리 문 (0) | 2008.10.06 |
CPort 설치 방법 (0) | 2008.09.26 |
DMA wiki 사전에서 (0) | 2008.08.21 |
댓글