Я создаю файлы XML и использую XSLT для удаления любых пустых тегов или атрибутов.Как удалить пустой атрибут
Я недавно запустил модификацию, где мне нужно сохранить определенный атрибут, даже если он пустой/null.
Вот XLST я использовал:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes" />
<xsl:template match="@*|node()">
<xsl:if test=". != ''">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Ниже то, что мой XML раздел должен выглядеть следующим образом.
<patientClinical noClinicalData="">
<orgFacilityCode>000200</orgFacilityCode>
<orgPatientId>123456</orgPatientId>
</patientClinical>
Я хочу сохранить атрибут noClinicalData, независимо от его значения. В настоящее время, если оно равно нулю или пуст, мой XLST удаляет его и просто оставить
<patientClinical>
<orgFacilityCode>000200</orgFacilityCode>
<orgPatientId>123456</orgPatientId>
</patientClinical>
Это единственный атрибут, я хотел бы сохранить. В другом месте моего XML, если другие атрибуты пусты/null, я хочу, чтобы они были удалены. Есть ли способ изменить мой шаг XLST, чтобы пропустить этот атрибут?
Спасибо за помощь заранее.
Спасибо за быстрый ответ и рабочего раствора! – Upstart
@Upstart приветствую вас! –