123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
- <xsl:template match="/">
- <xsl:variable name="master_xml">
- <xsl:copy-of select="document('phrase_en.xml')/*"/>
- </xsl:variable>
- <xsl:variable name="current_xml">
- <xsl:copy-of select="*"/>
- </xsl:variable>
- <xsl:apply-templates select="$master_xml" mode="checkElements">
- <xsl:with-param name="current_xml" select="$current_xml/*"/>
- </xsl:apply-templates>
- </xsl:template>
- <xsl:template match="en" mode="checkElements">
- <xsl:param name="current_xml"/>
- <xsl:copy>
- <xsl:attribute name="translated-to" select="name($current_xml)"/>
- <xsl:apply-templates select="@*|node()" mode="#current">
- <xsl:with-param name="current_xml" select="$current_xml/*"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
- <xsl:template match="prompt" mode="checkElements">
- <xsl:param name="current_xml"/>
- <xsl:variable name="translation"
- select="$current_xml[@filename=current()/@filename]/@phrase"/>
- <xsl:copy>
- <xsl:apply-templates select="@*" mode="#current"/>
- <xsl:choose>
- <xsl:when test="count($translation)=0">
- <xsl:attribute name="translated" select="false()"/>
- </xsl:when>
- <xsl:when test="@phrase = $translation">
- <xsl:attribute name="translated" select="false()"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="translated-to" select="$translation[1]"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="count($translation) > 1">
- <xsl:attribute name="more-then-one-translation" select="true()"/>
- </xsl:if>
- </xsl:copy>
- </xsl:template>
- <xsl:template match="@*|node()" mode="checkElements">
- <xsl:param name="current_xml"/>
- <xsl:copy>
- <xsl:apply-templates select="@*|node()" mode="#current">
- <xsl:with-param name="current_xml" select="$current_xml/*"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
- </xsl:stylesheet>
|