XSLT学习笔记--NET Framework对XSLT的支持(2)
2008-03-12 00:46
519 查看
1. 在XSL文档中调用.net代码
在XSLT中使用<msxsl:script>标签可以包含C#,VB.NET或其他.NET语言的代码。XslTransform类将把这些脚本语言转换为中间语言。另外也可以在script块中简单地调用现有的商业组件而不是把商业逻辑包含在XSL文档中。例如,如果我们希望在例1的上方显示今天的日期。下面的XSL文件演示了我们调用XSL中定义的服本方法所需做出的改变。更改的地方使用了粗体。
在“msxsl:script”上层,需要引用“urn:schemas-microsoft-com:xslt”命名空间。所有用户定义的脚本需要在“Testing”前缀的下方。请参看参考一节获得更多的使用<msxsl:script>的信息。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="Testing">
<![CDATA[
public string getDate(){
return (DateTime.Today.ToShortDateString());
}
]]>
</msxsl:script>
<xsl:output method="html" encoding="utf-8" />
<xsl:template match="/PrakashFinancial">
<xsl:text>
List of Employees :
</xsl:text>
<xsl:value-of select="user:getDate()"/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="/PrakashFinancial/Employee">
<xsl:value-of select="@Name"/>
</xsl:template>
</xsl:stylesheet>
注意:XSLT支持很多内建的方法,首先需要看看是否这些任务可以通过XSLT已有的方法来完成。我们推荐使用脚本来做一些复杂的事情,以扩展XSLT的功能,或用现有组件重用一些商业逻辑。
2. ASP.NET对XSLT的支持
如果你有XML文档和XSL文档,并希望在服务器端处理XSLT并返回最终结果,可以使用ASP.NET现有的web server控件。<asp:xml>可以正确地完成这个功能。<asp:xml>web server控件可以对XML文档和XSL文档进行转换并在浏览器显示结果。在ASP.NET使用XML控件非常容易,按照下面步骤操作:
3.a 创建一个ASP.NET web应用程序
3.b 拷贝上面的XML和XSL文件到“SampleData.XML”和“SampleTransform..XSL”文件中并把它们拷贝到web应用程序的根目录中。
3.c 拖动【工具箱】中的【WebForm controls】栏下的【Xml】控件到WebForm1.aspx中。
3.d 在PageLoad事件中添加如下代码:(webform1.aspx..cs文件)
Xml1.DocumentSource = "SampleData.XML";
Xml1.TransformSource = "SampleTransform.XSL
3.e 运行web页面,你将看到转换在服务器端被ASP.NET执行,并输出了一个web页面。
对XSLT测试和计时
1. MSXSL.EXE:微软提供了一个简单的XSLT工具(MSXSL.exe),你可以在http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=2fb55371-c94e-4373-b0e9-db4816552e41 中自由下载。这个工具使用-t选项进行转换计时。
示例代码:msxsl.exe SampleXML.xml SampleXSL.xsl -o Output1.html –t
以上命令对SampleXML.xml文件进行转换(需要通过使用SampleXSL.xsl)并在Output1.html中输出。以上命令也进行了计时(-t option)
2. Internet Explorer(>=5.x):你可以使用IE(Version>5.x)通过在XML文档中引用XSLT来进行转换。用它来测试XSL文件非常棒。
参考资料
到这个网页下方的References这一节自己去看吧,懒得转换了http://www.asp101.com/articles/jayram/xslt/default.asp
完
相关文章推荐
- XSLT学习笔记--NET Framework对XSLT的支持(2)
- XSLT学习笔记--NET Framework对XSLT的支持(1)
- XSL学习笔记4 XSLT模式匹配的语法
- JDBC 学习笔记(十一)—— JDBC 的事务支持
- AUTOCAD学习笔记1:.net Framework版本的更改
- Joomla 学习笔记----LDAP插件支持
- Qt学习笔记-嵌入式qt程序支持显示中文
- OSGi.NET 学习笔记 [模块可扩展支持][概念][实例]
- PHP学习笔记13——SQL支持(mysql库与PDO)
- 微软企业库4.1学习笔记(十二)中间人Providers,设计时支持Design-Time Configuration和仪表盘Instrumentation
- JZ2440学习笔记,第二部分,移植uboot2015支持JZ2440的nor flash
- [Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction
- IDEA学习笔记-添加svn支持
- springmvc学习笔记(19)-RESTful支持
- 学习笔记——XSLT输出指定格式
- hotplug_uevent机制_修改mdev配置支持U盘自动挂载学习笔记
- openerp学习笔记 domain 增加扩展支持,例如支持 <field name="domain">[('type','=','get_user_ht_type()')]</field>
- 支持向量机学习笔记
- ASP.NET AJAX的国际化与本地化支持(学习笔记)
- CUBRID学习笔记 32 对net的datatable的支持 cubrid教程