왜 xml schema에서 RELAX NG를 쓰지 않을까?

Posted at 2009.12.07 01:26 // in 분류없음 // by MOOVA 무바㏇
RELAX NG 오래전에 봐두었던 xml 스키마 양식이다.
DSL(Domain Specific Language) 과 비슷한 양식을 취하고 있다는 것에 주목할 필요가 있다.

보통 xml을 Wel-formed문서로 만들기 위해 DTD나 Schema를 사용하는 것이 보통인데, RELAX NG는 그것보다 더 낳은 가독성과 범용성이 있다는 것을 확인했고, 기억하고 있다.


xml

<addressBook>
  <card>
    <name>John Smith</name>
    <email>js@example.com</email>
  </card>
  <card>
    <name>Fred Bloggs</name>
    <email>fb@example.net</email>
  </card>
</addressBook>

dtd

<!DOCTYPE addressBook [
<!ELEMENT addressBook (card*)>
<!ELEMENT card (name, email)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT email (#PCDATA)>
]>

relax ng

element addressBook {
  element card {
    element name { text },
    element email { text }
  }+
}


참 쉽고 편하다. 메타프로그래밍 위주의 논리적인 구성이다.
왜 쓰지 않을까?
저작자 표시 비영리 변경 금지
신고
블로그코리아에 블UP하기

댓글을 남겨주세요.

티스토리 툴바