본문 바로가기

Back/XML

(8)
XML 간단하게 알아보기 - 6 (XML Schema Definition) DTD 외에도 XML Schema Definition 으로 데이터 타입을 정의할 수 있다. XSD 확장자로 선언된다. 현업이든 다양한 예시 파일이든, 주로 DTD 보다는 XSD 방식으로 선언하는데, DTD 방식에는 치명적인 단점이 몇 존재하기 때문이다. 제한된 타입만 지원 (#PCDATA, #CDATA 등) 네임스페이스 미지원 XML 문법이 아닌 별도의 DTD 문법을 사용해야 함. 재사용 및 확장이 불가능. 딱 이 정도 단점을 보완한 것이 XSD 방식이다. 정수, 문자열 등 다양한 타입을 지원 네임스페이스 지원 XML 문법을 사용 재사용 및 확장이 가능 구체적인 예시는 다음을 보자. 알아볼 용어가 좀 많다. 역시 다양한 기능을 지원할수록 문법이 복잡해지는 것은 어쩔 수 없나 보다... 간단하게 알아보자...
XML 간단하게 알아보기 - 5 (DTD) XML 작성하는 방법은 이미 다 알아봤다. 문제는 그게 "잘 만들어진" XML 문서인지 공증을 받아야 가치가 있다. 잘 만들어진 XML 문서에는 두 가지 레벨이 존재한다. Well Formed Valid Well Formed: "형식을 잘 지킨 XML 문서"라는 뜻이다. 태그를 잘 닫고, 앞뒤 태그의 이름을 동일하게 맞추고, XML 선언문을 잘 사용하고... 즉, 문법을 잘 지켰다는 의미다. 하지만 문법을 잘 지켰다고 그게 잘 만든 문서라고 하지는 않는다. Valid: Well Formed인 문서이면서, 해당 문서에는 Data Type에 대한 정의가 존재한다는 뜻이다. 데이터 타입에 대한 정의는 DTD 문서 혹은 XML Schema 방식으로 증명할 수 있다. 간단한 예시로 알아보자. AD Carry Ez..
XML 간단하게 알아보기 - 외전 (XPath) 자바를 공부했다면 JSP를 적어도 들어는 봤을 것이다. SI 경험이 좀 있다면 Velocity, Thymeleaf 등 다양한 템플릿을 경험해 봤을 것이고. 해당 템플릿을 이해하기 위해서는 XPath 개념을 아는 것이 중요하다. 다양한 템플릿은 모두 해당 개념을 바탕으로 문법을 다소 수정한 것이 대부분이기 때문이다. 다음 사진을 보고 시작하자. 저게 무엇인고? 천천히 알아가면 된다. 우선 알 것은 XPath 라는 개념은 XQuery, XSLT 등을 모두 포함한 종합 선물 세트라는 것이다. 그럼 XPath를 구성하는 네 가지 요소를 하나하나 간단하게 알아보자. XQuery는 XML 문서에서 사용하는 SQL 문법이다. XSLT는 앞서 배웠다시피 XML 문서를 다른 언어로 번역해주는 기능이다. XPointer는..
XML 간단하게 알아보기 - 4 (네임스페이스) XML에 대한 기본적인 내용을 알아봤다. 사실 내용을 전달하는 데는 0~3까지 내용만 알면 충분하다. 이제부터는 규모가 큰 XML 문서를 작성할 때, element 이름이 겹치는 경우를 해결하기 위한 방법이다. 다음을 보자. AD Carry Ezreal Knife champion element의 이름이 겹친다. 하지만 두 챔피언은 다른 내용을 포함하고 있다. 이 경우 동일한 champion 태그의 구조가 완전히 달라서 에러가 발생한다. 하지만 champion에 대한 내용임에는 분명하다. 그렇다면 prefix를 활용하면 된다! AD Carry Ezreal Knife prefix를 사용해서 element를 구분하는 데 성공했다. 하지만, prefix가 무슨 내용을 담고 있는지 미리 선언해야만 한다. 여기서 ..
XML 간단하게 알아보기 - 3 (규칙) XML에서도 문법은 존재한다. HTML을 공부했다면 세부적으로 알아볼 내용은 많지 않지만 간단하게 알아보자. xml 단어로 시작하는 element는 만들 수 없다. (xml, Xml 등) element 이름에 공백을 넣을 수 없다. element 이름은 _ 혹은 letter로 시작해야 한다. (_, alphabet) pascal case, snake case 등 원하는 방식을 사용해도 되나, 하나의 문서에는 하나의 방식만 사용할 것. element의 child를 만들어도 문제가 되지 않는다. 해당 문서를 받았다고 가정하자. element를 추가해서 반환해도 에러가 발생하지 않는다. winner만 있던 game 태그에 loser도 포함해서 반환했다. element가 변화햇으니 version도 올려서 보냈다..
XML 간단하게 알아보기 - 2 (구조) XML 선언 방식과 내용을 적는 방식은 이전 1편에서 알아봤다. 그렇다면 그 구조가 어떻게 되는지 알아야 제대로 써먹지 않겠는가? 이것 역시 간단하다. Root Element, Element, Attribute, Text 이 네 가지로 XML을 대부분 설명할 수 있다. Root Element는 다음과 같다. 위 xml 문서를 해석하면 간단하다. 최상단에는 이 문서가 xml 문서고, 1.0 버전이니 초기 버전이라는 것을 알리고 있으며, 인코딩 타입은 utf-8이라는 것이다. 그리고 이 문서를 통해서 전하고자 하는 내용은 game에 관련된 내용이라는 것이다. 여기에서 결과적으로 이 문서가 전하고자 하는 내용, 그 자체인 태그가 root element가 된다. 이 문서의 포괄적인 범위를 정하는 것이다. roo..
XML 간단하게 알아보기 - 1 XML 형식을 선언하는 방식은 아주 간단하다. HTML처럼 문서 최상단에 해당 문서의 기본적인 내용을 선언하면 끝이다. 해당 부분을 XML Declaration이라고 표현한다. 내용을 추가하고 싶다면 다음처럼 하면 된다. Good-boy Bad-scientist 어떤 느낌인지 감이 온다...! 안에는 전송하고자 하는 정보를 하나의 분류로 묶어서 세부내용을 정한 뒤, 그 안에 내용을 적어 보내면 끝이다. 사용 방법은 알았으니, 아주 기본적인 XML 지식도 알아보고 가자. What is XML? XML stands for eXtensible Markup Language XML is a markup language much like HTML XML was designed to store and transpor..
XML 간단하게 알아보기 - 0 Maven부터 시작해서 legacy spring의 설정은 대부분 xml 형식으로 만든다. 단순히 읽을 정도만 알아도 별 문제는 없지만, 설정파일을 직접 제작하고자 한다면 어느정도 xml 제작까지는 알아야겠다는 마음가짐에 기초부터 알아보기로 했다. 단, 필요없는 걸 다 알 생각은 없고 핵심만 간추리도록 하겠음! XML 선언하는 방법 XML 각종 용어 설명 기존 XML 문서를 읽는 방법 (주로 스프링, 자바 관련된 문서)