样式表 (XSL) Web 资源

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

使用样式表 (XSL) Web 资源转换 XML 数据。

XSL Web 资源的功能

使用 XSL Web 资源可以转换解决方案使用的 XML 数据。

以下 Web 资源协同合作以呈现一个显示表格的页面,该表格使用 XML Web 资源中的数据。 这些 Web 资源的源文件是 SDK 下载 Microsoft Dynamics CRM SDK 包。 附带的“导入 Web 资源”示例的一部分,位于 sdk\samplecode\cs\client\webresources\importwebresources\importwebresources\filestoimport。

  • HTML Web 资源: sample_/ImportWebResources/Content/ShowData.htm

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <title></title>
     <script src="Script/Script.js" type="text/javascript"></script>
     <link href="CSS/Styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body onload="SDK.ImportWebResources.showData()">
     <div id="results" />
    </body>
    </html>
    
  • XSL Web resource: sample_/ImportWebResources/XSL/Transform.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:template match="@* | node()">
      <xsl:copy>
       <xsl:apply-templates select="@* | node()"/>
      </xsl:copy>
     </xsl:template>
    
    
     <xsl:template match="people">
      <xsl:element name="table">
       <xsl:element name="thead">
        <xsl:element name="tr">
         <xsl:element name="th">
          <xsl:text>First Name</xsl:text>
         </xsl:element>
         <xsl:element name="th">
          <xsl:text>Last Name</xsl:text>
         </xsl:element>
        </xsl:element>
       </xsl:element>
       <xsl:element name="tbody">
        <xsl:apply-templates />
       </xsl:element>
      </xsl:element>
    
     </xsl:template>
    
     <xsl:template match="person">
      <xsl:element name="tr">
       <xsl:element name="td">
        <xsl:value-of select="@firstName"/>
       </xsl:element>
       <xsl:element name="td">
        <xsl:value-of select="@lastName"/>
       </xsl:element>
      </xsl:element>
    
     </xsl:template>
    
    </xsl:stylesheet>
    
  • XML Web resource: sample_/ImportWebResources/Data/Data.xml

    <?xml version="1.0" encoding="utf-8" ?>
    <people>
     <person firstName="Apurva"
             lastName="Dalia" />
     <person firstName="Ofer"
             lastName="Daliot" />
     <person firstName="Jim"
             lastName="Daly" />
     <person firstName="Ryan"
             lastName="Danner" />
     <person firstName="Mike"
             lastName="Danseglio" />
     <person firstName="Alex"
             lastName="Darrow" />
    </people>
    
  • 脚本 Web 资源: sample_/ImportWebResources/Script/Script.js

    //If the SDK namespace object is not defined, create it.
    if (typeof (SDK) == "undefined")
    { SDK = {}; }
    // Create Namespace container for functions in this library;
    SDK.ImportWebResources = {
     dataFile: "Data/Data.xml",
     transformFile: "XSL/Transform.xslt",
     showData: function () {
    
      //Create an XML document from the Data.xml file
      var dataXml = new ActiveXObject("Msxml2.DOMDocument.6.0");
      dataXml.async = false;
      dataXml.load(this.dataFile);
    
      //Create an XML document from the Transform.xslt file
      var transformXSLT = new ActiveXObject("Msxml2.DOMDocument.6.0");
      transformXSLT.async = false;
      transformXSLT.load(this.transformFile);
    
      // Set the innerHTML of the results area to the output of the transformation.
      var resultsArea = document.getElementById("results");
      resultsArea.innerHTML = dataXml.transformNode(transformXSLT);
     }
    
    }
    
  • CSS Web 资源: sample_/ImportWebResources/CSS/Styles.css

    body
    {
        font-family: Calibri;
    }
    table
    {
        border: 1px solid gray;
        border-collapse: collapse;
    }
    th
    {
        text-align: left;
        border: 1px solid gray;
    }
    td
    {
        border: 1px solid gray;
    }
    

另请参阅

Microsoft Dynamics 365 的 Web 资源
网页 (HTML) Web 资源
CSS Web 资源
脚本 (JScript) Web 资源
数据 (XML) Web 资源
图像(JPG、PNG、GIF、ICO)Web 资源
Silverlight (XAP) Web 资源

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权