ホームページ >バックエンド開発 >XML/RSS チュートリアル >XML ベースのデスクトップ アプリケーションのグラフィック コードの詳細な紹介
前述したように、XSL を通じて、同じデータをさまざまなデータ形式でエンド顧客に送信できます。XSL ファイルは、データの表示モードを記述し、多数の XSL を同じ XML ドキュメントに接続して、HTML に基づいた異なる表現を提供できます。実際、XML ベースのデスクトップ アプリケーションを構築できます。 Windows アーキテクチャに基づいたグラフィカル表現を以下に示します。
このアプローチを採用することの主な利点は 2 つあります。1 つ目は、プラットフォームや言語に依存しない方法でデータを操作できること、2 つ目は、プログラミングなしで実行できることです。同じデータの異なるビュー表現。
実際には、元のデータをXML形式に変換し、それをHTML形式で表現できるツールが必要です。実際、IE5.0 では、XSL のサポートを通じて、データのさまざまなビューを実現できます。組み込みの XSL プロセッサを使用して、XML ストリームから出力を生成できます。開発者はさまざまな XSL スクリプトを作成し、IE の組み込み XSL プロセッサを使用して処理できます。一方、ADO コンポーネントの固有関数を使用してレコードセットを XML 形式に変換できます。サンプル コードは次のとおりです。
If Dir(XML_FILE) = "" Then rs.Save XML_FILE, adPersistXML End If 这里常量adPersistXML表示使用一个XML纲要来保存记录集的内容 我们再仔细看一下Recordset对象的Save方法,其定义如下: Save([FileName As String], [PersistFormat As PersistFormatEnum = adPersistADTG])
すべてのパラメーターはオプションですが、初めてレコードセットをディスクに保存するときは、ファイルの名前を指定する必要があります。このメソッドを実行するときに有効なフィルターが存在する場合、フィルターを通過したデータのみが保存されます。 Recordset オブジェクトのメソッド Close を呼び出して Recordset オブジェクトを閉じると、ファイルは自動的に閉じられます。 Recordset がディスクに保存されたら、Open メソッドを使用してそれを読み取ることができます。具体的なコードは次のとおりです。
rs.open "c:\myrs.xml"
次に、IE5 の XSL データの表示に関する問題を分析します。 W3C のドラフト標準。ここでは、VB を使用して、ADO インターフェイスを通じてデータ ソース内のデータにアクセスするアプリケーションを構築する方法について説明します。結果のレコード セットは、さまざまな形式で表示できます。 XSL ドキュメントを記述することで、さまざまなビューを自由に追加できます。
たとえば、結果セットを抽出したら、VB の DataGrid コントロールを使用してデータを簡単に表示できます。具体的なコードは次のとおりです。
Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient queryString = "select * from Employees" rs.Open queryString, "NorthWind" 'NorthWind是微软的示例数据库,很容易在 'access或者是SQL SERVER中找到 rs.ActiveConnection = Nothing Set DataGrid1.DataSource = rs
多くの場合、これの 1 つのビューでは十分ではなく、必要があります。各フィールドは厳密に管理されています。テーブル全体のレコードは、テーブルとツリーの両方の形式で表現できます。複数のビューを提供すると、ユーザーはより快適に感じることができます。 XML と XSL を組み合わせると、IE5 の WebBrowser コントロールの機能を最大限に活用して直接ブラウジングできます。
ADO コンポーネント自体は、生成する XML ドキュメントから XSL ドキュメントを生成しません。これは、データの表示方法を変更するための汎用 XSL ドキュメントを自分で作成できないという意味ではありません。たとえば、ADO レコード セットを含む XML ドキュメントを表形式で自動的に表示するには、XML ドキュメントの先頭に次のコードを追加する必要があります:
<?xml-stylesheet type="text/xsl" href="simple.xsl"?>
この simple.xsl ファイルは同じディレクトリに配置する必要があります。 2 つのネストされたループが含まれる XML ドキュメントとして、最初のループは要素のすべての属性を列挙し、2 番目のループはレコードセット内のすべてのレコードを出力するために使用されます。
simple.xsl ファイルのコードは次のように表されます:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns:html="http://www.w3.org/TR/REC-html40" result-ns="" language="JScript"> <xsl:template match="/"> <html> <head> <title>RowsetSchema</title> <style> .stdText { font-Family:verdana; font-Size: 9px; } </style> </head> <body> <table width="100%" border="1"> <xsl:for-each select="xml/s:Schema/s:ElementType/s:attribute"> <th class="stdText"><xsl:value-of select="@type" /></th> </xsl:for-each> <xsl:for-each select="xml/rs:data/z:row"> <tr> <xsl:for-each select="@*"> <td class="stdText" valign="top"><xsl:value-of match="@*"/></td> </xsl:for-each> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
ここで注意する必要があるのは、指定されたノードのすべての属性を列挙するための構文です。実際には、任意の
Pass WebBrowser コントロールをデータ閲覧のエンジンとして使用すると、XML と XSL を使用してコンテンツをプレゼンテーション層から分離できます。このモデルでは、XSL は (プログラミング言語ではなく) マークアップ言語として機能します。 ) XML データの表示方法を説明します。新しいビューを追加するには、対応する XSL ドキュメントを追加するだけで済みます。実際、この Web ベースのドキュメント/ビュー モデルは、MFC のドキュメント/ビュー モデルと比較できます。
最後に、XSL と CSS の違いは何ですか? 重要な違いは、XSL は XML ドキュメント全体に適用されるのに対し、CSS は HTML タグの表示形式にのみ影響するということです。さらに、XSL は、XML データ ストリームから HTML 出力を生成するときに CSS を使用できます。コレクションは、ファイルの処理に使用されます。CSS は属性です。
上記は、XML デスクトップ アプリケーションのグラフィック コードの詳細については、PHP 中国語 Web サイト (www.php.cn) に基づいています。