назовите шаблон xslt с параметром

Вот один из примеров

public interface IMainAppWindow
{
   event EventHandler Closed;
}

// version 1 main window
public MainForm : Form , IMainAppWindow
{

}

// version 2 main window
public MainWindow : Window , IMainAppWindow
{
  event EventHandler Closed;

  public void OnClosed(object sender,RoutedEventArgs e)
  {
    if(Closed != null)
    {
      Closed(this,e);
    }
  }
}

У меня есть такой код в одном из моих приложений. Приложение было написано в winforms, а затем обновлено до WPF.

16
задан raklos 5 June 2009 в 17:11
поделиться

3 ответа

Поскольку шаблон ожидает набор узлов, необходимо выполнить:

<xsl:call-template name="dumpDebugData">
  <xsl:with-param name="elementToDump" select="some/xpath" />
</xsl:call-template>
30
ответ дан 30 November 2019 в 15:38
поделиться

Попробуйте что-то вроде этого:

<xsl:call-template name="dumpDebugData">
    <xsl:with-param name="elementToDump">foo</xsl:with-param>
</xsl:call-template>
13
ответ дан 30 November 2019 в 15:38
поделиться

В исходном XSLT есть ряд проблем, поэтому я проработал его и получил следующий код, который делает то, что вы хотите. Я считаю :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:output indent="yes" />
   <xsl:strip-space elements="*" />
   <xsl:template match="element()">
      <xsl:call-template name="dumpDebugData">
         <xsl:with-param name="elementToDump" select="." />
      </xsl:call-template>
      <xsl:apply-templates />
   </xsl:template>
   <xsl:template name="dumpDebugData">
      <xsl:param name="elementToDump" />
      Node:
      <xsl:value-of select="name()" />
      :
      <xsl:value-of select="text()" />
      <xsl:for-each select="attribute::*">
         Attribute:
         <xsl:value-of select="name()" />
         :
         <xsl:value-of select="." />
      </xsl:for-each>
   </xsl:template>
</xsl:stylesheet>
2
ответ дан 30 November 2019 в 15:38
поделиться
Другие вопросы по тегам:

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