messier 페이지에 type icon 표시 추가
메시에 페이지에 가면 메시에 DB가 있다.
테이블 보기에서는 모든 정보가 보이지만,
촬영 시기별 보기나, 촬영 장비별 보기에서는 대상이 은하인지, 성운인지 알 방법이 없어서,
모든 대상 옆에 icon을 붙였다.
각 대상은 다음과 같다.
- 행성상 성운/초신성 잔해물 :

- 성운 :

- 은하 :

- 산개 성단 :

- 구상 성단 :

- 이중성, 성군(星群), 기타 :

(icon 이미지는 천문노트에 있는 별 있는거 안에 있는 이미지를 편집해서 사용했다.
이 글을 쓰고나서 제작자의 양해를 구해야지…)
messier페이지는 서버에서 html로 렌더링 해서 뿌리기 때문에, 소스보기해도 알 방법은 없지만,
현재는 messier DB를 xml 로 저장해서
<object> <num>M1</num> <ngc>NGC1952</ngc> <const>Taurus</const> <constabbr>Tau</constabbr> <type>Supernova Remnant</type> <subtype>-</subtype> <ra>05 34.5</ra> <dec>+22 01</dec> <mag>8.4</mag> <diameter>6</diameter> <distance>6.3</distance> <desc>Crab Nebula</desc> </object>
xslt를 여러개 만들어서 각 보기마다 실시간으로 렌더링해서 html을 생성하는 구조이다.
이를 위해서 <xsl:choose><xsl:when>을 사용했다.
아래 소스는 xslt 안에 있는 type에 대한 <xsl:template>이다.
<xsl:template match="type"> <xsl:choose> <xsl:when test="contains(.,'Open Cluster')"> <img src="/images/deepskyicon/OpenCluster.png"/> </xsl:when> <xsl:when test="contains(.,'Galaxy')"> <img src="/images/deepskyicon/Galaxy.png"/> </xsl:when> <xsl:when test="contains(.,'Globular Cluster')"> <img src="/images/deepskyicon/GlobularCluster.png"/> </xsl:when> <xsl:when test="contains(.,'Nebula')"> <img src="/images/deepskyicon/DiffuseNebular.png" /> </xsl:when> </xsl:when> <xsl:otherwise> <img src="/images/deepskyicon/BinaryStar.png" /> </xsl:otherwise> </xsl:choose> </xsl:template>
몇가지 패턴을 알수 있다.