Как использовать функцию набора узлов платформенно независимым способом?

В качестве примера вы можете запустить следующее локально:

library(shiny)

runApp(list(
  ui = pageWithSidebar(    

  headerPanel("Hello Shiny!"),

  sidebarPanel(
    sliderInput("obs", 
                "Number of observations:", 
                min = 1,
                max = 1000, 
                value = 500)
  ),

  mainPanel(
    plotOutput("distPlot")
  )
),
  server =function(input, output, session) {
    autoInvalidate <- reactiveTimer(5000, session)
    output$distPlot <- renderPlot({
      autoInvalidate()
      # generate an rnorm distribution and plot it
      dist <- rnorm(input$obs)
      hist(dist)
    })

  }
))

Сгенерируется другой нормальный образец каждые 5 секунд

11
задан chills42 3 November 2008 в 13:23
поделиться

5 ответов

Можно использовать доступную функции функцию () для определения, какую функцию необходимо использовать:

<xsl:choose>
  <xsl:when test="function-available('exslt:node-set')">
    <xsl:apply-templates select="exslt:node-set($nodelist)" />
  </xsl:when>
  <xsl:when test="function-available('msxsl:node-set')">
    <xsl:apply-templates select="msxsl:node-set($nodelist)" />
  </xsl:when>
  <!-- etc -->
</xsl:choose>

Можно даже перенести эту логику в именованный шаблон и назвать ее с набором узлов в качестве параметра.

8
ответ дан 3 December 2019 в 06:23
поделиться

Exslt, как "предполагается, является" платформенно независимым набором xslt расширений, но только, насколько различный xslt процессоры принимают решение реализовать их.

Существует некоторое доказательство, что MSXML на самом деле поддерживает exsl:node-набор (), но я не знаю наверняка.

Существует старая статья, обсуждая реализацию exslt сверху MSXML.

Иначе я думаю доступный функции (), Ваш друг :)

3
ответ дан 3 December 2019 в 06:23
поделиться

Firefox 3 реализует набор узлов (как часть улучшений EXSLT 2.0 пространства имен) в, он - клиентская обработка XSLT.

Возможно, не совсем ответ, который Вы искали - но это могло быть, в зависимости от контекста Вашей проблемы.;-)

1
ответ дан 3 December 2019 в 06:23
поделиться

Да, существует хорошее и универсальное решение.

Common:node-набор функции EXSLT () может быть реализован, поскольку встроенный JavaScript функционирует, и таким образом доступно с любым браузером, который поддерживает JavaScript (практически все главные браузеры без исключения).

Эта техника была сначала обнаружена Julian Reschke и после того, как он опубликовал ее в xsl-списке, был разглашен David Carlisle. На блоге David Carlisle существует также ссылка на тестовую страницу, которая показывает, функционирует ли common:node-набор () таким образом реализованные работы с браузером по Вашему выбору.

Подводить итог:

  1. Сначала пойдите сюда и считайте объяснение.
  2. Затем попробуйте тестовую страницу. В частности, проверьте, что это работает с IE (который означает с MSXML),
  3. Наконец, используйте код.

Действительно наслаждайтесь!

7
ответ дан 3 December 2019 в 06:23
поделиться

Если нет конкретной причины использовать msxml реализацию набора узлов на окнах Вы, coul используют exslt один везде включением implemenation, загруженного с http://exslt.org с Вашей таблицей стилей, exslt практическое руководство описывает необходимые шаги. Можно использовать или "Дополнительные пространства имен" путь или "Названный шаблонами" путь.

0
ответ дан 3 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

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