 |
XML 입문 (한글) |
 |
developerWorks XML 존에 있는 수 많은 기술자료, 튜토리얼, 팁들은 XML 관련 애플리케이션들을 활용하는데 유용한 지침이 되기도 하지만 신참 사용자들에게는 이 많은 정보들이 부담스러울 것입니다. 그래서 XML을 배우고 싶지만 어디서부터 시작해야 하는지를 모르는 사람들을 위해 본 페이지를 마련했습니다. XML 기술의 기초를 다지고, developerWorks의 관련 기술자료, 튜토리얼, 팁, IBM 교육 서비스, 웹 캐스트, 워크샵, IBM 제품들도 참조할 수 있습니다. |
Extensible Markup Language(XML)는 콘텐트를 마크업 하는 방식을 제공한다. XML을 사용하여 저장된 정보를 사용하여 파서로 알려진 애플리케이션은 관련 정보들을 안전하게 추출하고 이를 여러 상황에 맞게 처리한다.
참고자료:
|

|
XML은 광범위한 애플리케이션에서 사용될 수 있지만 기본적으로는 데이터를 표현하는 방식이다. 어떤 경우에 데이터는 데이터베이스에 사용되기도 한다. 또 어떤 경우에는 사람들이 읽을 수 있도록 제공된다. 데이터 밸리데이션과 XSL 변형 같은 기술은 XML과 함께 진화하고 있다.
XML에는 문서의 구조와 내용을 확인하는 기능이 포함되어 있다. 문서 밸리데이션 기능으로 특별한 구조를 가진 애플리케이션과 데이터가 인터랙팅 할 때 문제를 방지할 수 있다. 이는 특히 XML이 비 XML 레거시 시스템과 인터랙팅 해야 할 때 유용하다. 첫 XML 1.0 Recommendation에는 Document Type Definitions (DTD) 지원이 포함되었는데 여기에 밸리데이션 기능들이 있다. W3C XML Schemas는 이러한 기능을 확장하여 보다 XML 다운 신택스를 제공한다.
XML로 캡슐화 된 데이터는 많은 방식으로 사용될 수 있다. 이를 조작하는 한 가지 방법은 Extensible Stylesheet Language Transformations (XSLT)를 사용하는 것이다. 개발자들은 이것을 사용하여 특정 결과를 만들어 내기 위해 XML에서 수행되어야 하는 연산들을 정의한다. 정보를 변형하는 기능으로 인해 여러 아웃풋에 하나의 소스를 사용할 수 있게 되었다. 아웃풋이 다른 데이터베이스나 다른 브라우저로 갈 수 있다.
XSL Formatting Objects (XSL-FO)는 데이터를 포맷하는 강력하고 유연한 XML 어휘로서 종종 XSLT와 사용되어 XML과 HTML 문서를 Portable Document Format (PDF)으로 변환한다.
참고자료:
|

|
XML 애플리케이션을 구현할 때 여러 모델이 등장한다. 이 모델들은 XML 애플리케이션에 사용할 수 있는 API를 생성시켜 XML 구조를 분석하거나 조작한다. 이러한 모델은 Document Object Model (DOM)과 JDOM 처럼 객체 기반이 될 수 있고 Simple API for XML (SAX) 처럼 이벤트 기반이기도 하다. 또한 Java API for XML Parsing (JAXP)는 DOM, SAX, XSLT를 사용하여 XML 문서를 처리하는 공통 인터페이스를 제공한다.
이러한 API들 중 가장 대중적인 것이 DOM이다. 이 안에서는 문서의 각 부분이 특정 유형의 노드로서 기술된다. 이 노드들은 부모-자식 쌍으로 정렬된다. DOM API용 바인딩은 Java technology, C++, Perl, Python 등의 다양한 언어에 존재한다.
SAX는 그 다음으로 대중적인 API이다. DOM 객체 기반 모델과는 달리 SAX는 이벤트 기반 모델로서 문서를 startElement() 같은 콜백 시리즈로 변환한다.
XML의 중심은 단순한 텍스트이기 때문에 누구라도 이 텍스트와 작동할 API를 만들 수 있다. 사실, SAX는 공식 단체가 아닌 XML-DEV 메일링 리스트의 멤버가 만들었다. 역시 객체 기반인 또 다른 API는 JDOM이다. JDOM은 DOM과 비슷하지만 자바와 보다 밀접하게 연관되어 있다.
참고자료:
|

|
XML의 장점 중 하나는 여러 정황 속에서 이해될 수 있다는 점이다. 다양한 XML 어휘들로 사람들은 즉각적으로 상대방을 이해할 수 있다. 일반적으로 Extensible HyperText Markup Language (XHTML), Resource Definition Framework (RDF), Scalable Vector Graphics (SVG)가 있다.
XHTML은 HTML을 XML로 바꾼 것이다. XHTML 문서는 XML의 규칙을 준수하는 단순한 HTML 문서이다. 다른 XML 어휘들은 비즈니스와 표현 목적으로 개발되었다. RDF는 정보를 XML 문서에 추가하는 방법을 제공한다. SVG는 XML을 사용하여 그래픽 엘리먼트를 정의할 수 있다. (SVG는 단순한 텍스트 기반 XML이기 때문에 SVG는 그래픽 뿐만 아니라 애니메이션과 스크립팅을 동적으로 생성하는데 사용될 수 있다. Voice Extensible Markup Language (VoiceXML)은 폰 메뉴와 기타 음성 관련 시스템에 사용된다.
XML을 이해했다면 XML에 포함된 다양한 엘리먼트와 애트리뷰트를 이해해야 한다.
참고자료:
|

|
XML은 웹 서비스를 구현할 수 있는 완벽한 토대이다. 쉽게 표준화 되고 이해될 수 있는 메시지 생성이 가능하기 때문이다. 웹 서비스 소개와 웹 서비스 관련 참고자료는 developerWorks SOA와 웹서비스 존을 참조하라. 특히, "SOA와 웹서비스 입문"을 참조하기 바란다.
|
XML의 기초를 이해했다면 향상의 여지도 많이 있고 천천히 진화 중이라는 것도 알 수 있을 것이다.
참고자료:
XML 인증 프로그램
XML 같은 큰 영역에서는 자신의 기술을 평가할 수 있는 객관적인 표준이 필요하다. 인증 프로그램이 그 체크 포인트가 될 수 있다.
IBM은 여러분의 기술 레벨을 가늠할 수 있는 인증 프로그램을 제공하고 있다.
Test 141:
XML과 Related Technologies를 통과하면 IBM Certified Developer -- XML과 Related Technologies 인증(IBM Certified for e-business - 인증의 일부)을 받을 수 있다. developerWorks 튜토리얼 시리즈 "IBM XML 인증 성공"을 참조하기 바란다.
- Part 1 -- XML 기초, DTD, W3C XML Schema, 웹 서비스, 보안
- Part 2 -- XPath, XSLT, XLink, XPointer, CSS, XSL-FO, SAX, DOM
- Part 3 -- XML 시험 대비
|

|
IBM은 XML 애플리케이션 개발에 사용되는 많은 툴을 제공하고 있다. 표준 제품부터 alphaWorks 프로그램을 통해 제공되는 테스트베드 구현까지 다양하다.
XML을 제어하고 애플리케이션에 포괄적인 쿼리가 가능하다. DB2 Express-C 9를 다운로드 하라. DB2 Express-C 9은 업계 최초 합성 서버로서 아무런 제한(사용자나 데이터베이스 크기 제한) 없이 자유롭게 개발, 전개, 배포할 수 있다. XML과 관계형 데이터의 쿼리는 DB2 Express-C 9에 포함된 pureXML 기술을 통해 쉽게 사용할 수 있다. DB2 Express-C 9를 보다 자세히 이해하기 바란다. 새로운 DB2 Developer Workbench도 다운로드 하여 DB2 9의 XQuery와 SQL/XML의 힘을 경험하기 바란다.
IBM의 Lotus Notes/Domino
에는 XML 데이터 작업에 사용되는 많은 툴들이 있다. "Notes/Domino 6을 사용한 XML 데이터 퍼블리시" 튜토리얼에서는 Notes/Domino에 내장된 XML 프로세싱 기능을 사용하여 XML 데이터를 사용하는 방법을 설명한다. 디벨로퍼웍스의 로터스 존을 방문해보라.
IBM의 샘플 IT 프로젝트에는 오픈 표준 기반 기술과 IBM 소프트웨어 제품들을 사용한 엔드투엔드 솔루션을 구현하는 방법과 관련한 기술자료, 튜토리얼, 팁 등을 소개하고 있다.
alphaWorks는 XML 애플리케이션 개발에 사용되는 많은 툴들을 제공한다:
XML
page (alphaWorks) 참조
|
|
 |
|
 |