zoukankan      html  css  js  c++  java
  • 如何让xslt样式表接受参数

    我们经常会有这样的需求:有多份数据,需要共享一份样式表来转换。他们的区别可能就在于顶部会有一些小的差异,那么如何解决这个事情呢?

    1. 在XSLT中定义参数

    <?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"
    >
        <xsl:output method="xml" indent="yes"/>
        <xsl:param name="Title"></xsl:param>

      <xsl:template match="/">
          <html>
            <head></head>
            <body>
              <h1>
                <xsl:value-of select="$Title"/>
              </h1>
            </body>
          </html>
        </xsl:template>
    </xsl:stylesheet>

     

    2. 在客户端代码中传递一个参数过来

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml.Xsl;
    using System.Xml.XPath;
    using System.Xml;

    using System.IO;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml("<Tables><Table><Name>Orders</Name></Table></Tables>");

                XslCompiledTransform tran = new XslCompiledTransform();
                tran.Load("Test.xslt");

                XsltArgumentList a = new XsltArgumentList();
                a.AddParam("Title", string.Empty, "陈希章的报告");

                FileStream stream = new FileStream("Test.htm", FileMode.Create);

                tran.Transform(doc.CreateNavigator(), a, stream);
                stream.Close();
            }

        }
    }

  • 相关阅读:
    Guns 01 项目基本运行
    个人 比较好用的软件
    个人 软件开发 综合技能提升
    开源框架 综合知识
    开源框架 工作流框架
    开源框架 Java 开发框架 1
    开源框架 Java 管理系统
    开源框架 C#
    scp(安全拷贝)和rsync(增量复制)
    完全分布式集群的准备工作
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1488862.html
Copyright © 2011-2022 走看看