Я полный новичок в xslt
. Я пытаюсь придумать трансформации, что делает незначительные изменения в исходный XML-документ, например, из:Несколько незначительных изменений в исходном XML-документе
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns:xliff="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
<file>
<trans-unit>
<source>Kodiak1 [[Name]]</source>
<target></target>
</trans-unit>
</file>
</xliff>
к:
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns:xliff="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
<file>
<trans-unit>
<source>Kodiak1 [[Name]]</source>
<target>Kodiak1 <ph>Name</ph></target>
</trans-unit>
</file>
</xliff>
До сих пор я придумал:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="target">
<target>
<xsl:value-of select="preceding-sibling::source" />
</target>
</xsl:template>
</xsl:stylesheet>
которая копирует текст из <source>
узла к узлу <target>
, но теперь я застрял - не в последнюю очередь потому, что, если я добавлю еще один <xsl:template match="...">
он совпадает с исходным (например, п ot по новому тексту - можете ли вы сказать мне, каким должен быть следующий шаг?
это превосходно, спасибо. Можно ли подавить ' ' в том случае, если не существует '[[...]]'? –
@JackDouglas: Добро пожаловать. Да, возможно, подавление «ph» - я скоро верну свой ответ. –
@JackDouglas: Я обновил свой ответ. –