꼭 블로그가 아니더라도 XML RSS 는 이제 어느정도 대세가 되어가고 있는 듯합니다. 이제는 언론사나 커뮤니티 등에서도 RSS 가 나옵니다.. 그리고 #Reader나 Xpyder,FreeDemon 등의 RSS 구독기 또한 점차 넓게 사용되고 있습니다. 여기서는 이러한 XML RSS 를 구현하는 방법을 ASP 기반에서 XML 컴포넌트를 이용하여 구현하고자 합니다.
사실 RSS 를 구현할때 사실 단순히 텍스트 파일로 뿌려주고 ContentType 만 xml 로 선언해줘도 가능합니다. 그러나 조금은 다르게 해보고 싶다는 저의 호기심도 있고, 확장성과 향후 유지보수에 조금이라도 더 손쉽게 하기위해서 윈도우즈 2000 에 기본제공되어 있는 XML 관련 컴포넌트를 이용하여 구현해보았습니다. 물론 아래 소스는 지금 제 블로그 RSS 의 원형이 되고 있습니다.
한가지 주의 하실점은 XML 선언전에 어떠한 개행( ) 이나 문자가 들어가서는 안됩니다. PHP 에서의 쿠키과 마찬가지 입니다.
< ?xml version="1.0" encoding="EUC-KR" ? >
< %
Response.ContentType = "text/xml"
Set xmlPars = Server.CreateObject("Msxml2.DOMDocument")
' 여기서 부터 rss 정보를 담는다.
Set rss = xmlPars.CreateElement("rss")
rss.setAttribute "version", "2.0"
rss.setAttribute "xmlns:dc", "http://purl.org/dc/elements/1.1/"
rss.setAttribute "xmlns:sy", "http://purl.org/rss/1.0/modules/syndication/"
rss.setAttribute "xmlns:admin", "http://webns.net/mvcb/"
rss.setAttribute "xmlns:rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlPars.AppendChild(rss)
'< channel> 시작
Set Channel = xmlPars.CreateElement("channel")
rss.AppendChild(Channel)
'< title>정보
Set title = xmlPars.CreateElement("title")
Channel.AppendChild(title)
Channel.childnodes(0).text = "블로그 제목"
'< dc:language>정보
Set language = xmlPars.CreateElement("dc:language")
Channel.AppendChild(language)
Channel.childnodes(3).text = "ko"
'< image>정보
Set image = xmlPars.CreateElement("image")
Channel.AppendChild(image)
'이미지 정보에 들어갈 것들
set i_title = xmlPars.CreateElement("title")
set i_url = xmlPars.CreateElement("url")
set i_width = xmlPars.CreateElement("width")
set i_height = xmlPars.CreateElement("height")
image.childnodes(0).text = "이미지 제목"
image.childnodes(1).text = "이미지 경로"
image.childnodes(2).text = "이미지 가로 사이즈"
image.childnodes(3).text = "이미지 세로 사이즈"
' 여기서 부터는 포스트에 대해서 출력
' 우선 데이터를 읽어오자
SQL = "해당되는 포스트에 대한 쿼리문"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL,접근문자열,adOpenForwardOnly,adLockPessimistic,adCmdText
' 여기서 부터 루프를 돌리자.
Do until rs.EOF
' 이라는 노드를 추가
Set item = xmlPars.CreateElement("item")
Channel.AppendChild(item)
' 여기서부터 해당 포스트의 세부 정보를 출력
set title = xmlPars.CreateElement("title") '
set link = xmlPars.CreateElement("link")
set description = xmlPars.CreateElement("description")
set dcdate = xmlPars.CreateElement("dc:date")
set dcsubject = xmlPars.CreateElement("dc:subject")
Step 3: Set the library loading path in your environment to the directory in Step 2 ("instantclient"). On many UNIX platforms, LD_LIBRARY_PATH is the appropriate environment variable. On Windows, PATH should be used.
시스템 환경변수를 설정하여준다.
기본 PATH에 추가: C:\WINDOWS\SYSTEM32\DRIVER\instantclient
환경변수 "TNS_ADMIN" 추가: C:\WINDOWS\system32\drivers\instantclient\
(TNS_ADMIN의 값은 Step4의 TNSNAMES.ORA파일의 위치를 지정한다.)
오래오래 참고
기다리는 법을 배우고 싶거든
차를 마셔요, 우리
뜻대로만 되지 않는 세상일들
혼자서 만들어 내는 쓸쓸함
남이 만들어 준 근심과 상처들을
단숨에 잊을 순 없어도
노여움을 품지 않을 수 있는
용기를 배우며 함께 차를 마셔요.
- 이해인의《다른 옷은 입을 수가 없네》에 실린
시 <차를 마셔요, 우리> 중에서 -
* 마음의 여유가 사라져가는 요즈음입니다.
기쁨도, 슬픔도, 자신이 만들어 내는 것이라는 생각이 듭니다.
다른 사람이 무심코 던진 말들이나 행동들로 말미암아
가슴 아플 때 마음을 열고 얘기 나눌 벗이 있다면
세상은 두렵지 않을 것 같네요.
차 한 잔 나누며...여유를 가져보고 싶네요.
사람의 치유에 가장 좋은 진동수는
자연 에너지의 진동수이다. 두통이나 소화불량,
걱정, 긴장감이 들 때마다 땅 위에 앉거나 서거나 누워보자.
하루 일을 마친 뒤에도, 힘든 자동차 여행을 마친 뒤에도,
이런 훈련으로 마음을 평온하게 다스려보자.
등이든 엉덩이든 발이든 몸의 불편한 부위가
땅과 만나는 느낌에 집중하는 것이다.
우리의 작은 에너지가 대지의 커다란 에너지와
공명을 일으켜 건강한 대지의 에너지를 닮아갈 것이다.
- 워렌 그로스맨의《땅 에너지를 이용한 자연 치유》중에서 -
* 모든 것은 땅에서 비롯됩니다.
생명도 에너지도 땅에서 시작됩니다.
그러나 불행하게도 땅을 잊고, 잃어버린지 오래입니다.
그로부터 몸과 마음의 병이 생겨 깊어가고 있습니다.
이제라도 땅을 자주자주 만나야 합니다. 그래야
땅도 살고 사람도 건강하게 삽니다.
만족스러워 하는 고객이야말로 사실은
회사의 최대의 적이다.
만족스러워 하는 고객은 경쟁사에 뒤지지 않도록
끊임없이 노력해야 한다는 사실을 상기시켜 주지 않는다.
그러다 어느 날엔가는 마침내 경쟁사가 당신의 회사를 앞지르고,
고객들이 말없이 떠나가는 불미스러운 사태가 발생한다.
- 세스 고딘, ’보랏빛 소가 온다2‘에서
만족스러워하는 고객은 불평을 하지 않고 제때에 돈을 냅니다.
성공적인 회사들은 만족스러워 하는 고객에 집착해
지금의 상태를 그대로 유지하려고 합니다.
바로 그것이 문제입니다.
성장의 원동력은 다름 아닌 불만족스러워하는 고객,
혹은 덜 만족스러운 고객으로부터 나오는 것입니다.
그들은 해결책을 발견하기만 하면 즉시 지갑을 열게 됩니다.
친구끼리 애인끼리
혹은 부모자식 간에 헤어지기 전
잠시 멈칫대며 옷깃이나 등의 먼지를 털어주는 척하는
일이 중요한 것은, 먼지가 정말 털려서가 아니라
아무렇지도 않은 듯한 손길에 온기나 부드러움,
사랑하는 이의 뒷모습까지 아름답기를 바라는
착한 마음을 실을 수 있기 때문이
아닐런지요.
- 박완서의《호미》중에서 -
* 사랑은 표현입니다.
그저 내 마음 알아주려니, 속으로만 품지 말고
표현해야 합니다. 거창하거나 화려하지 않아도 됩니다.
때로는 먼지터는 시늉만으로도 충분합니다.
그 작은 손짓에 큰 사랑이 묻어납니다.
표현을 해야 사랑이 자라납니다.