다음 이전 차례

10. Cocoon 1.8 기타사항

10.1 Cocoon 1.8 의 euc-kr Encoding

cocoon에서 한글을 보기 위해 $TOMCAT_HOME/webapps/cocoon/WEB-INF/cocoon.properties을 수정해야 한다. vi 로 cocoon.properties를 열고 XML Formatters 부분에 있는 HTML 4.0(strict) 부분을 수정하면 된다. 다음은 예이다.

# HTML 4.0 (strict)
formatter.text/html.doctype-public = ...
formatter.text/html.doctype-system = ...

위의 부분을 찾아서 아래의 라인을 추가하면 된다.

formatter.text/html.encoding = euc-kr

즉, 다음처럼 추가하면 된다.

# HTML 4.0 (strict)
formatter.text/html.doctype-public = ...
formatter.text/html.doctype-system = ...
formatter.text/html.encoding = euc-kr

위의 한글 문제를 해결하기 위해 엄청난 삽질을 했다. 아파치 등의 사이트의 메일링 리스트등을 찾아보면 formatter.text/html/loose 부분을 수정하라고 나와 있었기 때문인데..

혹시 이부분에 대해 다른 대안이나 방법을 알고 있다면 필자 (nogadax@kldp.org)에게 메일을 보내주었으면 한다.

10.2 간단한 xml 만들기

이분은 그렇게 권장할 만한 부분이 아니다. 필자가 만든 간단한 예제가 있어 그냥 올려 놓은 것이므로 관심있는 분만 참조하기 바란다.

아래의 예제를 테스트하기 위해 $TOMCAT_HOME/webapps/cocoon/servlets/ngd 디렉토리를 만들었다. 테스트를 목적으로 작성한 파일은 두개이며 ngd-book.xml 과 ngd-book.xsl 이다. ngd-book.xml은 간단한 xml 파일이며 ngd-book.xsl 파일은 xml 문서를 브라우져에 디스플레이하기 위한 파일이다.

테스트를 위한 URL은 http://210.110.1xx.xx6/cocoon/servlets/ngd/ngd-book.xml 이다.

다음은 간단한 예제이다.


<?xml version="1.0" encoding="euc-kr"?>
<?xml-stylesheet href="ngd-book.xsl" type="text/xsl"?>
<?cocoon-process type="xslt"?>
<!DOCTYPE ngd-book [
 <!ELEMENT ngd-book (title?, name, dt, abstract, sect1)>
 <!ELEMENT title (#PCDATA)>
 <!ELEMENT name (#PCDATA)>
 <!ELEMENT dt (#PCDATA)>
 <!ELEMENT abstract (#PCDATA)>
 <!ELEMENT sect1 (#PCDATA)>
]>

<ngd-book>
 <title>Hello</title>
 <name>nogadax</name>
 <dt>/2000/11/11</dt>
 <abstract>Tomcat은 The Jakarta Project의 산물이며 홈페이지는 
 http://jakarata.apache.org 이다. Jakarta Project의 목표는 
 오픈 소스화되어 개발된 Java 플랫폼을 기반으로 하여 상용 품질의 
 서버 솔루션을 제공하기 위함이다. 기타 XML 관련 패키지인 
 cocoon 의 홈 페이지는 http://xml.apache.org이다. Cocoon은 
 XML 파일을 서버측에서 처리하여 이를 브라우져에 보여주는
 패키지로 서ㄹ치가 간편하다.
 </abstract>
 <sect1>
 Tomcat은 The Jakarta Project의 산물이며 홈페이지는 
 http://jakarata.apache.org 이다. Jakarta Project의 목표는 
 오픈 소스화되어 개발된 Java 플랫폼을 기반으로 하여 상용 품질의 
 서버 솔루션을 제공하기 위함이다. 기타 XML 관련 패키지인 
 cocoon 의 홈 페이지는 http://xml.apache.org이다. Cocoon은 XML 
 파일을 서버측에서 처리하여 이를 브라우져에 보여주는
 패키지로 서ㄹ치가 간편하다.
 </sect1>
</ngd-book>

<?xml version="1.0" encoding="euc-kr"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="ngd-book">
   <xsl:processing-instruction name="cocoon-format">type="text/html"</xsl:processing-instruction>
   <html>
    <head>
     <title>
      <xsl:value-of select="title"/>
     </title>
    </head>
    <body bgcolor="#ffffff">
      <xsl:apply-templates/>
    </body>
   </html>
  </xsl:template>

  <xsl:template match="title">
   <h2>
    <xsl:apply-templates/>
   </h2>
  </xsl:template>

  <xsl:template match="name">
    <h3>
      <xsl:apply-templates/>
    </h3>
  </xsl:template>

  <xsl:template match="dt">
    <h4>
      <xsl:apply-templates/>
    </h4>
  </xsl:template>
  <xsl:template match="abstract">
    <hr/>
    <p>
    <i>
      <xsl:apply-templates/>
    </i>
    </p>
    <hr/>
  </xsl:template>
  <xsl:template match="sect1">
    <p>
      <xsl:apply-templates/>
    </p>
  </xsl:template>

</xsl:stylesheet>


다음 이전 차례