본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

IT기술/xml31

XML 노드의 정보 노드에 대한 정보에는 다음과 같은 프로퍼티를 사용하여 접근할 수 있습니다. 1. nodeType 2. nodeName 3. nodeValue 이 프로퍼티들은 특별히 다른 인터페이스를 사용하지 않고도 해당 노드 정보에 직접 접근할 수 있는 방법을 제공해 줍니다. 다음 그림은 우리 수업에서 계속 사용하고 있는 XML 파일에서 각 노드 타입의 프로퍼티 값을 보여주는 예제 그림입니다. nodeType 프로퍼티 nodeType 프로퍼티는 해당 노드의 타입을 저장하는 프로퍼티로, 수정할 수 없는 읽기 전용 프로퍼티입니다. 대표적인 XML 노드별 nodeType 프로퍼티 값은 다음과 같습니다. 노드 타입nodeType 프로퍼티 값 요소 노드(element node) 1 속성 노드(attribute node) 2 텍스.. 2023. 3. 8.
XML 노드 리스트 노드 리스트는 getElementsByTagName() 메소드나 childNodes 속성의 속성값으로 반환되는 객체입니다. 이 객체는 XML 문서와 같은 순서대로 문서 내의 모든 노드를 리스트 형태로 저장하고 있습니다. 노드 리스트의 각 노드는 배열처럼 0부터 시작하는 인덱스를 이용하여 접근할 수 있습니다. 다음 그림은 programming_languages.xml 파일을 노드 리스트로 나타낸 그림입니다. 다음 예제는 XML 문서 노드의 자식 노드를 노드 리스트 객체로 반환하는 예제입니다. nodeList = xmlObj.documentElement.childNodes; 노드 리스트의 길이 노드 리스트 객체는 노드 리스트에 노드를 추가하거나 삭제하면 자신의 상태 정보를 스스로 갱신합니다. 따라서 이 객체.. 2023. 3. 8.
XML 노드로의 접근 XML DOM을 이용하면 노드 트리에 포함된 모든 노드에 접근할 수 있습니다. 이때 노드에 접근하는 방법에는 다음과 같은 방법들이 있습니다. 1. getElementsByTagName() 메소드를 이용하는 방법 2. 노드 트리를 연속적으로 탐색하여 접근하는 방법 3. 노드 간의 관계를 이용하여 접근하는 방법 getElementsByTagName() 메소드를 이용하는 방법 getElementsByTagName() 메소드는 특정 태그 이름을 가지는 모든 요소를 노드 리스트의 형태로 반환합니다. 따라서 이 메소드가 반환하는 노드 리스트를 이용하면 원하는 노드에 접근할 수 있습니다. getElementsByTagName() 메소드를 사용하는 문법은 다음과 같습니다. 문법 노드이름.getElementsByTagN.. 2023. 3. 8.
노드(node), xml에서 노드란? 노드(node) W3C XML DOM 표준에 따르면 XML 문서 내의 모든 것은 노드(node)라고 불리는 계층적 단위에 정보를 담고 있습니다. XML DOM은 이러한 노드들을 정의하고, 그들 사이의 관계를 설명해 주는 역할을 합니다. 노드의 종류 W3C XML DOM 표준에 따르면 XML 문서 내에 존재하는 모든 것은 노드입니다. XML 문서를 구성하는 대표적인 노드의 종류는 다음과 같습니다. 노드설명 문서 노드(document node) XML 문서 전체를 나타내는 노드임. 요소 노드(element node) 모든 XML 요소는 모두 요소 노드이며, 속성 노드를 가질 수 있는 유일한 노드임. 속성 노드(attribute node) XML 요소의 속성은 모두 속성 노드이며, 요소 노드에 관한 정보를 가.. 2023. 3. 7.
XML 파서(parser) 현재 대부분의 주요 웹 브라우저는 XML 문서에 접근하고 조작하기 위한 XML 파서를 별도로 내장하고 있습니다. XML DOM은 XML 문서에 접근하고 조작할 수 있는 다양한 메소드를 포함하고 있습니다. 하지만 이러한 메소드를 이용하려면 우선 XML 문서를 XML DOM 객체로 변환해야만 합니다. XML 파서(parser)는 XML 문서의 평문(plain text) 데이터를 읽어 들여, 그것을 XML DOM 객체로 반환해 줍니다. (XML 파서의 역할) 문자열 파싱(parsing) 다음 예제는 XML 문서의 문자열을 추출하여 XML DOM 객체로 파싱하고, 해당 객체에서 정보를 추출하는 예제입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23.. 2023. 3. 7.
XMLHttpRequest 객체 현재 대부분의 주요 웹 브라우저는 서버에 데이터를 요청하기 위한 XMLHttpRequest 객체를 내장하고 있습니다. XMLHttpRequest 객체는 서버로부터 XML 데이터를 전송받아 처리하는 데 사용됩니다. 이 객체를 사용하면 웹 페이지가 전부 로딩된 후에도 서버에 데이터를 요청하거나 서버로부터 데이터를 전송받을 수 있습니다. 즉, 웹 페이지 전체를 다시 로딩하지 않고 일부분만을 갱신할 수 있게 됩니다. XMLHttpRequest 객체의 생성 자바스크립트를 이용하여 XMLHttpRequest 객체를 생성하는 방법은 다음과 같습니다. 예제 var xmlHttp = new XMLHttpRequest(); --- readyState 프로퍼티 readyState 프로퍼티는 XMLHttpRequest 객체의.. 2023. 3. 7.
xml DOM의 개념 문서 객체 모델(DOM)이란? DOM(Document Object Model)은 XML이나 HTML 문서에 접근하기 위한 API로 W3C 표준 권고안입니다. DOM은 문서 내의 모든 요소를 정의하고, 해당 요소에 접근하는 방법까지 정의합니다. 1 2 3 4 5 6 7 8 9 10 HTML web W3C 5.1 high cs DOM은 다음 그림과 같이 계층 구조로 표현됩니다. W3C DOM 표준은 다음과 같이 세 가지 모델로 구분됩니다. 1. Core DOM : 모든 문서 타입을 위한 DOM 모델 2. HTML DOM : HTML 문서를 위한 DOM 모델 3. XML DOM : XML 문서를 위한 DOM 모델 HTML DOM HTML DOM은 HTML 문서에 접근하여 조작할 수 있는 표준화된 방법을 정의합.. 2023. 3. 7.
XSLT 템플릿 작성 및 적용 루트 요소 XSLT 문서의 루트(root) 요소는 요소나 요소로 표현할 수 있습니다. 또한, 루트 요소의 시작 태그에는 W3C XSLT 네임스페이스를 반드시 같이 명시해줘야 합니다. 아래의 두 예제는 정확히 같은 동작을 수행하기 때문에 어느 쪽을 사용해도 같은 결과를 얻을 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 ... ... Colored by Color Scripter cs 템플릿 작성 XSLT 프로세서가 XSLT 문서에서 가장 먼저 찾는 요소는 바로 템플릿 요소입니다. 템플릿(template)은 특정 노드가 일치할 때 해당 노드에 적용할 규칙들을 포함하고 있습니다. 이러한 템플릿은 루트 노드에 포함된 콘텐츠를 어떻게 처리하고 변환할 것인지를 나타냅니다. XSLT 문서에서 템플릿.. 2023. 3. 7.
XSLT 변환 XSLT의 변환 과정은 다음과 같이 크게 두 가지 과정으로 이루어집니다. 1. 변환(Transformation) : XML 문서를 다른 구조의 XML 문서로 변환하는 과정입니다. 2. 서식 설정(Formatting) : XML 문서를 특정 데이터 구조의 비 XML 문서로 변환하는 과정입니다. 변환될 데이터를 가지고 있는 XML 문서와 변환에 대한 규칙을 가지고 있는 XSLT 문서만 있으면 변환을 진행할 수 있습니다. XML 문서를 잘 구성된(well-formed) HTML 문서로 바꾸는 과정을 순서대로 살펴보겠습니다. 예제 xml 코드(data.xml) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 HTML web W3C 5.1 high ... Python applica.. 2023. 3. 7.
XSLT XML 문서는 다양한 장치에서 데이터를 저장하고 전달할 목적으로 만들어졌습니다. 하지만 각각의 장치는 내부적으로 자신만의 고유한 데이터 구조를 사용하고 있습니다. 따라서 각각의 장치가 전달받은 XML 문서를 자신이 사용하는 데이터 구조로 변환할 때 사용할 규칙이 필요합니다. 이러한 변환 규칙에 대한 명세를 작성할 수 있는 언어가 바로 XSL(eXtensible Stylesheet Language)입니다. CSS가 HTML 문서를 위한 스타일 시트 언어라면, XSL은 XML 문서를 위한 스타일 시트 언어입니다. XSL의 구성 XSL은 XML 문서의 변환과 표현을 정의하는 세 개의 언어로 구성됩니다. 1. XSLT : XSL Transformations를 의미하며, XML 문서를 다른 구조의 문서로 변환시키.. 2023. 3. 7.
XML 문서의 종류 W3C의 XML 표준 권고안은 문법적인 측면에서 두 가지 종류의 XML 문서를 정의하고 있습니다. 1. 문법에 맞는(well-formed) XML 문서 2. 유효한(valid) XML 문서 1. 문법에 맞는(well-formed) XML 문서 문법에 맞는(well-formed) XML 문서란 XML 문서로서 가져야 하는 최소한의 필수 요건을 충족한 XML 문서를 의미합니다. 따라서 이 문서는 XML의 모든 구문을 허용하지만, DTD(document type definition)나 스키마를 사용하지는 않습니다. 문법에 맞는(well-formed) XML 문서가 되기 위한 필수 요건은 다음과 같습니다. 1. 루트(root) 요소를 하나만 가져야 합니다. 2. 모든 XML 요소는 종료 태그를 가져야 합니다. .. 2023. 3. 6.
XML 네임스페이스(namespace) XML 네임스페이스는 XML 요소 간의 이름에 대한 충돌을 방지해 주는 방법을 제공합니다. XML 네임스페이스는 요소의 이름과 속성의 이름을 하나의 그룹으로 묶어주어 이름에 대한 충돌을 해결합니다. 이러한 XML 네임스페이스는 URI(Uniform Resource Identifiers)로 식별됩니다. XML 요소 간의 이름 충돌 XML에서는 사용자가 XML 요소의 이름을 직접 정의합니다. 따라서 서로 다른 XML 문서를 통합하려고 할 때 같은 이름을 가진 요소로 인해 충돌이 발생할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 예제 1 html에서의 제목 html에서의 단락 예제 2 70 110 cs 위의 두 예제에서 요소는 서로 완전히 다른 의미로 사용됩니다. 예제 1에서는 HTML 문서의 .. 2023. 3. 6.