Дополнительные параметры при вызове шаблона XSL

Мы поддерживаем видео через собственное воспроизведение, что означает «мы не знаем». Если нативная ОС будет поддерживать webp, то открытие файла с помощью медиаплеера будет работать, если этого не произойдет, то не будет. Я почти уверен, что он не будет работать на симуляторе, но я не могу сказать вам, будет ли он работать на устройстве.

Вы можете использовать fresco для декодирования и воспроизведения Android, используя собственные интерфейсы . Это означает, что вам нужно будет найти похожие библиотеки для iOS и любой другой такой платформы, которую вы хотите поддерживать.

В качестве альтернативы, если у вас есть декодер webp, написанный на Java, вы можете перенести его на Codename One, и он должен работать везде.

20
задан HumanSky 6 May 2009 в 17:28
поделиться

3 ответа

Вы используете неверный синтаксис xsl: param .

Сделайте это вместо:

<xsl:template name="foo">
  <xsl:param name="foo" />
  <xsl:param name="bar" />
  <xsl:param name="baz" select="DEFAULT_VALUE" />
  ...possibly more params...
</xsl:template>

Параметр принимает значение параметра, переданного с помощью xsl: with-param , соответствующий имени оператора xsl: param . Если ничего не указано, принимается значение атрибута select full XPath.

Более подробную информацию можно найти в записи W3School для параметра .

49
ответ дан 29 November 2019 в 23:02
поделиться

Лично я предпочитаю делать следующее:

<xsl:call-template name="test">  
   <xsl:with-param name="foo">
      <xsl:text>fooValue</xsl:text>
   </xsl:with-param>

Мне нравится явно использовать текст, чтобы я мог использовать XPath на своем XSL для выполнения поиска. Много раз это пригодилось для анализа XSL, который я не писал или не запоминал.

4
ответ дан 29 November 2019 в 23:02
поделиться

Значение в части select элемента param будет использовано, если вы не передадите параметр.

Вы получаете ошибку, поскольку переменная или параметр $ baz не существует все же. Он должен быть определен на верхнем уровне, чтобы он работал в вашем примере, а это не то, что вы хотели в любом случае.

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

<xsl:call-template name="test">  
    <xsl:with-param name="foo">fooValue</xsl:with-param>
]
2
ответ дан 29 November 2019 в 23:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: