Проверьте, есть ли узел существует с использованием XSLT

Для начала я хотел бы спросить , есть ли разница между следующими двумя операторами для узлов XML:

  1. проверяет, является ли узел пустым;
  2. проверяет, является ли узел существует или нет;

Предположим, у меня есть XML-файл, подобный этому:

<claim_export_xml>
<claim_export_xml_row>
    <claim_number>37423</claim_number>
    <total_submitted_charges>0</total_submitted_charges>
    <patient_control_no/>

    <current_onset_date>2009-06-07 00:00:00</current_onset_date>

и я хочу проверить, существует ли узел "current_onset_date" или нет, я использовал следующий XSLT:

<xsl:for-each select="claim_export_xml_row ">
       <xsl:if test="claim_number =$mother_claim_no and /current_onset_date "> 

Цикл for-each немного логика, с которой я должен мириться, чтобы цикл работал. Но я действительно получил неправильный результат после запуска этого XSLT, приведенные выше данные xml не будут захвачены моим XSLT. Но я также не думаю, что использование «current_onset_date = ''» правильно, поскольку оно проверяет, «не содержит ли current_onset_date ничего».

Может ли кто-нибудь сказать мне, где моя ошибка, а также помочь мне с моим вопросом, перечисленным в начале, спасибо!

6
задан Kevin 14 January 2011 в 18:26
поделиться