⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xsl_server.asp

📁 W3Schools tutorial..web designing
💻 ASP
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>XSLT on the Server</title>
 
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Keywords" content="xml,tutorial,html,dhtml,css,xsl,xhtml,javascript,asp,ado,vbscript,dom,sql,colors,soap,php,authoring,programming,training,learning,beginner's guide,primer,lessons,school,howto,reference,examples,samples,source code,tags,demos,tips,links,FAQ,tag list,forms,frames,color table,w3c,cascading style sheets,active server pages,dynamic html,internet,database,development,Web building,Webmaster,html guide" />

<meta name="Description" content="Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building." />

<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />

<link rel="stylesheet" type="text/css" href="../stdtheme.css" />

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "../../https@ssl./default.htm" : "../../www./default.htm");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3855518-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>

</head>
<body>

<a name="top"></a>
<table cellpadding="0" cellspacing="0" width="100%" bgcolor="#808080">
<tr>
<td width="234" valign="top">
<a href="../default.htm"><img src="../images/w3default80.jpg" border="0" alt="W3Schools" /></a>
</td>
<th valign="middle" align="left" class="right">
<iframe style="background-color:#808080" src="../banners/bannerframe.asp@adpartner=xmlmaster" height="90" width="728"
marginwidth="0" marginheight="0" frameborder="0" scrolling="no">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>

<br /></th>
</tr>
</table>

<table style="margin-left:1px" width="800px" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="137" class="content" valign="top"><br />
<a class="left" href="../default.asp" target="_top">
<img src="../images/homeicon.gif" border="0" alt="home" /></a>
<a class="left" href="../default.asp" target="_top">
<b>HOME</b></a>
<br /><br />
<b>XSLT Basic</b><br />
<a class="left" target="_top" href="default.asp" >XSLT HOME</a><br />
<a class="left" target="_top" href="xsl_languages.asp" >XSL Languages</a><br />
<a class="left" target="_top" href="xsl_intro.asp" >XSLT Introduction</a><br />
<a class="left" target="_top" href="xsl_browsers.asp" >XSLT Browsers</a><br />
<a class="left" target="_top" href="xsl_transformation.asp" >XSLT Transform</a><br />
<a class="left" target="_top" href="xsl_templates.asp" >XSLT &lt;template></a><br />
<a class="left" target="_top" href="xsl_value_of.asp" >XSLT &lt;value-of></a><br />
<a class="left" target="_top" href="xsl_for_each.asp" >XSLT &lt;for-each></a><br />
<a class="left" target="_top" href="xsl_sort.asp" >XSLT &lt;sort></a><br />
<a class="left" target="_top" href="xsl_if.asp" >XSLT &lt;if></a><br />
<a class="left" target="_top" href="xsl_choose.asp" >XSLT &lt;choose></a><br />
<a class="left" target="_top" href="xsl_apply_templates.asp" >XSLT Apply</a><br />
<br />
<b>XSLT Advanced</b><br />
<a class="left" target="_top" href="xsl_client.asp" >XSLT on the Client</a><br />
<a class="left" target="_top" href="xsl_server.asp" style='font-weight:bold;'>XSLT on the Server</a><br />
<a class="left" target="_top" href="xsl_editxml.asp" >XSLT Edit XML</a><br />
<a class="left" target="_top" href="xsl_editors.asp" >XSLT Editors</a><br />
<a class="left" target="_top" href="xsl_summary.asp" >XSLT Summary</a><br />
<br />
<b>References</b><br />
<a class="left" target="_top" href="xsl_w3celementref.asp" >XSLT Elements</a><br />
<a class="left" target="_top" href="xsl_functions.asp" >XSLT Functions</a><br /><br />
<b>Selected Reading</b><br />
<a class="left" target="_top" href="../browsers/browsers_stats.asp">Web Statistics</a><br />
<a class="left" target="_top" href="../site/site_glossary.asp">Web Glossary</a><br />
<a class="left" target="_top" href="../hosting/default.asp">Web Hosting</a><br />
<a class="left" target="_top" href="../quality/default.asp">Web Quality</a><br /><br />
<a class="left" target="_top" href="../forum/default.asp">W3Schools Forum</a><br /><br />
<a class="left" target="_top" href="../about/about_helping.asp">Helping W3Schools</a><br /><br />
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*LeftLinkUnit*/
google_ad_slot = "4854527104";
google_ad_width = 120;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
<td valign="top">
<table style="border: 1px solid gray" width="100%" bgcolor="#FFFFFF" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>


<h1>XSLT - On the Server</h1>

<a href="xsl_client.asp"><img border="0" src="../images/btn_previous.gif" alt="prev" width="100" height="20" /></a>
<a href="xsl_editxml.asp"><img border="0" src="../images/btn_next.gif" alt="next" width="100" height="20" /></a>

<hr />

<p class="intro">Since not all browsers support XSLT, one solution is to transform the
XML to XHTML on the server.</p>
<hr />

<h2>A Cross Browser Solution</h2>
In the previous chapter we explained how XSLT can be used to transform a document
from XML to XHTML in the browser. We created a JavaScript that used an XML
parser to do the transformation. The JavaScript solution will not work
in a browser that doesn't have an XML parser.<p>To make XML data available to all kind of browsers, we 
must transform the XML document on the
SERVER and send it as XHTML back to the browser.</p>
<p>That's another beauty of XSLT. One of the design goals for XSLT was to make it possible to
transform data from one format
to another on a server, returning readable data to all kinds of browsers.</p>
<hr />
<h2>The XML File and the XSLT File</h2>

<p>Look at the XML document that you have seen in the previous chapters:</p>

<table width="100%" border="1" class="ex" cellspacing="0">
  <tr>
    <td>
      <pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
&lt;catalog&gt;
  &lt;cd&gt;
    &lt;title&gt;Empire Burlesque&lt;/title&gt;
    &lt;artist&gt;Bob Dylan&lt;/artist&gt;
    &lt;country&gt;USA&lt;/country&gt;
    &lt;company&gt;Columbia&lt;/company&gt;
    &lt;price&gt;10.90&lt;/price&gt;
    &lt;year&gt;1985&lt;/year&gt;
  &lt;/cd&gt;
.
.
.
&lt;/catalog&gt;</pre>
    </td>
  </tr>
</table>
<p><a target="_blank" href="cdcatalog.xml">View the XML file</a>.</p>
<p>And the accompanying XSL style sheet:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
  <tr>
    <td>
      <pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
&lt;xsl:stylesheet version=&quot;1.0&quot;
xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;</pre>
      <pre>&lt;xsl:template match=&quot;/&quot;&gt;
  &lt;html&gt;
  &lt;body&gt;
    &lt;h2&gt;My CD Collection&lt;/h2&gt; 
    &lt;table border=&quot;1&quot;&gt;
      &lt;tr bgcolor=&quot;#9acd32&quot;&gt;
        &lt;th align=&quot;left&quot;&gt;Title&lt;/th&gt; 
        &lt;th align=&quot;left&quot;&gt;Artist&lt;/th&gt; 
      &lt;/tr&gt;
      &lt;xsl:for-each select=&quot;catalog/cd&quot;&gt;
      &lt;tr&gt;
        &lt;td&gt;&lt;xsl:value-of select=&quot;title&quot; /&gt;&lt;/td&gt;
        &lt;td&gt;&lt;xsl:value-of select=&quot;artist&quot; /&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;/xsl:for-each&gt;
  &lt;/table&gt;
  &lt;/body&gt;
  &lt;/html&gt;
&lt;/xsl:template&gt;</pre>
      <pre>&lt;/xsl:stylesheet&gt;</pre>
    </td>
  </tr>
</table>
<p><a target="_blank" href="cdcatalog.xsl">View the XSL file</a>.</p>
<p><b>Notice that the XML file does not have a reference to the XSL file.</b></p>
<p><b>IMPORTANT:</b> The above sentence indicates that an XML file could be 
transformed using many different XSL style sheets.</p>
<hr />
<h2>Transforming XML to XHTML on the Server</h2>
<p>Here is the ASP source code needed to transform the XML file to XHTML on the
server:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
  <tr>
    <td>
      <pre>&lt;%
'Load XML
set xml = Server.CreateObject(&quot;Microsoft.XMLDOM&quot;)
xml.async = false
xml.load(Server.MapPath(&quot;cdcatalog.xml&quot;))

'Load XSL
set xsl = Server.CreateObject(&quot;Microsoft.XMLDOM&quot;)
xsl.async = false
xsl.load(Server.MapPath(&quot;cdcatalog.xsl&quot;))

'Transform file
Response.Write(xml.transformNode(xsl))
%&gt;</pre>
    </td>
  </tr>
</table>
<p><b>Tip:</b> If you don't know
how to write ASP, you can study our <a href="../asp/default.asp">ASP tutorial</a>.</p>
<p>The first block of code creates an instance of the Microsoft XML parser
(XMLDOM), and loads the XML file into memory. The second block of code creates
another instance of the parser and loads the XSL file into memory. The last
line of code transforms the XML document using the XSL document, and sends the
result as XHTML to your browser. Nice!</p>
<p><a href="cdcatalog.asp" target="_blank">See how it works</a>.</p>
<hr />
<a href="xsl_client.asp"><img border="0" src="../images/btn_previous.gif" alt="prev" width="100" height="20" /></a>
<a href="xsl_editxml.asp"><img border="0" src="../images/btn_next.gif" alt="next" width="100" height="20" /></a>

<br />
<hr />

<!-- **** SPOTLIGHTS 1 **** -->

<iframe src="../banners/aspallframe.asp" height="110" width="485"
marginwidth="0" marginheight="0" frameborder="0" scrolling="no">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
<hr />
<!-- **** SPOTLIGHTS 2 **** -->

<h2>Learn XML with &lt;oXygen/> XML Editor - Free Trial!</h2>
<table cellpadding="0"><tr>
<td valign="top"><a target="_blank" href="../../www.oxygenxml.com/default.htm">
<img src="../images/oxygenxml.png" border="0" alt="oXygen - Probably The World's Best XML Editor" /></a></td>
<td>&nbsp;&nbsp;</td>
<td valign="top">
<p><a href="../../www.oxygenxml.com/default.htm" target="_blank">oXygen</a> helps you learn to define,
edit, validate and transform XML documents. Supported technologies include XML Schema,
DTD, Relax NG, XSLT, XPath, XQuery, CSS.</p>
<p>Understand in no time how XSLT and XQuery work by using the intuitive oXygen debugger!</p>
<p>Do you have any XML related questions? Get free answers from the oXygen
<a href="../../www.oxygenxml.com/forum/default.htm" target="_blank">XML forum</a>
and from the <a href="../../www.oxygenxml.com/documentation.html" target="_blank">video</a>
demonstrations.</p>
<p><b><a href="../../www.oxygenxml.com/download.html" target="_blank">
Download a FREE 30-day trial today!</a></b></p>
</td></tr></table>
<hr />


<!-- **** SPOTLIGHTS 3 **** -->
<table cellpadding="0" cellspacing="0"><tr><td width="72"></td><td>
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*txt*/
google_ad_slot = "1699448869";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<hr />

<center>

<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*imgtxt*/
google_ad_slot = "8606855891";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

</center>
<hr />


<!-- **** END SPOTLIGHTS **** -->

</td></tr>

<tr><td>
<p>Jump to: <a href="#top" target="_top"><b>Top of Page</b></a>
or <a href="../default.asp" target="_top"><b>HOME</b></a> or
<a href='xsl_server.asp@output=print' target="_blank">
<img src="../images/print.gif" alt="Printer Friendly" border="0" />
<b>Printer friendly page</b></a></p>
<p>W3Schools provides material for training only. We do not warrant the correctness of its contents.
The risk from using it lies entirely with the user.
While using this site, you agree to have read and accepted our
<a href="../about/about_copyright.asp">terms of use</a> and
<a href="../about/about_privacy.asp">privacy policy</a>.
</p>
<p><a href="../about/about_copyright.asp">Copyright 1999-2008</a> by Refsnes Data. All Rights Reserved.</p>
<table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>
<td width="60%" align="left">
<a href="../../validator.w3.org/check@uri=referer" target="_blank">
<img src="../images/vxhtml.gif" alt="Validate" width="88" height="31" border="0" /></a>
<a href="../../jigsaw.w3.org/css-validator/check@uri=referer" target="_blank">
<img src="../images/vcss.gif" alt="Validate" width="88" height="31" border="0" /></a>
<a href="../../www.w3.org/WAI/WCAG1A-Conformance" title="Explanation of Level A Conformance" target="_blank">
<img src="../images/wai.gif" alt="W3C-WAI level A conformance icon" width="88" height="31" border="0" /></a>
</td>
<td>
<a href="../xhtml/xhtml_howto.asp" target="_top">W3Schools was converted to XHTML in December 1999</a>
</td></tr>

</table>
</td></tr>
</table>
</td>


<td width="145" align="center" valign="top">




<iframe style="background-color:#f1f1f1" src="../banners/rightcolumn.asp@secid=xsl" height="1500" width="147"
marginwidth="0" marginheight="0" frameborder="0" scrolling="no">
</iframe>

</td>
</tr></table>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -