XSL-адаптер MobileFirst

Насколько я понял в MobileFirst Adapter Transformation используется XSL.

Мы выводим данные в виде текста, что означает преобразование XML в текст и пересылку через адаптер.

Мой сценарий

  1. Мне нужно анализировать XML только тогда, когда XML содержит некоторые релевантные данные, которые мне нужны, например массив Catalog в приведенном ниже XML, не равный 0.
  2. Если нужных данных нет, я не хочу, чтобы мой XML анализировался с помощью XSL, пусть MobileFirst выполняет собственный анализ и отправляет результат мне.

Пример:

XML

<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <company>Columbia</company>
        <price>10.90</price>
        <year>1985</year>
    </cd>
    <cd>
        <title>Hide your heart</title>
        <artist>Bonnie Tyler</artist>
        <country>UK</country>
        <company>CBS Records</company>
        <price>9.90</price>
        <year>1988</year>
    </cd>
</catalog>

Мой XSL:

<xsl:template match="/">


        <xsl:choose>

        <xsl:when test="count(*//catalog) != '0'"> 
               dosomething

        </xsl:when>
        <xsl:otherwise>
           i want to go back to normal mobilefirst way of converting XML to Json 
        </xsl:otherwise>
  </xsl:choose>

</xsl:template>

My Question :

Есть ли способ снова вывести обычный XML-файл в адаптер MobileFist, чтобы выполнить обычное преобразование XML-файла в JSON. Это я хочу сделать из файла Adaptername.xsl?


person Kawinesh SK    schedule 24.03.2015    source источник
comment
Не могли бы вы перефразировать свой текст как вопрос? В чем вопрос?   -  person Idan Adar    schedule 24.03.2015
comment
Я просто хочу, чтобы мой XSL работал в некоторых условиях, а в остальное время я хочу, чтобы worklight использовал свой собственный стандартный способ преобразования XML в JSON.   -  person Kawinesh SK    schedule 24.03.2015
comment
@IdanAdar, насколько это stackoverflow.com/questions/26973751/ говорит, что XML преобразуется в новый XML, чего нет в адаптере.   -  person Kawinesh SK    schedule 24.03.2015


Ответы (1)


XSL-преобразование не может решить «на лету», выполнять ли преобразование или нет.

Для этого, вероятно, потребуется второй запрос от вас.

  1. Получить XML
  2. Проверьте, содержит ли он требуемый узел
  3. Отправьте еще один запрос, но на этот раз к процедуре, которая выполняет преобразование.
person Idan Adar    schedule 24.03.2015
comment
Нет, по-вашему, я хочу получить свои XML-данные дважды, чтобы один раз проверить и один раз преобразовать, но это требует времени, и это невозможно для меня, у меня большой объем данных. - person Kawinesh SK; 24.03.2015
comment
Пожалуйста, проверьте вопрос и ответ stackoverflow, которые я приложил ниже stackoverflow.com/questions/26973751/, что, я надеюсь, неверно. - person Kawinesh SK; 24.03.2015
comment
Вы должны вернуть то, что вам нужно - не все. - person Idan Adar; 24.03.2015
comment
Скажите, что мое условие не выполнено, и теперь я хочу, чтобы весь ответный XML был преобразован в JSON и отправлен на мобильный телефон, я не могу сделать это в этом случае правильно. - person Kawinesh SK; 24.03.2015