Это должно быть просто, но я не могу это понять. У меня есть файлы XML, содержащие некоторые пустые узлы, которые я хочу заменить фиксированной строкой через XSL. Если узел содержит данные, которые он хорошо, но если он пуст, я хочу, чтобы заменить его в строку «18010101»XSL Замена пустого узла данными
Для примера:
До:
<?xml version="1.0"?>
<TopNode>
<SubNode1>
<SubNode2>
<SubNode3>
<SubNode4>
<date_of_birth></date_of_birth>
</SubNode4>
</SubNode3>
</SubNode2>
</SubNode1>
</TopNode>
После:
<?xml version="1.0"?>
<TopNode>
<SubNode1>
<SubNode2>
<SubNode3>
<SubNode4>
<date_of_birth>18010101</date_of_birth>
</SubNode4>
</SubNode3>
</SubNode2>
</SubNode1>
</TopNode>
У меня есть аналогичная проблема, когда я заменяю фиксированное значение другим фиксированным значением с помощью xsl.
<xsl:template match="transaction_type[text()='15']">
<xsl:text>5</xsl:text>
</xsl:template>
Он отлично работает, но когда я пытаюсь сделать аналогичное исправление для выпуска дата не похоже на работу.
<xsl:template match="date_of_birth">
<xsl:if test="date_of_birth = ''">
<xsl:text>18010101</xsl:text>
</xsl:if>
</xsl:template>
Благодаря
не забудьте принять ответы – Hash