hrming

[기타] XML 구조 - 선언부, DTD / XSD 본문

기타

[기타] XML 구조 - 선언부, DTD / XSD

hrming 2024. 10. 23. 10:04

문득, xml 파일을 보다가 xml 파일 구조가 어떻게 되어있는지 궁금해졌다.🧐


1. XML 선언부

<?xml version="버전" encoding="인코딩방식" standalone="yes 아니면 no"?>
// 인코딩 & 독립형 여부는 선택 속성
// 인코딩 기본 값은 UTF-8
// 독립성 여부 기본 값은 yes (해당 문서를 해석할 때 외부 DTD 문서 참조해야하는지 여부를 XML파서에게 전달)

 



2. DTD(Document Type Definition) / XSD(XML Schema Definition)


2-1. DTD
- XML에서 자유롭게 태그를 정의하여 문서를 작성할 수 있지만, 동일한 태그/규칙에 따라 XML 문서를 작성하고자 할 때 사용하는 것이 DTD이다.
- 즉, DTD는 문서의 구조를 정의하는데 사용되며 XML 문서에 직접 작성하거나 외부 파일로 저장하고 읽어올 수 있다.
- 또한, XML 문서가 DTD에 정의된 규칙을 따르도록 검증하는 데 사용된다.

<!DOCTYPE properties SYSTEM “http://java.sun.com/dtd/properties.dtd”>
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

// SYSTEM: 지정된 URL에서만 DTD를 찾으며, 외부 파일이나 네트워크 경로에 의존한다.
// PUBLIC: 공용 식별자를 사용하여 DTD를 정의하며, 시스템은 먼저 해당 식별자를 찾아 로컬이나 네트워크에서 DTD를 찾으려 시도할 수 있다. 이 방식은 DTD의 버전을 관리하거나 여러 소스에서 DTD를 찾을 수 있는 유연성을 제공한다. 


2-2. XSD
- XML 문서의 구조 및 해당 문서가 포함할 수 있는 적법한 요소와 속성을 명시함
- DTD의 단점을 보완하기 위해 공표됨

DTD의 단점 XSD의 특징
네임스페이스를 지원하지 않음 네임스페이스 지원
XML문법이 아닌 별도의 문법으로 작성해야 함
→ 재사용과 확장이 불가능
XML 문법으로 작성할 수 있음
→ 재사용과 확장이 용이함
제한된 타입만 지원 정수, 문자열 등의 다양한 타입 지원
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="myBean" class="com.example.MyClass">
        <!-- 속성 설정 -->
    </bean>
</beans>

// 스프링 빈을 등록하는 것 또한, XML 스키마를 사용한 예시임.
// xmlns 는 xml name space를 의미

 


3. XML 태그 & 데이터

: 내용 생략
: 하기 블로그들 참고하기 :>


참고 및 출처 :
https://www.tcpschool.com/xml/xml_dtd_intro

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com


https://www.tcpschool.com/xml/xml_xsd_intro

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com


https://sjh836.tistory.com/118

 

XML 기본 구조 (요소, 속성, CDATA, 네임스페이스)

참조문서 : https://www.w3schools.com/xml/1. 문서 분류XML 문서에는 정형식 문서(well-formed)와 유효한 문서(valid)가 있다.정형식 문서 : XML 문법과 규칙에 맞게 만들어진 오류가 없는 문서.유효한 문서 : XML

sjh836.tistory.com


https://www.devkuma.com/docs/xml/dtd%EB%9E%80/

 

XML 입문 | DTD를 사용하여 XML 구조의 정의 | DTD란?

XML에서는 자유롭게 태그를 정의하여 문서를 작성 할 수 있지만, 어떤 태그를 사용할지 XML 문서의 구조를 결정 해두면 유용하다. XML은 구조를 작성할 때 DTD라는 언어를 사용한다. 여기에서는 DTD

www.devkuma.com


ChatGPT

'기타' 카테고리의 다른 글

HTTPie  (0) 2025.05.05
[CSS] @media 미디어 쿼리 / 모바일 환경 -> @media (hover : none)  (0) 2024.12.23
[IntelliJ] CamelCase 플러그인  (0) 2024.09.27
[IntelliJ] Find in files not finding occurrences  (2) 2024.09.03
[Agile] JIRA  (0) 2024.07.28
Comments