successfully switched to ann_morpho for morpho.xml; next step: cleanup + more info in morpho descriptions
Change-Id: I940dc734420b691409248ddd675c68d422d7c092
diff --git a/nkjp2korap.xsl b/nkjp2korap.xsl
index 2ea77af..d2d8bc0 100644
--- a/nkjp2korap.xsl
+++ b/nkjp2korap.xsl
@@ -459,14 +459,12 @@
/>
</xsl:call-template>
-<!-- <xsl:call-template name="create_morpho">
+ <xsl:call-template name="create_morpho">
<xsl:with-param name="compoundID" select="$compoundID" as="xs:string"/>
- <xsl:with-param name="ann_segmentation.xml" select="$ann_segmentation.xml"
- as="document-node()"/>
<xsl:with-param name="ann_morphosyntax.doc" select="$ann_morphosyntax.doc"
as="document-node()"/>
<xsl:with-param name="target" select="$targetBaseDir || '/nkjp/morpho.xml'" as="xs:string"/>
- </xsl:call-template>-->
+ </xsl:call-template>
<!--
@@ -623,7 +621,6 @@
<xsl:template name="create_morpho">
<xsl:param name="compoundID" as="xs:string"/>
- <xsl:param name="ann_segmentation.xml" as="document-node()"/>
<xsl:param name="ann_morphosyntax.doc" as="document-node()"/>
<xsl:param name="target" as="xs:string"/>
@@ -635,28 +632,26 @@
<xsl:attribute name="version" select="$KorAP-XML_version"/>
<xsl:element name="spanList" namespace="{$KorAP_namespace}">
- <xsl:apply-templates select="$ann_segmentation.xml//tei:text" mode="morpho">
- <xsl:with-param name="ann_morphosyntax.doc" select="$ann_morphosyntax.doc" as="document-node()" tunnel="yes"/>
- </xsl:apply-templates>
+ <xsl:apply-templates select="$ann_morphosyntax.doc//tei:text" mode="morpho"/>
</xsl:element>
</xsl:element>
</xsl:result-document>
</xsl:template>
- <xsl:template match="tei:seg" mode="morpho">
- <xsl:param name="ann_morphosyntax.doc" as="document-node()" tunnel="yes"/>
+ <xsl:template match="tei:seg[tei:fs/tei:f[@name eq 'disamb']]" mode="morpho">
+
<!-- it's so spread out because I wanted to make sure to be able to look up the individual
constituent values, should anything go wrong; it might get compacted at some point, but
the increase in efficiency will probably be minimal, compared to the decrease of readability -->
<xsl:variable name="offsets" as="xs:integer+">
- <xsl:sequence select="map:get(fn:accumulator-after('segmentation-offsets')[last()], string(@xml:id))"/>
+ <xsl:sequence select="map:get(fn:accumulator-after('morpho-offsets')[last()], string(@xml:id))"/>
</xsl:variable>
- <xsl:variable name="my_name" select="local-name()" as="xs:string"/>
+
<xsl:variable name="my_id" select="@xml:id" as="xs:string"/>
- <xsl:variable name="my_morph-seg" as="node()" select="$ann_morphosyntax.doc//tei:seg[substring-after(@corresp,'#') eq $my_id]"/>
- <xsl:variable name="my_disamb" select="$my_morph-seg//tei:fs/tei:f[@name eq 'disamb']" as="node()"/>
+ <!--<xsl:variable name="my_morph-seg" as="node()" select="$ann_morphosyntax.doc//tei:seg[substring-after(@corresp,'#') eq $my_id]"/>-->
+ <xsl:variable name="my_disamb" select="tei:fs/tei:f[@name eq 'disamb']" as="node()"/>
<xsl:variable name="my_choice-id" select="substring-after($my_disamb//tei:f[@name eq 'choice']/@fVal,'#')" as="xs:string"/>
- <xsl:variable name="my_choice-lex" select="$my_morph-seg//tei:f[@name eq 'interps']/tei:fs[@type eq 'lex'][descendant::tei:symbol[@xml:id eq $my_choice-id]]" as="node()"/>
+ <xsl:variable name="my_choice-lex" select="tei:fs/tei:f[@name eq 'interps']/tei:fs[@type eq 'lex'][descendant::tei:symbol[@xml:id eq $my_choice-id]]" as="node()"/>
<xsl:variable name="chosen-msd" as="xs:string" select="$my_choice-lex/descendant::tei:symbol[@xml:id eq $my_choice-id]/@value"/>
<xsl:variable name="my_index" select="fn:accumulator-before('element-index')" as="xs:integer"/>
@@ -669,7 +664,11 @@
<xsl:attribute name="type" select="'lex'"/>
<xsl:element name="f" namespace="http://www.tei-c.org/ns/1.0">
<xsl:attribute name="name" select="'lex'"/>
- <xsl:comment select="(if(@nkjp:nps) then ' ' else '_') || $my_morph-seg//tei:fs/tei:f[@name eq 'orth']/tei:string"/>
+ <xsl:comment select="
+ (if (tei:fs/tei:f[@name eq 'nps']) then
+ ' '
+ else
+ ' _') || tei:fs/tei:f[@name eq 'orth']/tei:string"/>
<xsl:element name="fs" namespace="http://www.tei-c.org/ns/1.0">
<xsl:element name="f" namespace="http://www.tei-c.org/ns/1.0">
<xsl:attribute name="name" select="'lemma'"/>
@@ -685,7 +684,7 @@
<xsl:value-of select="$chosen-msd"/>
</xsl:element>
</xsl:if>
- <xsl:if test="$my_morph-seg//tei:fs/tei:f[@name eq 'nps']">
+ <xsl:if test="tei:fs/tei:f[@name eq 'nps']">
<xsl:element name="f" namespace="http://www.tei-c.org/ns/1.0">
<xsl:attribute name="name" select="'join'"/>
<xsl:value-of select="'left'"/>
@@ -753,7 +752,7 @@
(if (tei:fs/tei:f[@name eq 'nps']) then
' '
else
- '_') || tei:fs/tei:f[@name eq 'orth']/tei:string"/>
+ ' _') || tei:fs/tei:f[@name eq 'orth']/tei:string"/>
<xsl:element name="fs" namespace="http://www.tei-c.org/ns/1.0">
<xsl:element name="f" namespace="http://www.tei-c.org/ns/1.0">
<xsl:attribute name="name" select="'complex-ent'"/>