[gtalk-dev 0007] CVS update: chaone

Back to archive index

galat****@lists***** galat****@lists*****
2006年 10月 22日 (日) 14:48:18 JST


Index: chaone/pos_sys.xml
diff -u /dev/null chaone/pos_sys.xml:1.1
--- /dev/null	Sun Oct 22 14:48:18 2006
+++ chaone/pos_sys.xml	Sun Oct 22 14:48:18 2006
@@ -0,0 +1,144 @@
+<psys>
+  <pos name="名詞">
+    <pos name="名詞-普通名詞" add="-一般"/>
+    <pos name="名詞-固有名詞" add="-一般"/>
+    <pos name="名詞-数詞" add="-一般"/>
+  </pos>
+  <pos name="代名詞"/>
+  <pos name="形状詞" add="-一般"/>
+  <pos name="連体詞"/>
+  <pos name="副詞"/>
+  <pos name="接続詞"/>
+  <pos name="æ„Ÿå‹•è©ž"/>
+  <pos name="動詞" add="-一般"/>
+  <pos name="形容詞" add="-一般"/>
+  <pos name="助動詞"/>
+  <pos name="助詞">
+    <pos name="助詞-格助詞" add="-一般"/>
+    <pos name="助詞-副助詞"/>
+    <pos name="助詞-係助詞"/>
+    <pos name="助詞-接続助詞"/>
+    <pos name="助詞-終助詞"/>
+    <pos name="助詞-準体助詞"/>
+  </pos>
+  <pos name="接頭辞" add="-名詞接続-一般"/>
+  <pos name="接尾辞">
+    <pos name="接尾辞-名詞的" add="-一般"/>
+    <pos name="接尾辞-形状詞的"/>
+    <pos name="接尾辞-動詞的"/>
+    <pos name="接尾辞-形容詞的"/>
+  </pos>
+  <pos name="記号" add="-一般"/>
+  <pos name="補助記号" add="-一般"/>
+  <ctype name="五段">
+    <ctype name="五段-カ行" add="-一般-一般"/>
+    <ctype name="五段-ガ行" add="-一般"/>
+    <ctype name="五段-サ行"/>
+    <ctype name="五段-タ行"/>
+    <ctype name="五段-ナ行"/>
+    <ctype name="五段-バ行"/>
+    <ctype name="五段-マ行" add="-一般"/>
+    <ctype name="五段-ラ行" add="-一般"/>
+    <ctype name="五段-ワア行" add="-ア段-一般"/>
+  </ctype>
+  <ctype name="上一段">
+    <ctype name="上一段-ア行" add="-一般"/>
+    <ctype name="上一段-カ行"/>
+    <ctype name="上一段-ガ行"/>
+    <ctype name="上一段-ザ行"/>
+    <ctype name="上一段-タ行"/>
+    <ctype name="上一段-ナ行"/>
+    <ctype name="上一段-ハ行"/>
+    <ctype name="上一段-バ行"/>
+    <ctype name="上一段-マ行"/>
+    <ctype name="上一段-ラ行" add="-一般"/>
+  </ctype>
+  <ctype name="下一段">
+    <ctype name="下一段-ア行" add="-一般"/>
+    <ctype name="下一段-カ行"/>
+    <ctype name="下一段-ガ行"/>
+    <ctype name="下一段-サ行" add="-一般"/>
+    <ctype name="下一段-ザ行"/>
+    <ctype name="下一段-タ行"/>
+    <ctype name="下一段-ダ行"/>
+    <ctype name="下一段-ナ行"/>
+    <ctype name="下一段-ハ行"/>
+    <ctype name="下一段-バ行"/>
+    <ctype name="下一段-マ行"/>
+    <ctype name="下一段-ラ行" add="-一般"/>
+  </ctype>
+  <ctype name="カ行変格" add="-一般"/>
+  <ctype name="サ行変格" add="-為ル"/>
+  <ctype name="文語四段">
+    <ctype name="文語四段-カ行"/>
+    <ctype name="文語四段-ガ行"/>
+    <ctype name="文語四段-サ行"/>
+    <ctype name="文語四段-タ行"/>
+    <ctype name="文語四段-ハ行" add="-ア段-カウ-一般"/>
+    <ctype name="文語四段-バ行"/>
+    <ctype name="文語四段-マ行"/>
+    <ctype name="文語四段-ラ行"/>
+  </ctype>
+  <ctype name="文語上二段">
+    <ctype name="文語上二段-カ行"/>
+    <ctype name="文語上二段-ガ行"/>
+    <ctype name="文語上二段-タ行"/>
+    <ctype name="文語上二段-ダ行"/>
+    <ctype name="文語上二段-ハ行"/>
+    <ctype name="文語上二段-バ行"/>
+    <ctype name="文語上二段-マ行"/>
+    <ctype name="文語上二段-ヤ行"/>
+    <ctype name="文語上二段-ラ行"/>
+  </ctype>
+  <ctype name="文語下二段">
+    <ctype name="文語下二段-ア行" add="-一般"/>
+    <ctype name="文語下二段-カ行"/>
+    <ctype name="文語下二段-ガ行"/>
+    <ctype name="文語下二段-サ行"/>
+    <ctype name="文語下二段-ザ行"/>
+    <ctype name="文語下二段-タ行"/>
+    <ctype name="文語下二段-ダ行" add="-一般"/>
+    <ctype name="文語下二段-ナ行" add="-一般"/>
+    <ctype name="文語下二段-ハ行" add="-一般"/>
+    <ctype name="文語下二段-バ行"/>
+    <ctype name="文語下二段-マ行"/>
+    <ctype name="文語下二段-ヤ行"/>
+    <ctype name="文語下二段-ラ行"/>
+    <ctype name="文語下二段-ワ行"/>
+  </ctype>
+  <ctype name="文語カ行変格" add="-一般"/>
+  <ctype name="文語サ行変格" add="-ス"/>
+  <ctype name="文語ナ行変格"/>
+  <ctype name="文語ラ行変格"/>
+  <ctype name="形容詞" add="-ア段-カイ-一般"/>
+  <ctype name="文語形容詞-ク"/>
+  <ctype name="文語形容詞-シク"/>
+  <ctype name="助動詞" add="-ジャ"/>
+  <ctype name="文語助動詞" add="-キ"/>
+  <cform name="語幹" add="-一般"/>
+  <cform name="未然形">
+    <cform name="未然形-一般"/>
+    <cform name="未然形-撥音便"/>
+  </cform>
+  <cform name="意志推量形" add="-一般"/>
+  <cform name="連用形">
+    <cform name="連用形-一般"/>
+    <cform name="連用形-イ音便"/>
+    <cform name="連用形-ウ音便"/>
+    <cform name="連用形-促音便"/>
+    <cform name="連用形-撥音便"/>
+    <cform name="連用形-融合"/>
+  </cform>
+  <cform name="基本形">
+    <cform name="基本形-一般"/>
+    <cform name="基本形-促音便"/>
+    <cform name="基本形-撥音便"/>
+  </cform>
+  <cform name="連体形" add="-一般"/>
+  <cform name="仮定形">
+    <cform name="仮定形-一般"/>
+    <cform name="仮定形-融合"/>
+  </cform>
+  <cform name="已然形" add="-一般"/>
+  <cform name="命令形" add="-一般"/>
+</psys>
Index: chaone/postp.xsl
diff -u /dev/null chaone/postp.xsl:1.1
--- /dev/null	Sun Oct 22 14:48:18 2006
+++ chaone/postp.xsl	Sun Oct 22 14:48:18 2006
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+
+<!-- XSLT stylesheet for ChaOne              -->
+<!--                     for msxml and exslt -->
+<!--                            ver. 1.3.0a2 -->
+<!--  (4) postprocessing                      -->
+<!--                2006-10-20 by Studio ARC -->
+<!-- Copyright (c) 2004-2006 Studio ARC      -->
+
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:exsl="http://exslt.org/common"
+  xmlns:msxml="urn:schemas-microsoft-com:xslt"
+  xmlns:ext="http://exslt.org/common"
+  exclude-result-prefixes="exsl msxml ext"
+  version="1.0"
+  xml:lang="ja">
+
+  <xsl:output method="xml" encoding="Shift_JIS" omit-xml-declaration="yes" indent="yes"/>
+
+  <xsl:variable name="pos_sys" select="document('pos_sys.xml')"/>
+  <xsl:key name="r_pos" match="pos" use="@name"/>
+  <xsl:key name="r_cType" match="ctype" use="@name"/>
+  <xsl:key name="r_cForm" match="cform" use="@name"/>
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="*">
+    <xsl:copy>
+      <xsl:copy-of select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+
+  </xsl:template>
+
+  <xsl:template match="S">
+    <xsl:copy>
+      <xsl:apply-templates mode="postp"/>
+    </xsl:copy>
+
+  </xsl:template>
+
+  <xsl:template match="*" mode="postp">
+    <xsl:element name="{name()}">
+      <xsl:for-each select="@*">
+        <xsl:call-template name="reduce_psys_val"/>
+      </xsl:for-each>
+      <xsl:apply-templates mode="postp"/>
+    </xsl:element>
+
+  </xsl:template>
+
+  <xsl:template match="W1" mode="postp">
+    <xsl:element name="{name()}">
+      <xsl:for-each select="@*">
+        <xsl:call-template name="reduce_psys_val"/>
+      </xsl:for-each>
+    </xsl:element>
+
+  </xsl:template>
+
+  <xsl:template name="reduce_psys_val">
+    <!-- current() = */@* -->
+    <!-- return reduced value of the attribute -->
+    <xsl:attribute name="{name()}">
+      <xsl:choose>
+        <xsl:when test="(name() = 'pos') or (name() = 'cType') or (name() = 'cForm')">
+          <xsl:call-template name="calc_psys_val">
+            <xsl:with-param name="pre" select="''"/>
+            <xsl:with-param name="org" select="."/>
+            <xsl:with-param name="mode" select="concat('r_', name())"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="."/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template name="calc_psys_val">
+    <xsl:param name="pre"/>
+    <xsl:param name="org"/>
+    <xsl:param name="mode"/>
+    <xsl:variable name="head">
+      <xsl:value-of select="$pre"/>
+      <xsl:call-template name="ext_head">
+        <xsl:with-param name="str" select="$org"/>
+        <xsl:with-param name="delim" select="'-'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="$pos_sys">
+      <xsl:choose>
+        <xsl:when test="key($mode, $head)/child::*">
+          <xsl:call-template name="calc_psys_val">
+            <xsl:with-param name="pre" select="concat($head, '-')"/>
+            <xsl:with-param name="org" select="substring-after($org, '-')"/>
+            <xsl:with-param name="mode" select="$mode"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:when test="key($mode, $head)">
+          <xsl:value-of select="concat($head, key($mode, $head)/@add)"/>
+        </xsl:when>
+        <xsl:when test="string-length($pre) > 0">
+          <xsl:value-of select="concat($pre, '-ˆê”Ê')"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="'unk'"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="ext_head">
+    <xsl:param name="str"/>
+    <xsl:param name="delim"/>
+    <xsl:choose>
+      <xsl:when test="contains($str, $delim)">
+        <xsl:value-of select="substring-before($str, $delim)"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$str"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: chaone/chaone_t_main.xsl
diff -u chaone/chaone_t_main.xsl:1.2 chaone/chaone_t_main.xsl:1.3
--- chaone/chaone_t_main.xsl:1.2	Sun Oct 22 14:42:02 2006
+++ chaone/chaone_t_main.xsl	Sun Oct 22 14:48:18 2006
@@ -2,14 +2,15 @@
 
 <!-- XSLT stylesheet for ChaOne              -->
 <!--                     for msxml and exslt -->
-<!--                            ver. 1.3.0a1 -->
+<!--                            ver. 1.3.0a2 -->
 <!--                        for UniDic 1.2.0 -->
 <!-- ChaOne consists of the followings;      -->
 <!--  (0) preprocessing                      -->
 <!--  (1) ChaSen Chunker                     -->
 <!--  (2) Phonetic Alternation               -->
 <!--  (3) Accent Combination                 -->
-<!--                2006-10-12 by Studio ARC -->
+<!--  (4) postprocessing                     -->
+<!--                2006-10-20 by Studio ARC -->
 <!-- Copyright (c) 2004-2006 Studio ARC      -->
 
 <!-- This program is based on the product    -->
@@ -38,8 +39,9 @@
   <xsl:import href="chunker.xsl"/>
   <xsl:import href="phonetic.xsl"/>
   <xsl:import href="accent.xsl"/>
+  <xsl:import href="postp.xsl"/>
 
-  <xsl:output method="xml" encoding="EUC-JP" omit-xml-declaration="yes" indent="yes"/>
+  <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>
 
   <xsl:param name="standalone"/>
   <xsl:param name="debug"/>
@@ -59,6 +61,10 @@
   <xsl:variable name="ap_rule" select="document('ap_rule.xml')/ap_rule/rule"/>
   <xsl:variable name="accent_rule" select="document('accent_rule.xml')/aType_rule/rule"/>
   <xsl:variable name="kannjiyomi" select="document('kannjiyomi.xml')/kannjiyomi/char"/>
+  <xsl:variable name="pos_sys" select="document('pos_sys.xml')"/>
+  <xsl:key name="rpos" match="pos" use="@name"/>
+  <xsl:key name="rctype" match="ctype" use="@name"/>
+  <xsl:key name="rcform" match="cform" use="@name"/>
 
   <xsl:template match="/">
     <xsl:if test="$debug">
@@ -98,6 +104,9 @@
             <xsl:with-param name="stack" select="0"/>
           </xsl:apply-templates>
         </xsl:when>
+        <xsl:when test="$standalone = 'ppstp'">
+          <xsl:apply-templates mode="postp"/>
+        </xsl:when>
         <xsl:otherwise>
           <xsl:variable name="preps">
             <preps>
@@ -134,9 +143,12 @@
           <xsl:variable name="ws">
             <xsl:apply-templates select="ext:node-set($pa)/*" mode="preap"/>
           </xsl:variable>
-          <xsl:apply-templates select="ext:node-set($ws)/*[1]" mode="mainap">
-            <xsl:with-param name="stack" select="0"/>
-          </xsl:apply-templates>
+          <xsl:variable name="ap">
+            <xsl:apply-templates select="ext:node-set($ws)/*[1]" mode="mainap">
+              <xsl:with-param name="stack" select="0"/>
+            </xsl:apply-templates>
+          </xsl:variable>
+          <xsl:apply-templates select="ext:node-set($ap)" mode="postp"/>
         </xsl:otherwise>
       </xsl:choose>
     </xsl:copy>


Galateatalk-dev メーリングリストの案内
Back to archive index