Skip to content

Latest commit

 

History

History
179 lines (155 loc) · 5.28 KB

File metadata and controls

179 lines (155 loc) · 5.28 KB
title description ms.custom ms.date ms.reviewer ms.suite ms.tgt_pltfrm ms.topic applies_to helpviewer_keywords ms.assetid caps.latest.revision author ms.author search.audienceType
Stylesheet (XSL) web resources (Developer Guide for Dynamics 365 Customer Engagement (on-premises)) | MicrosoftDocs
Learn about using Stylesheet (XSL) Web resources to transform XML data.
10/31/2017
pehecke
article
Dynamics 365 Customer Engagement (on-premises)
web resource, xsl
35b82c28-943d-40aa-8c1d-70de5c7d0f98
17
JimDaly
jdaly
developer

Stylesheet (XSL) web resources

Use Stylesheet (XSL) Web resources to transform XML data.

Capabilities of XSL Web resources

Use XSL Web resources to transform XML data used by your solution.

The following Web resources work together to render a page that displays a table using the data in the XML Web resource. The source files for these Web resources are part of the Import Web Resources sample under the filestoimport folder. Download the sample of Import files as web resources.

HTML Web resource: sample_/ImportWebResources/Content/ShowData.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html>  
<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="https://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>  

Script Web resource: 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 resource: 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;  
}  

See also

Web Resources for Dynamics 365 Customer Engagement (on-premises)
Using Web Page (HTML) Web Resources
Using Style Sheet (CSS) Web Resources
Using Script (JScript) Web Resources
Using Data (XML) Web Resources
Using Image (JPG, PNG, GIF) Web Resources
Using Silverlight (XAP) Web Resources

[!INCLUDEfooter-include]