make up language : 랭귀지를 꾸민다
XML개념에 들어가기전, html 과 무엇이 다른지 알아보자
HTML 이라고 하는것은 make up language 로 하이퍼 텍스트를 만든것이다.
<head>
<title>
<body>
대략 이렇게 꺽쇠를 가지고 있는것을 태그, 또는 element라고 하는데 이것들은 이미
" 만들어져 있는 상태 " 이다.
그러나 html 은 의미론적인 정보가 없다.
무슨 의미냐 함은, 예컨대
사람에 대한 정보를 담고 싶을때 사람을 의미할 수 있는 element나 태그가 없다.
xml처럼
<persons>라고 하는 태그를 만들어서 root element로 하고, (mvc중 model(데이터) 에 해당)
ㄴ <person>
ㄴ <age>
ㄴ <gender>
과 같이 의미가 담겨 있어야 하는데, html은 값을 그냥 박아넣는 형태로 이루어져서
html 은 의미론적으로 부합되지않는다.
그렇다면 이러한 데이터들은 어떤 뷰어로 보여줄것인가 ?
-> xsl 라고 하는것이 있다.
ex)
a.xls 와 b.xls가 있다고 하면
persons라고 하는 xml이 a와 b를 적용할때의 양식이 변화한다.
xls(프리젠테이션 레이어)를 넘긴것이다.
즉, XML은 xml + xls +xsd로 구성된다.
xml이 어떤 xls와 바인딩 되냐에 따라 바뀐다고한다.
xml은 프리젠 테이션레이어가 있는것이 아닌, xls에 프리젠테이션을 넘긴다.
어떤 xls을 쓰느냐에 따라 바뀐다고한다.
테이블 컬럼 지정하는 것을 스키마 라고 하는데,
데이터베이스 스키마와, xml은 같은 맥락이라고 볼 수 있다.
단지 텍스트 베이스의 기록이 되었을뿐이다.
그러므로 xml에도 이 스키마를 적용할 수 있어야하는데
이때의 스키마 파일을 xsd라고 한다.
예컨대,
스키마는 하나의 약속이므로, persons 라고 하는 태그를 root로 쓰겠고
그 밑에 person 밑에 age (numeric int만 가능), name (string 에 n글자), gender(f or m 중 하나) 등 을
정리하는 파일을 이야기한다.
이는 매우 강력한 형식결정이고,
루즈한 스키마로 dtd라는 것도 있다. ( element의 순서 정도)
dtd의 발전된 모델로 xsd가 나온것이다.
make up langague는 html 과 같이 태그가 쌓이는 구조가 스택구조이다.
마지막에 열린 element가 제일 먼저 닫혀야 한다.
즉, 이같은 element의 구조는 스택의 구조와 같음을 알 수 있다.
* 스택 : LIFO (후입선출)
때문에 기본적으로 xml은 이러한 구조가 잘 지켜졌는지를 확인해야 한다.
이를 well - formed라고도 한다.
xml은 텍스트 베이스 이기때문에 OS종속성이 없어 어느곳이든 잘 열리고, 때문에 데이터표준으로 사용된다.
A <-> B 데이터 상호간 전송을 해야할때 약속이 : xsd
xsd가 적용되었는지 체크를 해야한다. 이는 데이터 통합 차원에서 필요한 과정이다.
* 과제
xml 데이터 소스에
a.xsl 와 b.xsl적용할때에 바뀌는지 확인
스키마를 만들어서 에러가 나는지안나는지 확인 (브라우저에서도 확인가능)
1. well-formed인지 확인하고,
2. 스키마 validation 확인
3. 1,2 통과시 XML가능
'✍2021,2022 > XML' 카테고리의 다른 글
xml 강연 필기 (0) | 2022.09.03 |
---|---|
XML 공부2 (0) | 2022.08.24 |