hrming
[기타] XML 구조 - 선언부, DTD / XSD 본문
문득, 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 |