XSD 복합 타입 XSD 복합 타입(complex type) 요소 복합 타입(complex type) 요소란 자식 요소나 속성을 포함하는 요소를 의미한다. XSD에서 복합 타입 요소는 다음과 같이 구분할 수 있다. 빈 요소자식 요소만을 포함하는 요소텍스트만을 포함하는 요소자식 요소와 텍스트를 모두 포함하는 요소위에서 언급한 모든 복합 타입 요소는 속성을 포함할 수 있다. 빈 요소의 선언 XSD에서 빈 요소(empty element)란 자식 요소는 가지지 않고, 오직 속성만을 가지는 요소를 의미한다. 빈 요소는 복합 타입 요소이므로, 반드시 하나 이상의 속성을 가지고 있어야 한다. XML 예제 위의 XML 예제는 XSD에서 아래처럼 선언된다. XSD 예제 하지만 보통은 요소와 요소를 생략하고 다음과 같이 ..
XSD 단순 타입 단순 타입(simple type)요소 XSD에서 요소는 오직 값만을 포함할 수 있는 단순 타입(simple type) 요소로 선언된다.단순 타입의 요소는 자식 요소나 속성을 포함할 수 없다.여기서 값만을 포함한다는 의미는 오직 숫자나 불리언, 문자열만을 포함할 수 있는 요소라는 뜻이다. 단순 타입 요소의 선언 XSD에서 단순 타입 요소를 선언하는 문법은 다음과 같다. 문법 요소의 타입에는 XSD에서 제공하는 다양한 기본 타입과 파생된 타입을 사용할 수 있다. 다음 예제는 단순 타입 요소를 XSD에서 어떻게 선언하는지를 보여주는 예제이다. XML 예제홍길동2413:15:00 XSD 예제 // 문자열 타입 // 숫자 타입 // 시간 타입 단순 타입 요소의 기본값 선언 단순 타입 요소는 de..
XSD XSD란? XSD는 XML 스키마 정의(XML Schema Definition)를 의미한다.XSD는 XML 문서의 구조 및 해당 문서가 포함할 수 있는 적법한 요소와 속성을 명시한다.즉, 해당 XML 문서가 유효한(valid) XML 문서로써 포함할 수 있는 관계를 정의한다. XML 에서 스키마를 정의할 때는 XSD뿐만 아니라 앞서 배운 DTD를 사용할 수도 있다. DTD의 단점 DTD는 오래전부터 엔티티를 정의할 수 있고, 빠른 개발을 위한 내부 DTD를 사용할 수 있어서 많이 사용되었다. 하지만 시간이 지날수록 다음과 같은 단점들이 발생한다. 네임스페이스를 지원하지 않는다.XML 문법이 아닌 별도의 문법으로 작성해야 한다.제한된 타입만을 지원한다재사용과 확장이 불가능하다.위와 같은 단점 때문에..
DTD 스키마(schema) XML은 다른 마크업 언어를 만드는데 사용되는 다목적 마크업 언어이다. 이렇게 다른 언어를 정의하기 위해서는 먼저 해당 언어에 필요한 요소와 속성을 파악해야만 한다.이러한 정보들의 집합을 스키마(schema)라고 부른다.스키마는 일관성 있는 XML 문서를 유지하는데 아주 중요한 역할을 한다. XML에서 스키마를 작성할 때에는 다음과 같이 두 가지 방법을 사용할 수 있다. DTD(Document Type Definition)XML 스키마(XSD) 문서 타입 정의(DTD)란? 문서 타입 정의(DTD)는 XML 문서의 구조 및 해당 문서에서 사용할 수 있는 적법한 요소와 속성을 정의한다. DTD는 엔티티를 정의할 수 있으며, 빠른 개발을 위한 내부 DTD를 사용할 수 있다.DTD는..
XPath XPath란 ? XPath란 XML Path Language를 의미한다. XPath는 XML 문서의 특정 요소나 속성에 접근하기 위한 경로를 지정하는 언어이다.XPath는 W3C 표준 권고안으로, XSLT와 XPointer에 사용될 목적으로 만들어졌다.또한, XML DOM에서 노드를 검색할 때에도 사용할 수 있다. 현재 가장 최신 버전의 XPath는 2017년 3월 17일에 발표된 XPath 3.1이다.XPath 3.1에 대한 더 자세한 정보를 원한다면, W3C 공식 사이트를 방문하여 확인할 수 있다. https://www.w3.org/TR/xpath-31/ XPath의 특징 XPath는 XML 문서의 일부분을 선택하고 처리하기 위해 만들어진 언어이다. 이러한 XPath는 다음과 같은 특징을 ..
노드 (node) W3C XML DOM 표준에 따르면 XML 문서 내의 모든 것은 노드(node)라고 불리는 계층적 단위에 정보를 담고 있다. XML DOM은 이러한 노드들을 정의하고, 그들 사이의 관계를 설명해 주는 역할을 한다. 노드의 종류 W3C XML DOM 표준에 따르면 XML 문서 내에 존재하는 모든 것은 노드이다. XML 문서를 구성하는 대표적인 노드의 종류는 다음과 같다. 노드 설명 문서 노드(document node) XML 문서 전체를 나타내는 노드. 요소 노드(element node) 모든 XML 요소는 모두 요소 노드이며, 속성 노드를 가질 수 있는 유일한 노드다. 속성 노드(attribute node) XML 요소의 속성은 모두 속성 노드이며, 요소 노드에 관한 정보를 가지고 있는..
XML DOM 문서 객체 모델(DOM)이란? DOM(Document Object Model)은 XML이나 HTML 문서에 접근하기 위한 API로 W3C 표준 권고안이다. DOM은 문서 내의 모든 요소를 정의하고, 해당 요소에 접근하는 방법까지 정의한다. XML 예제HTMLwebW3C5.1high DOM은 다음 그림과 같이 계층 구조로 표현된다. W3C DOM 표준은 다음과 같이 세 가지 모델로 구분된다. Core DOM : 모든 문서 타입을 위한 DOM 모델HTML DOM : HTML 문서를 위한 DOM 모델XML DOM : XML 문서를 위한 DOM 모델 HTML DOM HTML DOM은 HTML 문서에 접근하여 조작할 수 있는 표준화된 방법을 정의한다. 모든 HTML 요소는 HTML DOM을 통해 접..
XSLT XSL 이란? XML 문서는 다양한 장치에서 데이터를 저장하고 전달할 목적으로 만들어졌다. 하지만 각각의 장치는 내부적으로 자신만의 고유한 데이터 구조를 사용하고 있다. 따라서 각각의 장치가 전달받은 XML 문서를 자신이 사용하는 데이터 구조로 변환할 때 사용할 규칙이 필요하다.이러한 변환 규칙에 대한 명세를 작성할 수 있는 언어가 바로 XML(eXtensibl Stylesheet Language)이다.CSS가 HTML 문서를 위한 스타일 시트 언어라면, XSL은 XML 문서를 위한 스타일 시트 언어이다. XSL의 구성 XSL은 XML 문서의 변환과 표현을 정의하는 세 개의 언어로 구성된다. XSLT : XSL Transformations를 의미하며, XML 문서를 다른 구조의 문서로 변환시키기..