Back-end/JAVA,Spring

XML 이란? DTD 와 스키마

cheersHena 2018. 11. 19. 20:08
반응형

XML eXtensible Markup Language 

확장가능한 마크업 언어.

XML는 어떠한 데이터를 설명하기 위해 이름을 임의로 지은 태그로 데이터를 감싼다. 

즉 태그로 데이터 설명을 하는것이다. 이 부분에서 데이터의 표시(Markup)가 되고,

더 필요한 데이터가 생길시 태그추가나, 태그안의 내용을 추가할수 있다는 특징이 있다.(Extensible) 즉, 마크업언어를 정의하는 언어라고 할 수 있다.

인터넷을 통한 거대 네트워크 연결이라는 패러다임이 생기면서 문제점이 발생한다. 다른기종 간 응용 시스템 통합 , 서로 다른 포맷의 데이터 통합, 상황에 따른 웹 페이지 레이아웃, 상호 연결가능 한 파일 등 웹을 수용하고 활용하는데 발생하는 문제들을 해결하기 위해 xml이 등장한다.


XML 특징

기존 웹의 인터넷 기반 프로토콜, 매커니즘과 함께 사용할 수 있다. 

언어에 대해 독립적이고 여러 애플리케이션을 지원한다. 

사용자 정의태그를 사용한다. 정보교환이 용이하다.

문서 재사용이 가능하다.

웹에서 정보교환이 가능하다.

자료의 표현과 내용이 분리되어 있어 정확한 검색이 가능하다.

xml은 어떤 데이터를 설명하기 위해 임의로 지은 이름의 태그로 데이터를 감싼다.

ex) mybatis SQL.xml 

<select id="read" parameterType="HashMap" resultType = "HashMap">
SELECT * FROM board WHERE type_seq = #{typeSeq} AND board_seq = #{boardSeq}
</select>


DTD와 스키마

xml문서는 미리 정해진 구조를 따라서 작성됐는지 검사할 수 있다. 

xml문서의 구조를 정의 하는 방법에는 DTD와 스키마schema 가 있다. 스프링의 xml 설정 파일은 이 두가지 방식을 모두 지원한다. 

1. DTD(Document Type Definition)

:작성하는 문서가 어떤 문서인지에 대해서 정의하는 것. 하나의 시스템 내에서 사용할 xml데이터의 구조를 정의하여 유효성을 점검할때 사용.

ex) mapper DTD

<!-- DTD: Document Type Definition -->
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">


2. 스키마 Schema

스프링은 DI를 위한 특별목적을 위해 별도의 태그를 사용할 수 있는 방법을 제공한다. 이 태그들은 각각 별개의 스키마 파일에 정의되어있고 독립적인 네임스페이스를 사용해야만 한다. 따라서 이런 태그를 사용하려면 DTD대신 네임스페이스가 지원되는 스키마를 사용해야한다. 서로다른 시스템 사이의 데이터를 주고받아 사용할 수 있게 데이터 표준화 위해 제공.

ex)

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/util
        http://www.springframework.org/schema/util/spring-util-4.1.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.1.xsd
>
.
.
.
</beans>


* Mark up Language? 

마크업 언어는 문서의 내용에 대한 정보가 아니라  그 문장과 그림, 표가 어떻게 배치되고 글자는 어떤 크기와 모양을 가지며 , 들여쓰기와 줄간격, 여백은 어느정도인지에 대한 정보를 의미한다. 즉, 평소에 많이 쓰는 글자크기, 굵기, 글씨체 등등을 적용한 문서가 마크업 문서인 것이다. 






반응형

'Back-end > JAVA,Spring' 카테고리의 다른 글

[JSP]내장객체 - request /response/ session 객체  (1) 2019.01.08
Java static 이란? 개념/사용법  (0) 2018.11.19
MAVEN 메이븐이란?  (0) 2018.11.08
log4J란? log4j설정법.  (0) 2018.11.08
Junit이란? 어노테이션  (0) 2018.11.08