XML 문서에 주석 달기

W3C XML 1.0 Recommendation Section 2.5 - Comments에서 발췌

정의: 주석은 문서의 어디서든 나타날 수 있습니다. 덧붙여 주석은 문법에 의해 허용되는 부분이라면 문서 타입선언부에도 나타날 수 있습니다. 주석은 문서의 문자 데이터는 아닙니다. 하지만 응용 프로그램이 주석의 내용을 추출하고자 한다면XML 처리기를 통해 이를 처리할 수 있습니다. 호환성을 위해 연속된 하이픈 "--"이 주석 중간에 나와서는 안됩니다. 주석안에 있는 파라미터 엔터티 참조를 인식해서는 안 됩니다.
[15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

XML 주석 문법에 설명되어 있듯이 주석은 아래와 같은 형식을 갖습니다.

<!-- 연속하는 대쉬를 제외한 문자들 -->

다음은 올바른 XML, XHTML 주석입니다.

<!-- 올바른 xml/xhtml 주석 -->

다음은 올바르지 않은 XML, XHTML 주석입니다..

<!-- 올바르지 않은 -- xml 주석 -->
<!-- 올바르지 않은 xml 주석 --->
<!-- 올바르지 않은 xml 주석 -- >

더 읽을거리

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 솔라뷰

2006/10/09 18:27 2006/10/09 18:27
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/81

XML - 속성이 좋을까요 요소가 좋을까요?

XML 페이지를 설계하다보면 도무지 갈피를 잡을 수 없는 경우가 있는데, 그건 속성(Attribute)를 써야 하느냐 요소(Element)를 써야하느냐를 경정할 때입니다.

예를 들어 책에 관한 XML이 있다고 할 때 요소 중심은 다음과 같겠죠.

[code type=xml]
<서가>
<책>
<책이름>책 이름</책이름>
<글쓴이>저자</글쓴이>
<출판사>출판사 이름</출판사>
<ISBN>ISBN번호</ISBN>
<요약>책 내용 요약..</요약>
</책>
</서가>

속성 중심은 다음과 같겠습니다.
<서가>
<책 이름="책 이름" 글쓴이="저자" 출판사="출판사이름" ISBN="ISBN 번호">
<요약>내용 요약..</요약>
</책>
</서가>
[/code]

위와 같은 방식 중 어떤것이 더 효율적일까요(파서의 입장에서)?
그리고 어떤것이 사용하기 편할까요(XML을 다루는 프로그래머의 입장에서)?

저는 속성 기반을 선호하는 편입니다만, 딱히 이렇다할 장점이나 효율성을 집어내지는 못하겠습니다.

요즘 XML 프로그램짤일이 급속히 늘어나는 추세라, 이런 사항을 확실히 인식하고 넘어갔으면 해서요.

저도 약간 비슷한 문제가 있습니다;

제 경우에는 다른 요소를 포함할 경우가 아니라면 속성으로 합니다.
(어차피 지금 하는 것들 대부분이 한 줄이 row이고 한 속성이 딱 column;;; )

http://www.zvon.org/xxl/xpathtutorial/g ··· les.html
이 문서를 보고나서 속성을 주로 씁니다.

(무엇을 써도 상관 없는 상황이라면)
정해진 기본값이 있을 경우 속성,
없으면 요소로 만듭니다.

요소와 속성은 DTD 논리 체계 상 의미가 전혀 다를 것 같습니다. 다음은 주소록의 예입니다:


[CODE type=xml]<단원신상정보>
<단원 고유인식번호="701" 성별="남" 기수="7">
<이름 문자="ko">차리서</이름>
<이름 문자="zh">車里西</이름>
<이름 문자="en">CHA Reeseo</이름>
<전자우편 메일링리스트="가입">reeseo@kldp.org</전자우편>
<전자우편>reeseo@aaa.bbb</전자우편>
<홈페이지 링크="공개">http://www.cantabile.or.kr/~reeseo/</홈페이지>
<홈페이지>http://formal.korea.ac.kr/~reeseo/</홈페이지>
<주소 형태="집">
서울특별시 어쩌구 저쩌구
<우편번호>150-xxx</우편번호>
<전화 위치="거실">02-xxx-xxxx</전화>
<전화 위치="방">02-xxx-xxxx</전화>
</주소>
<주소 형태="직장">
서울특별시 어쩌구 저쩌구
<우편번호>135-xxx</우편번호>
<전화>02-xxx-xxxx</전화>
<팩스>02-xxx-xxxx</팩스>
</주소>
<파트 기간="~19931102">베이스</파트>
<파트 기간="~">테너</파트>
</단원>
<단원 고유인식번호="702" 성별="남" 기수="7">
<이름 문자="ko">홍길동</이름>
<이름 문자="en">HONG Gildong</이름>
<전자우편>gildong@hong.pe.kr</전자우편>
<주소 형태="집">
서울특별시 어쩌구 저쩌구
<우편번호>171-xxx</우편번호>
<전화>02-xxx-xxxx</전화>
</주소>
<파트>베이스</파트>
</단원>
</단원신상정보>[/HTML][/code]

어떤 요소의 속성이어야 더 말이 되는 것도 있고, 반대로 어떤 요소의 하위 요소여야 더 바람직한 것도 있겠습니다. 하나만 있어야하는 요소, 없어도 되는 요소, 여러개 있을 수 있는 요소가 있는가 하면, 꼭 있어야하는 속성, 반드시 몇 가지 중 하나여야하는속성 값, 없으면 디폴트로 무엇으로 간주하는 속성 등등이 있겠죠. 모두 "의미 체계"에 따라 적절히 선택해야할 문제라고 봅니다.

질문안에 답이 나오는군요.
만약 글쓴이가 한명 이상이라면? 또는 후에 추가되어야 한다면?

...그렇기때문에 요소를 써야만 일이 수월 할 수 있습니다.
또한 요소의 사용은 쉽고 표현은 직관적이어야 한다는 XML의 취지에 맞고요.

데이터를 요구하는 클라이언트의 입장에서볼때
값 하나만을 요구되는 경우는 드물껍니다. 주로 요소로 이루어진 문서를
요구하게 될겁니다.

그리고.. 개인적으론 클라이언트가 요구하는 데이터는 요소로 만들고
프로그램 내부에서 사용되는 값의 경우엔 속성으로 만듭니다.

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 솔라뷰

2006/10/09 14:42 2006/10/09 14:42
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/80

XML File Parsing in VB.NET

보호된 글 입니다. 비밀번호를 입력하세요.

XML 주석활용하기-내가 짠 함수에 대한 설명이 보이게

프로그램 작성시 중요한 것 중의 하나가 주석을 적절하게 다는 것이다.
이제 주석 처리가 VB.NET 2005에 들어오면서 획기적으로 발전하였다. 단순한 주석에서 머무르지 않고 이제는 XML 주석을 통해 각 코드에 구조화된 주석을 쉽게 첨가할 수 있게 되었다. 주석을 작성할 때 각 요소들의 상단에 작은따옴표 3개(''')를 입력하면(원래 비베의 주석은 작은따옴표 한 개면 됨) [그림1]과 같이 자동으로 XML 주석이 생성되는 것을 확인 할 수 있다.

사용자 삽입 이미지

[그림 1] 비베20005에서 XML 자동 주석 달기

해당 요소에 대한 XML 주석 작성 후 다른 곳에서 그 요소를 참조하게 되면 작성된 XML 주석의 내용이 인텔리센스로 표현되어 코딩시 혼동을 방지할 수 있다. 

[그림2], [그림3]은 작성된 XML 주석이 참조시 사용되는 예이다.
사용자 삽입 이미지

[그림 2] XML 주석의 활용 - 첫째 인자에 대한 설명이 나옴

사용자 삽입 이미지
 
[그림 3] XML 주석의 활용 - 둘째 인자에 대한 설명이 나옴
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 솔라뷰

2006/08/02 22:22 2006/08/02 22:22
, , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/6