Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#在XSLT文件中呈现自定义XSL控件?_C#_Xslt_Extension Methods - Fatal编程技术网

如何使用C#在XSLT文件中呈现自定义XSL控件?

如何使用C#在XSLT文件中呈现自定义XSL控件?,c#,xslt,extension-methods,C#,Xslt,Extension Methods,我正在使用C#使用XSLT将XML文件转换为HTML 我使用扩展对象呈现自己的代码: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"

我正在使用C#使用XSLT将XML文件转换为HTML

我使用扩展对象呈现自己的代码:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
  xmlns:widget="urn:serverTime"
>

<xsl:output method="html" indent="yes"/>

<xsl:template match="/">
    <xsl:value-of select="demo:printTime()"/>
</xsl:template>
这很好用。但是,我想创建自己的自定义标记,如:

<demo:printTime />


这不起作用:标记将打印到输出,而不进行渲染。我怎样才能使用我自己的标签呢?

你不能这样做。XSLT不支持“自定义标记”


如果您想打印出任何不是文字值的内容,那么它必须是函数调用的结果,包装在

中,因此如果需要支持此功能,我应该创建自己的XSLT解析器和呈现程序?
<demo:printTime />