xsl-копия возвращает пустое значение для дочерних узлов

у меня есть полезная нагрузка xml с этой структурой:

<tran:publish xmlns:tran="http://xmlns.oracle.com/apps/otm/TransmissionService">
 <Transmission xmlns="">
  <TransmissionHeader>
  </TransmissionHeader>
  <TransmissionBody>
  </TransmissionBody>
</<Transmission>
</tran:publish>

я пытаюсь скопировать тег со всеми его дочерними узлами как есть, и я использую метод копирования, проблема в том, что он возвращает пустой

а это код для xsl

 <ns59:echoAny xml:id="id_51">
   <ns59:xml xml:id="id_52">
     <xsl:copy-of xml:id="id_53" select="/nssrcmpr:publish/otm:Transmission"/>
   </ns59:xml>
 </ns59:echoAny>

но если ввести только /nssrcmpr:publish, то он будет скопирован, как и все дочерние значения

в чем проблема ?


person osfar    schedule 07.09.2020    source источник
comment
Покажите минимально воспроизводимый пример, а не фрагменты кода, вырванные из контекста. Мы не видим ваших объявлений пространств имен, и вы используете префикс для Transmission, который во входных данных не является пространством имен и должен быть выбран без префикса.   -  person michael.hor257k    schedule 07.09.2020


Ответы (1)


Вероятно, проблема с пространством имен. Элемент Transmission не находится в пространстве имен, но вы выбираете их с префиксом otm.

person Michael Kay    schedule 07.09.2020