現在オフラインです。再接続するためにインターネットの接続を待っています

[HOW TO パイプラインでアプリケーションの XSLT 変換

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:320847
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
ここではパイプラインの .NET アプリケーションでの XSL 変換 (XSLT) 変換する方法について説明します。 という用語は、「パイプライン」XSLT 変換のコンテキストをソース拡張マークアップ言語 (XML) ドキュメントのデータの増分によって変換されます一連の 2 つ以上の XSLT スタイルシートの最終的な必要な出力を生成するプロセスです。 処理中に、各中間段階トランスフォーム パイプラインによって生成される出力は、最終的な変換する使用方法は、フェーズをすべて、次フェーズへの入力を出力を生成するよう使用されます。

System.Xml.Xsl System.Xml.XPath System.IO 名前空間の .NET Framework クラスは、プログラムで .NET アプリケーションでの XSLT 変換をパイプラインに使用できます。 次にこの資料の説明を実装して ASP.NET アプリケーションでの XSLT 変換をパイプラインのプロセスを調べるための指示します。 ここで示した概念の適用して他の種類の XSLT 変換のパイプラインを .NET アプリケーションで使用もできます。

back to the top

作成し、サンプルの ASP.NET アプリケーションのセットアップ

  1. 新しい Microsoft Visual Basic .NET の ASP.NET Web アプリケーション プロジェクトを作成する Visual Studio.NET という名前の"XSLTPipelineDemo"(引用符は不要)。
  2. 作成し、"Employees.xml"(引用符は不要) をプロジェクトに呼び出されます XML ドキュメントを追加するには、次コードを使用:
    <?xml version='1.0'?><employees>  <employee>    <employeeId>1</employeeId>    <name>      <given>Nancy</given>      <family>Davolio</family>    </name>  </employee>  <employee>    <employeeId>2</employeeId>    <name>      <given>Andrew</given>      <family>Fuller</family>    </name>  </employee>  <employee>    <employeeId>3</employeeId>    <name>      <given>Janet</given>      <family>Leverling</family>    </name>  </employee>  </employees>					
  3. 作成し、"sortEmployees.xslt"(引用符は不要) をプロジェクトに呼び出された XSLT スタイル シートを追加するには、次コードを使用します。 このスタイル シートが Employees.xml の XML ドキュメント内でデータを並べ替える XSLT コードを含む (降順で [従業員、名、およびファミリ] ファミリ名の上で要素)。 このスタイルシートを適用すると生成される出力はソース XML データの並べ替えられたバージョン:
    <?xml version='1.0'?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:param name="sortColumn" select="'family'"/><xsl:param name="sortOrder" select="'descending'"/><xsl:template match="employees">   <employees>   <xsl:apply-templates select="employee/name">         <xsl:sort select="./*[local-name() = $sortColumn]" order="{$sortOrder}"/>               </xsl:apply-templates>     </employees></xsl:template> <xsl:template match="employee/name">  <employee>	  <xsl:copy-of select="parent::node()/*"/>  </employee>  </xsl:template> </xsl:stylesheet>					
  4. 次のコードを作成し、プロジェクトに"EmployeesHTMLTable.xslt"(引用符は不要) を呼び出されます XSLT スタイル シートの追加に使用します。 このスタイルシート ハイパーテキスト マークアップ言語 (HTML) テーブルする、ソースまたは sortEmployees.xsl XSLT スタイル シートを Employees.xml XML ドキュメントに適用すると生成される、並べ替えられた XML 内で、 Employees.xml XML ドキュメントで含まれている) 社員 XML データを変換する XSLT コードを含む:
    <?xml version='1.0'?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:template match="employees">	<HTML>	<BODY>	<TABLE BORDER="1">	<TR>	  <TH>Employee ID</TH>	  <TH>Employee Name</TH>	</TR>	<xsl:for-each select="employee">		<TR>  		  <TD>		     <xsl:value-of select="employeeId"/>		  </TD>		  <TD>		     <xsl:value-of select="name/family"/>, <xsl:value-of select="name/given"/>		  </TD>		</TR>	</xsl:for-each>	</TABLE>	</BODY>	</HTML>   </xsl:template> </xsl:stylesheet>					
  5. それぞれ独立して、XSLT スタイルシートの Employees.xml ファイルに適用できます。 ソース XML の HTML テーブルの表記を生成する employeesHTMLTable.xsl を適用中に、Employees.xml ファイルでデータを並べ替える sortEmployees.xsl を適用します。 これら 2 つの XSLT 変換をパイプラインのファミリ名の順序を降順で並べ替えデータには、HTML テーブル表現を取得する (最初 sortEmployees.xsl を Employees.xml ファイルに適用を employeesHTMLTable.xsl、最初の変換によって生成された出力に適用)。
  6. コピーし、前述のパイプラインを実装する WebForm1.aspx Page_Load イベント プロシージャで次のコードを貼り付けます:
    'Load the source XML document (Employees.xml) into an XPathDocument object.Dim xmlDoc As New System.Xml.XPath.XPathDocument(Server.MapPath("employees.xml"))'Load the first stylesheet (sortEmployees.xslt) that sorts the data in employees.xml'into an XslTransform object.Dim xslt As New System.Xml.Xsl.XslTransform()xslt.Load(Server.MapPath("sortEmployees.xslt"))'Execute the first transformation and write the interim output (the sorted XML)'to a MemoryStream object. Using an in memory stream (as opposed to a FileStream object) 'to store the interim output generated by the first transformation is a better option from  'a performance standpoint as it avoids unnecessary disk I/O.Dim memStream As New System.IO.MemoryStream()xslt.Transform(xmlDoc, Nothing, memStream)'Reset the MemoryStream internal pointer to point to the 'beginning of the stream. This is required for the following line of 'code to be able to read the data from the memory stream.memStream.Position = 0'Load the interim sorted XML output in an XPathDocument object. 'Notice that a second XPathDocument object is created to do this. 'The reason for this is that the XPathDocument class does not implement a Load 'method (like the System.Xml.XmlDocument class) that can be used to re-load new XML data into an existing 'object instance. While a single XmlDocument object could have been used to execute the two pipelined 'transformations in this sample, it has not been chosen because the XPathDocument is highly optimized for XPath query 'execution and XSLT transformations. It is the recommended interface to use when programatically executing 'XSLT transformations in .NET applications.Dim interimDoc As New System.Xml.XPath.XPathDocument(memStream)'Load the second stylesheet(employeesHTMLTable.xslt)that transforms the sorted data to an HTML table'into the XslTransform object.xslt.Load(Server.MapPath("employeesHTMLTable.xslt"))'Execute the second transformation and stream the output directly to the 'ASP.Net Response object's OutputStream to display the results in the client browser.xslt.Transform(interimDoc, Nothing, Response.OutputStream)					
  7. 保存し、ソリューションをビルドします。
back to the top

サンプル ASP.NET アプリケーションをテストします。

  1. 開始して、ブラウザーで WebForm1.aspx を表示するには、 XSLTPiplelineDemo ASP.NET アプリケーションを実行します。
  2. コード WebForm1.aspx Page_Load イベント プロシージャは、XSLT 変換を実行するおり (ファミリ名に基づいて降順) で、並べ替えを表示する HTML テーブルの形式では、出力を生成、従業員の一覧を作成します。
  3. [ブラウザー] ウィンドウ、ASP.NET アプリケーションを終了するを閉じます。
back to the top

警告: この記事は自動翻訳されています

プロパティ

文書番号:320847 - 最終更新日: 01/17/2015 05:30:19 - リビジョン: 3.2

Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbhowtomaster kbbcl kbmt KB320847 KbMtja
フィードバック