2022. 2. 8. 01:00ㆍProject/SpringBoot를 이용한 블로그 만들기(개인)
스프링 MVC 프로젝트를 위해 이클립스 초기 셋팅 도중에 There are '37' errors in 'jps_2_5.xsd' 라는 에러 메시지가 떴다.
원인은 다음과 같다.
src > main > WEB-INF>web.xml
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee; https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
두 URL 사이의 ; 으로 URL 주소를 구분해줌으로써 오류를 해결하였다.
XSD는 XML 스키마 정의를 의미한다. XML 문서의 구조 및 해당 문서가 포함할 수 있는 적법한 요소와 속성을 명시한다.
xsi는 XML .스키마 인스턴스 네임스페이스에 대한 규칙으로 사용되는 네임스페이스 접두부이다.
XML 문서는 xsi:type 속성의 요소를 포함할 수 있다.
네임스페이스는 서로 다르게 작성한 XML 문서에도 공통적으로 엘리먼트들이 있을 수 있는데, 이 엘리먼트는 이름은 같지만 내용은 전혀 다르다. 이 엘리먼트들을 구별하기 위해 네임스페이스를 사용하는 것이다.
접두사와 엘리먼트는 : 으로 구분한다.
>> XSD(XML 스키마)를 XML 인스턴스에 적용 시의 특성을 정의하고 있으며 일반적으로 xsi를 접두사로 활용한다.
더 찾아보니, 스키마에 대해 궁금해졌다.
스키마란? XML 문서의 구조와 엘리먼트, 속성들의 관계를 정의하여 다양한 자료형을 사용할 수 있도록 정의된 문서 구조
스키마 구조의 장점은 XML 문법을 따른다는 것이며, 풍부한 데이터형 제공 & 데이터 제약 조건을 세밀하게 정의한다.
스키마는 Explorer 5.0부터 도입되었으며 확장자는 XSD를 사용한다. 그리고 XSD의 접두부 표현이 xsi 인것이다.
XML 부터 다시 한번 정리해보자.
xsi < XSD < XML 이 아닐까 싶다.
XML은 eXtensible Markup Language의 약어로 W3C에서 여러 특수 목적의 마크업 언어를 만드는 용도에서 권장되는 다목적 마크업 언어이다. 마크업 언어는 데이터의 구조를 기술하는 언어의 한 가지이다.
가장 친숙한 마크업 언어가 HTML
XML은 1996년 제안된 언어로 기존의 HTML과 달리 웹상에서 구조화된 문서를 전송가능하도록 설계되었다.
예를 들어 HTML에서는 CPU 2.83GHz라는 데이터를 표기할 때 어디부터가 데이터 명이고, 어디부터가 실제 데이터인지 표시할 수 있는 마땅한 방법이 없다.
이런 문제를 해결하기 위해 XML 문서가 나온 것이다. XML을 이용하면 어디부터 어디까지가 데이터 이름이고, 실제 데이터이며, 데이터 단위인지도 표현이 가능하다. 즉, 데이터에 의미를 부여하는 메타데이터를 기술할 수 있다. 이것이 XML의 탄생 목적이다. <dataname>CPU</dataname> 데이터명 <datavalue>2.83</datavalue> 데이터값
XSD는 XML 문서에서 요소들이 구성되는 방식을 설정할 수 있다.
http://www.tcpschool.com/xml/xml_xsd_orderIndicator