XMLを使用してより良い、より応答性の高いWebページを作成する

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


XMLはExtensible Markup Languageの略です。これは高度に構造化されたマークアップ言語であり、人間と機械の両方が読み取れるように設計されています。しかし、XMLは、HTMLが言語であるように言語ではありません。 XMLには次のようなタグはありません

.

代わりに、XMLを使用すると、コーダーでタグを作成できます。さらに重要なことに、これらのタグを相互に関連付けることができます。したがって、XMLを使用すると、強力な方法でデータを格納できます。しかし、そのデータで何をすべきかについての情報は提供されません。ここで、XMLベースの言語(XHTML、RSS、SOAPなど)が登場します。ワードプロセッサやスプレッドシートなどのプログラムがアプリケーションに依存しない方法でデータを保存できる一般的な方法でもあります.

XMLの使用

Contents

マークアップ言語の簡単な歴史

マークアップ言語は、テキストファイル(データの読みやすさ)とバイナリファイル(データの正確な説明)の最良の要素を組み合わせる方法として始まりました。したがって、1980年代後半に、Standard Generalized Markup Language(SGML)が作成されました。データとその表示を正確に記述できるテキストベースの言語でした。 HTMLはSGMLに基づいた非常にシンプルなシステムでした.

しかし、HTMLがワールドワイドウェブの基礎として非常に人気を博したとき、より良いものが必要であることが明らかになりました。 HTMLには制限があり、適切にフォーマットされていなかったため、ブラウザはあらゆる種類のコードを解析する必要がありました。たとえば、終了タグがしばしば省略され、タグ属性が引用符内に配置されませんでした。このようなコードを覚えてください?

  • バグバニー
  • ダフィーダック
  • フォグホーンレグホーン

XMLを入力してください

構造が不十分なHTMLは、途方もなく複雑であるため、SGMLで置き換えることはできません。 HTMLをPostScriptに置き換えるようなものでした。したがって、1990年代半ばに、XMLに関する作業が始まりました。これは、プログラマーがデータとその関係を記述できるようにするSGMLのサブセットです。また、スタイルシートを使用すると、考えられるほとんどすべての方法でデータをフォーマットして送信できます。しかし、SGMLとは異なり、そのための解析プログラムの作成はかなり簡単です。そして1998年の初めに、W3Cは最初のXML標準をリリースしました.

XMLを使用する理由?

これはすべて抽象的なものに聞こえるかもしれません。結局のところ、データの保存におけるXMLの強力さに関係なく、Webブラウザーはデータのリスト以外のものをどのように表示するのでしょうか。しかし、それがポイントです。初期のHTMLの大きな問題は、データとレイアウト情報がドキュメント全体に散在していたことでした。 HTMLコードをほとんど読めなくするために、テーブルで何らかのページレイアウトを行う必要があったときのことを覚えていますか?今日は、スタイルシートを使用して、表示された情報からレイアウトコードを分離しています。したがって、レイアウトが完了したら、データを維持および追加することは簡単です.

ただし、XMLはHTMLの代わりにはなりません。最も一般的なシステムでは、XMLは人間が読めるデータベースの一種です。しかし、別の方法であるExtensible Stylesheet Language Transformations(またはXSLT)を使用することで、HTML Webページ(さらにはもっとたくさんのこと!)に変えることができます。 XML文書を他のXML文書に変換します—たとえば、XHTML文書。しかしさらに興味深いことに、XMLはRSSやSOAPなどに使用されます。.

基本的な例

データをXMLファイルに入力する方法の非常に基本的な例から始めましょう.

<?xmlバージョン="1.0" ?>

Bullwinkle
2
10

ボリス・バデノフ
4
0

これらのタグはXMLで定義されていないことに注意してください。それらはコーダーによって定義されます。 XMLが知っていること(そしてこれは重要です)は、キャラクターがcartoon_charactersの一種であり、各キャラクターに名前、知性、運の特性があることです。他の特性(種など)だけでなく、さらに多くの文字(Wrongway Peachfuzzなど)を追加でき、XMLパーサーには影響しません.

順不同のリストで文字名を表示するXHTMLファイルを作成するXSL変換ファイルを作成することにより、これをさらに一歩進めることができます。最初に、ファイルをXMLとして定義する最初の行の直後に、前のXMLコードにコード行を追加する必要があります。次のようになります。

<?xmlバージョン="1.0" ?>
<?xml-stylesheet type ="テキスト/ xsl" href ="bullwinkle.xsl"?>

.
.
.

次に、「bullwinkle.xsl」という名前のXSLファイルを作成します。

<?xmlバージョン="1.0" encoding ="UTF-8"?>

ロッキーとブルウィンクルショー

漫画のキャラクター

次に、元のXMLファイルをロードすると、XHTMLファイルのように表示されます.

これらのファイルを実験して、何が起こっているのかをよりよく理解することができます。しかし、最も重要なことは、XMLファイルにデータを追加しながら、XSLファイルをそのままにしておくことができるということです。.

もっとあります

XMLは大きなテーマです。つま先をいくつかの非常に深い水に浸したところです。ウィキペディアには約200のXML言語がリストされています。もちろん、これにはXHTMLなどが含まれます。ただし、XML暗号化(データ暗号化用)やXML署名(デジタル署名用)などの密接に関連するXMLツールも含まれています。しかし、それ以外にも、言語にはさまざまな重要な側面があります。

  • 名前空間:名前の競合なしに単一のXMLファイルに異なるデータセットを存在させる方法.
  • ドキュメントタイプの定義:Webサイトのコーダーが通常、理解せずにドキュメントにコピーアンドペーストするだけの恐ろしいDTD.
  • スキーマ:使用方法を制限するためにXMLドキュメントを構造化する方法.
  • データベース:データベースストレージへの非SQLアプローチ。さまざまなものが利用可能です.

オンライン資料

オンラインには、XML関連の資料が大量にあります。実際、圧倒されるほどたくさんあります。その結果、XMLのコアトピックのみに固執するように努めました。しかし、あなたはここにあなたのXMLコーディングのキャリアでこれまでに持つであろうどんな質問についてもちょうど答えるリンクを見つけるでしょう.

チュートリアル

  • XML入門:W3 Schoolsの基本的なXML入門—多数の例でわかりやすい
  • XMLの基礎– XMLの紹介:古い紹介ですが、いくつかの高度な例を紹介します。.
  • MøllerとSchwartzbachのXMLチュートリアル:基本的だが非常に広範なXML入門.
  • XML Master Basic Edition:非常に明確な認定指向のチュートリアル.
  • WebucatorのXML無料チュートリアル:詳細なチュートリアル—より簡単なチュートリアルのいずれかを実行した後の優れた選択肢.
  • Skew.org XMLチュートリアル:別の高度なチュートリアル.

ビデオチュートリアル

  • 初心者のためのXMLチュートリアル:Portnov Computer SchoolによるXLMの紹介.
  • XML with Java:David J Malanによる13のビデオ講義で構成される無料のオンラインコース.
  • コンピューターサイエンスE-75講義3:ハーバード拡張コース「Building Dynamic Websites」から。この講義はXMLに焦点を当てています。 2時間もかからずに、独自のXMLベースのWebページを作成するために必要なすべての情報を提供します。注:PHPの知識があることを前提としています.

データソース

  • W3C XMLページ:XMLに関するすべて—特に今後のイベント.
  • W3Cアーカイブ:多数の推奨事項とグループノート。一般ページには、他のXML関連トピックに関する情報へのリンクがあります.
  • 注釈付きXML 1.0仕様:未加工の仕様を理解するのは難しい場合がありますが、このバージョンでは、追加の履歴、技術的な詳細、アドバイス、その他多くの機能が提供されます.
  • Extensible Markup Languageのよくある質問:迅速な回答を得るための非常に基本的なFAQ.
  • XML FAQ:XMLの基本的な側面と高度な側面に関する質疑応答の素晴らしいコレクション.
  • XML名前空間に関するFAQ:名前空間に関する詳細な質問と回答.

高度なトピック

  • XMLとデータベース:Ronald BourretによるXMLデータベースの完全な紹介。リンクの完全なリストが含まれています。それらの多くは死んでいますが、インターネットアーカイブで見つけることができます.
  • Skew.org XML & XSLTリソース:主に一連のXSLTの例ですが、XMLに関連するすべてのものへのリンクの優れたリストなど、その他の情報も含まれています.

大規模な主題XMLが何であるかを考えると、1冊か2冊の本があると本当に役立ちます。.

XMLの学習

  • David HunterとJeff RafterによるXML第4版の始まり:RSSやSOAPなどの詳細なセクションを含む優れた入門書.
  • Erik RayによるLearning XML、Second Edition:XMLの完全な紹介.
  • Fawcett and AyersによるXMLの始まり:XMLの基本的な紹介.

XMLリファレンス

  • Harold and MeansによるXMLの概要:古典的ですが絶版となり、一般に高価です。しかし、あなたはヤードセールでコピーを見つけることができるかもしれません.
  • St LaurentとFitzgeraldによるXMLポケットリファレンス:それが何を言っているか—参考のためにシャツのポケットに入れておくことができる小冊子.
  • XML:Heather Williamsonによる完全なリファレンス:古い1000ページのリファレンス。周りにいると良い.

XMLコーディングツール

  • Altova XMLSpy:Microsoft Windows用の完全なXML統合開発環境。それはかなり高価ですが、プロの開発者にとって、良い投資です.
  • XMLエディター:エディターではなく、デバッグ、プロファイリング、その他のツールを提供します。これはJavaベースであるため、どのプラットフォームでも実行できます。それはまた高価ですが、手頃な価格のアカデミックライセンスと個人ライセンスを利用できます.
  • Stylus Studio:エディターとXSLTビジュアルマッピングツールを含むMicrosoft WindowsベースのXML開発スイート。それはかなり高価ですが、手頃な価格のホームエディションを提供しています.
  • EditiX XML Edit:手頃な価格のエディター、デバッガーなど。また、無料のEditiX Liteバージョンも提供しています.
  • ウィキペディアのXMLエディターのリスト:オープンソースからプロプライエタリ、Webベースまで、多くのエディターが利用可能です.

XMLバリデーター

XMLは高度に標準化されているため、優れたツールです。これはうるさいということです。したがって、コードが有効なXMLであることを確認することが重要です。ここで取り上げたツールの多くには、独自のXMLバリデーターが含まれています。しかし、コーディングプロジェクトに役立つ無料のXMLバリデーターがたくさんあります.

  1. W3Cマークアップ検証サービス:URI、ファイルのアップロード、直接入力で検証できる汎用ツール.
  2. W3 Schools XML Validator:使いやすいオンライン検証ツール.
  3. XML検証:直接入力またはファイルのアップロードを可能にするシンプルなオンライン検証ツール.
  4. コードビューティファイXMLバリデーター:読みやすいようにコードをフォーマットする単純なバリデーター.
  5. XMLチェック:スタンドアロンのWindows XMLバリデーター.
  6. XMLスキーマバリデーター:XMLおよびスキーマ定義のバリデーター.

XMLとドキュメントオブジェクトモデル

HTMLによるXMLの強力な使用法のため、XMLがドキュメントオブジェクトモデル(DOM)にどのように関連しているかを理解することが重要です.

XMLおよびHTML

XMLを初めて耳にしたとき、XMLをHTML(Hypertext Markup Language)の代替として考えたことがあるかもしれません。 XMLがそのように使用できることはわかっていますが、それはかなり珍しいことです。これは、データをHTMLドキュメントに取り込むのが最も効果的です。.

概念的な例を見てみましょう.

function getXMLData(){
/ * XMLファイルからデータを取得するJavaScript関数を挿入* /
}
document.getElementById("データ").innerHTML = getXMLData();

コードは実際には何もしませんが、HTMLとXMLを組み合わせて使用​​する方法を説明するために使用できます。上記のコードでは、HTMLは空のdivを定義し、これはXMLファイル内のデータのコンテナーとして機能します。次に、JavaScript関数が定義されます。関数は空ですが、実際のアプリケーションでは、この関数はXMLファイルを識別し、ファイルからデータを引き出し、データにHTMLタグを追加して、ブラウザーによって適切にレンダリングされるようにします。.

適切に記述された関数が配置されている場合、HTMLのこのビットが読み込まれると、データdivは空ではなく、JavaScript関数によって定義されたコンテンツが含まれます.

XMLの力を見始めていますか?この構成では、データベースを使用してWebページのコンテンツを更新できるのと同じように、参照されたXMLファイルを更新することにより、Webページに表示されるデータを動的に更新できます。.

ドキュメントオブジェクトモデルとは?

ドキュメントオブジェクトモデル(DOM)は、HTMLおよびXMLドキュメントの操作に使用されるプログラミングインターフェイスです。 JavaScriptまたは別のスクリプト言語を使用してWebページの要素を操作する場合、実際に行っていることは、HTMLドキュメント自体ではなくDOMを操作することです.

DOMは、Webページの作成に使用されるソースドキュメントと、そのWebページを変更するスクリプトとの間の仮想層です。 DOMは、ブラウザによってレンダリングされ、ブラウザのメモリに保存されるWebページのバージョンと考えてください。 DOMは、Webブラウザー内に存在するWebページの動的表現であり、スクリプト(最も一般的にはJavaScript)によってアクセスおよび変更できます。.

XML DOMの概念化

XML DOMの内容は、スクリプトで操作できます。ただし、ノードと呼ばれるXML DOM要素間の関係を理解する必要があります。.

以前のXMLサンプルコードの簡略版を見てみましょう。

<?xmlバージョン="1.0" encoding ="UTF-8"?>

マックス

2014年7月7日

XML DOMはノードで構成されています。 XML DOMのすべての部分はノードです.

  • ドキュメントノード:XMLドキュメントのコンテンツ全体がドキュメントノードを表します.
  • ルートノード:XMLドキュメントの最初の要素はルートノードと呼ばれます。この場合、ルートノードは .
  • 親ノードと子ノード:親と子という用語は、DOM要素とその中にネストされた要素の間の関係を表すために使用されます。サンプルコードでは、要素ノードはノードの親であり、ノードには名前、タイプ、誕生日の3つの子があります。ルートノードを除くXMLドキュメント内のすべてのノードには、親ノードが1つだけあり、子ノードをいくつでも含めることができます。.
  • 兄弟ノード:2つのノードが両方とも同じ親の子である場合、それらは兄弟ノードと呼ばれます。この例では、名前、タイプ、誕生日が兄弟ノードです.
  • テキストノード:要素内に含まれるテキストは、XML DOM内のテキストノードとして定義されます。これは重要な違いです。テキストノード内のテキストを取得する場合は、子ノードの値ではなく、テキストノードの値として参照する必要があります。つまり、「Max」というテキストへのパスは次のようになります。ペット > ペット > 名前 > テキストノード > 値:「最大」

XML DOMの操作

一般に、JavaScriptはXML DOMの操作に使用されます。 JavaScriptを使用して、XML DOMのノードからさまざまなプロパティを取得できます。一般的にアクセスされるXML DOMプロパティは次のとおりです。

  • nodeValue:ノード内に含まれる値を取得します.
  • parentNode:親ノードを参照します。このプロパティをサンプルXMLの名前ノードに適用する場合、ペットノードを参照します。.
  • childNodes:ノードの子を参照します。上記のコードでペットノードに適用した場合、このプロパティは名前、タイプ、誕生日ノードを返します.

JavaScriptは、XML DOMノードのプロパティを参照するだけではありません。 XML DOMをアクティブに操作するために使用される最も一般的なJavaScriptメソッドの一部を以下に示します.

  • getElementsByTagName:JavaScriptを使用してHTML要素を操作したことがある場合は、このメソッドを認識できます。 XMLコードの例から「pet」や「name」などのXML DOM要素の名前をドロップして、これらの要素にアクセスします。.
  • appendChild:このメソッドは、ノードに子ノードを追加するために使用されます.
  • removeChild:親ノードからノードを削除します。データは元のXMLファイルに残り、ブラウザによって作成されたDOMから削除されるだけであることに注意してください.

多くの追加のXML DOMメソッドとプロパティがあります。ただし、JavaScript、XMLを十分に理解し、XMLデータを使用してこのトピックをさらに進めるための計画を知っている必要があります。.

資源

オンラインチュートリアルは無数にあり、他のチュートリアルよりも優れているものもあります。数十のXML DOMチュートリアルを見てきた後、次のチュートリアルで最速の速度で学習できると思います.

  • W3Schools:XMLチュートリアルとXML DOMチュートリアル.
  • Microsoft Developer Network:XML​​ DOMの初心者向けガイド
  • Sitepoint:A Really、Really、Really Good Introduction to XML、DOMの操作をカバーする25,000語のXMLの紹介。このチュートリアルは、実際には、Thomas Myer著、No Nonsense XML Web Development With PHPと呼ばれるより長い本の最初の4つの章です。.
  • チュートリアルポイント:XML DOMチュートリアル.
  • Mozilla Developer Network:DOMの概要.

チュートリアルよりも構造が少し多い学習形式を好む場合は、XMLとXML DOMをカバーする次のオンラインコースのいずれかに興味があるかもしれません。.

  • Udemy:初心者からエキスパートまでのXML
  • Lynda:XMLエッセンシャルトレーニング.

XMLは長い間存在しています。その結果、多くのXMLテキストが長年にわたって作成されてきました。以下は、XML DOMをカバーし、読者から高い評価を得ている最新のXMLタイトルです。

  • Fawcett、その他によるXMLの開始.
  • Patrick CareyによるHTML、CSS、およびXMLの新しい展望
  • Sam KeyによるXMLプログラミングの成功
  • Harold and MeansによるXMLの概要
  • Sas JacobsによるDOMとAjaxによるXMLの開始.

本格的なHTMLコーダーはXMLを知っておくべき

XMLは、多くの異なる方法で使用できる形式でデータを転送するための強力でシンプルな言語です。 XML DOMは、XMLデータを操作および操作するためにブラウザーによって作成されたモデルです。 XML DOMの操作方法を理解すると、Webページやアプリケーションで使用するXMLデータを取得、変更、およびスタイルできるようになります。.

MSXML:MicrosoftのXML

Microsoft XMLコアサービス(MSXML)は、Microsoft開発ツールを使用してXMLベースのアプリケーションを作成するためのMicrosoftツールとサービスのセットです。.

MSXMLは実際には、World Wide Web Consortium(W3C)に準拠したアプリケーションプログラミングインターフェイス(API)のセットであり、無数のソフトウェア開発者によって広く使用されています。.

MSXMLの簡単な歴史

長年にわたり、MSXMLは数多くの更新とリリースを経ており、通常はInternet ExplorerやMicrosoft Officeなどの他のMicrosoft製品と共にリリースされています。.

  • MSXML 1.0は1997年にリリースされ、Internet Explorer 4.0に同梱されていました.
  • MSXML 2.0aは1999年にリリースされ、Internet Explorer 5.0に同梱されていました.
  • MSXML 2.5は2000年にリリースされ、Windows 2000、Internet Explorer 5.01、およびMDAC 2.5に付属しています。.
  • MSXML 2.6は2000年にリリースされ、Microsoft SQL Server 2000およびMDAC 2.6とともに出荷されました.
  • MSXML 3.0は2001年にリリースされ、Windows XP、Internet Explorer 6.0、およびMDAC 2.7とともに出荷されました.
  • MSXML 4.0は、独立したソフトウェア開発キット(SDK)として2001年にリリースされました.
  • MSXML 5.0は2003年にリリースされ、Microsoft Office 2003およびOffice 2007に付属しています。.
  • MSXML 6.0は2005年にリリースされ、Microsoft SQL Server 2005、Visual Studio 2005、.NET Framework 3.0、Windows Vista、Windows 7、およびWindows XP Service Pack 3に付属しています。.

MSXMLバージョン1.0、2.0a、2.5、2.6、および4.0は廃止され、非推奨になりましたが、バージョン3.0、5.0、および6.0は引き続きMicrosoftによってサポートされます.

MSXMLの機能

MSXMLは、XMLベースのアプリケーション用のネイティブWindows APIであり、XML 1.0標準に準拠しています。.

MSXMLが提供するサービスには、Document Object Model(DOM)— XMLドキュメントにアクセスするためのライブラリが含まれます。 Simple API for XML(SAX)— DOM処理のプログラムによる代替。 AJAXおよびRESTfulアプリケーションを実装するためのXMLHttpRequestおよびサーバーXMLHTTPRequest。 DOMドキュメントに対するXPath 1.0クエリの使用。 XSLT 1.0を使用したXML変換。 XmlSchemaCacheによるXSD 1.0仕様のサポート.

すべての新しいアプリケーションは、MSXMLの最新バージョンであるMSXML 6.0、またはネイティブコードプロジェクト用の軽量XMLパーサーであるXmlLiteに準拠するように作成する必要があります。.

MSXMLの使用

MSXMLサービスは、プログラムでObject Linking and Embedding(OLE)オートメーションコンポーネントとして公開されており、C、C ++ネイティブプログラミング言語、またはJscriptおよびVBScriptアクティブスクリプト言語を使用する開発者が使用できます。.

C#、Visual Basic、マネージC ++、またはその他のマネージプログラミング言語で.NET Frameworkをターゲットとするマネージコードを記述している場合、MSXMLコンポーネントオブジェクトモデル(COM)コンポーネントの使用は推奨またはサポートされていません。 MSXMLは、.NET Frameworkと互換性のない特定のスレッドモードとガベージコレクションルーチンを使用します。 XML機能は、System.Xml名前空間のクラスまたはLINQ to XML(どちらも.NETフレームワークにネイティブ)のクラスを使用して、.NETアプリケーションに実装する必要があります。 COM相互運用性を介して.NETアプリケーションでMSXMLを使用すると、デバッグが困難な予期しない問題が発生する可能性があります.

MSXMLは、WebアプリケーションでのXMLの処理、またはドキュメントオブジェクトモデル(DOM)を使用したスタンドアロンプ​​ロセスとしてよく使用されます。 DOMおよびSimple API to XML(SAX2)は、ActiveXまたはCOMオブジェクトを使用できる任意のプログラミング言語で利用できます。.

MSXMLを使用して学ぶべきか?

プログラミング作業が.NET Frameworkを使用するアプリケーションを中心に展開する場合、.NETプロジェクトでの使用は推奨されていないため、MSXMLについて心配する必要はありません。.

一方、XMLと対話するネイティブコードまたはスクリプトプログラミング言語プロジェクトで作業している場合は、MSXMLまたはその軽量の代替XmlLiteを使用している可能性があります。.

MSXMLには、NativeXMLなどのオープンソースの代替手段が多数ありますが、プログラミング言語をサポートする代替手段を選択する必要があります.

MSXMLリソース

XMLと対話するプログラムで作業していて、それらのプログラムが.NET Frameworkに依存していない場合は、MSXMLに関する次のリソースを参照してください。

  • Microsoft Developer NetworkのMSXMLドキュメントセクションでは、MSXMLの完全な概要とドキュメントを提供しています。.
  • Microsoft Developer Network Learn MSXMLセクションでは、初心者向けガイド、チュートリアル、MSXMLの使用法をカバーするユーザーフォーラムなどの役立つリソースを提供しています。このページからMSXML6をダウンロードすることもできます.
  • ASP / Free Webサイトには、優れたMSXMLチュートリアルがあります。このチュートリアルでは、MSXMLとは何か、JavaScriptを使用してXMLドキュメントにアクセスする方法について説明します。これは、Jim Keoghと​​Ken DavidsonによるXML DeMYSTified(2005)の第10章からの抜粋です。.

MSXMLブック

MSXMLを具体的に取り上げた本は、オンラインで利用できる十分なMSXMLリソースがあるという事実もあって、非常にまれです。また、スクリプト言語プログラミングに関する多くの本には、MSXMLに関する章があります。場合によっては、これらの章は非常に包括的で詳細なものもありますが、MSXMLの基本的な概要を提供するだけのものもあります。.

  • Msxml 4.0を使用したXMLアプリケーション開発(2002)(Ayersら):この本はMSXML 4.0をカバーしていますが、現在は廃止されています。それにもかかわらず、読者は多くの例が役立つと感じるかもしれません.

MSXMLの学習に時間をかけるべきか?

MSXMLは廃止されておらず、まだ広く使用されていますが、その長期的な関連性については議論の余地があります。開発の速度が低下し、MSXMLの時代が到来しなくなった.

ただし、MSXMLは依然として多くのプロジェクトで使用されていますが、その潜在的なアプリケーションの範囲は縮小しています。まず、.NET Frameworkでは使用しないでください。 XMLの相互作用を確実にする唯一の方法でもありません。さまざまなオープンソースの代替が利用可能ですが、それらのそれぞれを扱うことはこの記事の範囲を超えていました.

それでもMSXMLを習得したい場合、または単に古いスキルを磨き上げる場合は、新しいリソースを見つけるのが難しい場合があります。多くのMSXMLリソース、特に本やその他の印刷リソースは、ひどく時代遅れであり、非推奨のバージョンのMSXMLをカバーしています。これはそれらを役に立たなくするわけではありませんが、それらの有用性を制限し、MSXML 6.0に適用されることを確認するために、あなたが読んだものの多くを再確認することを強います.

MSXML 6.0は10年以上前にリリースされ、Microsoftはまだ(技術的に)サポートしていますが、MSXMLの終わりが近づいていることは明らかです.

文書型定義

文書型定義(DTD)は、SGMLの種類の言語の構造、特にXMLの構造を定義する方法を提供します.

XML

XMLを使用してメールをマークアップしたいですか? 、、およびを使用する場合があります。または、XMLを使用してレコードコレクションの詳細を保存している場合、、などのタグがある場合があります。.

しかし、問題があります。誰もがの代わりに、またはの代わりに使用するように、タグのセットをどのように定義しますか ?

文書型定義

解決策はDTD —ドキュメントタイプ定義です.

DTDは、XMLドキュメントが持つ可能性のある要素を指定するドキュメントです。どの要素を別の要素内にネストできるか、どの要素が必須またはオプションであるか、およびどの属性を要素に含めることができるかについての情報が含まれています.

DTD言語(それ自体はSGMLの派生物)は、要素名と属性のこの構造を指定する方法を提供します。結果の定義を使用して、XMLドキュメントを検証し、定義に準拠していることを確認できます。.

検証する理由?

HTMLドキュメントは(通常)人間が読むことを目的としています。マークアップは、主に意味論的およびプレゼンテーションの目的であり、ドキュメントをレンダリングするためにWebブラウザーによって使用されます—ただし、HTMLの最終ユーザーは、ほとんどの場合、Webページを見る人です.

したがって、HTMLの検証は重要かつ役立ちますが、厳密に必要というわけではありません。ブラウザは寛大な傾向があり、マークアップが少しずれていても人間は意味を理解できます.

しかし、XMLはWebページではなくデータの送信に使用されます。 XMLは通常、人間ではなく別のソフトウェアによって消費されます.

通常、あいまいさや間違いをする余地はありません。さらに、攻撃者が悪意のあるコードをXMLに埋め込む可能性があるため、XML入力を受け入れるアプリケーションは、受け取ったすべての入力を信頼できません。.

HTMLは、公開プロセスの一種の「プルーフリーディング」ステップとして、作成者によって検証されることがほとんどです。一方、XMLはほとんどの場合、受信者によって検証されます。これは、アプリケーションが実際にXMLデータで何かを行う前に、セキュリティを確保し、エラーを回避するために行われます.

DTDとXSD

DTDは、XML用に考案された最初のドキュメント定義フォーマットです。これには一定の制限があり、DTD自体がXMLではないということもあります。 DTD文法は構文解析がやや難しく、XML構文解析とは異なるツールセットが必要です.

XSD — XML Schema Definition —は、DTDをいくつかの点で改善した後の標準です。 XSDドキュメントは、それ自体が有効なXMLです。 XSDは各要素のデータ型を指定できます。たとえば、要素に日付と時刻、数値、文字列、または別のタイプのデータを含めるかどうか.

これらの理由により、XSDはトランザクションXML(つまり、APIの一部として生成、送信、および受信されるXML)を検証するために一般的になっています。たとえば、XSDはSOAPで使用されます.

DTDは(人間にとって)作成と読み取りが容易であるため、情報の公開にXMLが使用されていた状況でも人気がありました。.

ただし、このXMLの使用方法は、HTML5の台頭とHTMLとXMLの相違の拡大に伴い、時代遅れになっています。今日、XML + XSDに代わる軽量の代替手段を探しているAPI開発者は、XMLやDTDを使用するよりも、JSONを使用する傾向があります。.

しかし、まだ多くのDTDが使用されています。レガシーWebテクノロジー、特に90年代後半に構築されたデータシステムに取り組んでいる場合、ある時点でDTDを使用していることに気付くでしょう。あなたがあなたの方法を見つけるのを助けるために、私たちは見つけることができる最高のDTDチュートリアル、リソース、およびツールをまとめました.

DTDチュートリアル

  • XMLのドキュメントタイプ定義(DTD)の構築は、ニューメキシコ鉱業技術研究所のDTDのよく説明された概要です。.

  • W3SchoolsのDTDチュートリアルは、トピックへの体系的な紹介を提供し、このトピックに来たばかりの場合に開始するのに適した場所です.

  • XMLおよびDTD(PDF)は、XMLファイルの構造の説明を提供し、DTDが特定のXMLドキュメントタイプを定義する方法を示します。これは、DTDについて学びながらXMLの基本をブラッシュアップする必要がある場合に適したチュートリアルです。.

  • XML DTD — Introduction to XML Document Type Definitionsは、DTDの作成とそれに対するXMLドキュメントの検証について読者に説明する7部構成のチュートリアルです。.

  • XML DTDの読み方に関する10分間のガイドは、XML文書型定義の読み方と解釈方法に関する簡単な概要であり、XMLまたはDTDについてすでにどれだけ知っているかについては想定していません。.

  • DTDチュートリアルは、コミュニティが作成したEduTech Wikiのリソースです.

その他のDTD学習リソース

  • XML Schema、DTD、およびEntity Attacks(PDF)は、XML検証にDTDを使用するシステムで発生する可能性のあるセキュリティの脆弱性を詳述した論文です。.

  • XML Coding Exercisesは、DTDの構築と使用に関する記事を含む、一連のJavaベースのチュートリアルと演習です。.

  • SGML Exceptions and XMLは、複雑な包含および除外ルールを持つDTDの構築に関する高度なチュートリアルです.

  • Generic Programming for XML Toolsは、DTD対応のXMLツールを汎用プログラムとして実装することに関する高度なペーパーです。.

  • XML DTDとXMLスキーマは、DTDとXSDの違いを説明しています。これは、XMLドキュメントの構造を定義する2つの方法です。.

DTDツール

  • オンラインXMLバリデーターにより、ファイル自体に記載されているDTDに対してXMLファイルをすばやく検証できます.

  • Xmllintは、XMLファイルを解析およびリントするためのコマンドラインツールです。 DTDに対して迅速に検証するために使用できます.

  • DTDGeneratorは、指定されたXMLドキュメントに基づいてDTDドキュメントを生成するツールです。.

  • DTD2SchemaはDTDファイルをXSDに変換します.

  • プラットフォーム別のXMLツールは、さまざまな言語およびプラットフォーム用のXMLツールの包括的なリストです。これらのほとんどを使用して、DTDファイルを作成したり、DTDに対してXMLドキュメントを検証したりできます。.

DTDの結論

DTDはもうあまり使われていないように見えるかもしれません。 XMLの世界では、XSDに取って代わられました。そして、XML自体は主に新しいテクノロジーに置き換えられています.

しかし、多くのレガシーおよび大規模エンタープライズシステムは、引き続きXMLとDTDを使用しています。大規模なエンタープライズシステムで作業する場合、または.NETなどのエンタープライズWebツールを使用して開発する場合は、DTDと関連する標準に精通している必要があります。.

ECMAScript for XML

ECMAScript for XML(通常はE4Xと呼ばれます)は、XMLデータを扱いやすくするために設計されました.

ECMAScriptについてあまり詳しくない方もいらっしゃるかと思いますが、ECMAScriptが最も人気のある実装であるJavaScriptについてきっと耳にしたことでしょう。.

実際、E4XはJavaScriptのボルトオン拡張であり、JavaScriptがJSON形式のデータのネイティブサポートを含むのと同じように、XMLデータのネイティブサポートを追加します。.

E4Xは広く採用されたことはなく、最新のすべてのブラウザーから削除されましたが、一部のFlash他のアドビ製品ではまだ使用されています.

E4Xとは?

今、あなたは自分で考えているかもしれません:「しかし、JavaScriptを使用してXMLデータにアクセスできます!」そして、あなたがその考えを持っていたなら、おめでとうございます、あなたは正しいです!ただし、JavaScriptを使用したXMLデータへのアクセス方法とE4Xを使用したXMLデータへのアクセス方法には大きな違いがあります。.

最新のJavaScriptを使用して、XML DOMをトラバースできます。つまり、XMLデータは独立したエンティティとして存在し、JavaScriptを使用してそのデータと対話できます。.

ただし、データ自体は、スクリプト自体の一部になるのではなく、常に別のエンティティ(スクリプトで使用されるリソース)のままです。.

一方、E4Xを使用すると、JavaScriptでXMLデータをインポートまたは作成して、プリミティブデータ型として扱うことができます。つまり、XMLデータは実際にはスクリプト自体の一部であり、配列、文​​字列、オブジェクトなどの他のデータ型を操作できるのと同じように操作できます。.

つまり、E4XはXMLデータの操作をより柔軟なプロセスにし、データの解析を高速化します。これは、外部リソースではなくプリミティブデータタイプとして存在するためです。.

E4Xはかなり素晴らしいですね。 XMLを定期的に使用する場合、E4Xがすべてのブラウザーでネイティブにサポートされていないのはなぜか疑問に思われるかもしれません。 E4Xに何が起こったかを理解するために、テープに行きましょう.

E4Xの歴史

E4Xは、もともとTerry LucasとJohn SchneiderによってBEA Systemsで開発され、2002年に初めてBEA WebLogic Platform 7.0に実装されました。.

これは、2004年に2年以上後にリリースされたE4X仕様の正式な完成に先立って行われました。その後すぐに、FirefoxによってE4Xが実装され、AdobeのActionScript 3にもサポートが追加されました.

この初期の採用にもかかわらず、E4Xの実装にはばらつきがあり、一貫性がありませんでした。 JavaScriptの作成者であり、Mozillaの創設者であるブレンダンアイヒは、「E4Xはクレイジーランド」と言っていると伝えられています.

さらに、Googleの調査科学者であるMark S Millerは、FirefoxのE4Xの実装が「(公式のE4X)仕様とは異なる方法で記述されていない方法」から逸脱していることを確認しました。

E4Xの生ぬるい受け入れに貢献したかもしれないもう1つの要因は、JSONの同時開発でした.

JSONは、E4XがXMLで解決しようとした同じ問題の多くを解決しましたが、JSONは、ボルトオンのECMAScript拡張を必要とせず、E4Xを悩ませる一貫性の問題なしにそれらを解決しました.

言い換えれば、E4XはFirefoxとAdobeによる早期の採用を楽しんでいましたが、一貫して実装されず、JSONなどのライバルに負けたことはありませんでした。その結果、ブラウザのサポートがFirefoxを超えて拡張されることはありませんでした.

E4XサポートがActionScript 3に追加されたため、E4Xのサポートは、ActionScript 3を実装するすべてのアドビアプリケーションに組み込む必要がありました。その結果、E4Xはアドビ製品に存在しています。.

E4Xのブラウザーサポート

E4XはFirefoxで一度にサポートされていましたが、サポートは2012年10月にFirefoxバージョン16で廃止され、2013年1月にバージョン18でFirefoxから削除されました.

現在、E4Xは、Safari(Nitroエンジン)、Chrome(V8エンジン)、またはMicrosoftブラウザーのInternet ExplorerやEdge(どちらもChakraを使用)などの主要なブラウザーの背後にあるJavaScriptエンジンではサポートされていません。.

ただし、前述したように、E4XはECMAScriptのAdobe FlashフレーバーであるActionScript 3に統合されています。その結果、RhinoやTamarinなどのFlashに関連付けられたJavaScriptエンジンはE4Xをサポートします.

ただし、これらのエンジンはどちらも、一般的なコンシューマーWebブラウザーでは使用されません。つまり、Flashアプリケーションを作成している場合は、E4Xを使用できる可能性がありますが、汎用のWebプログラミングでは、標準のJavaScriptを使用してXML DOMをトラバースし、E4X拡張機能をスキップします.

最新のE4Xアプリケーション

E4Xについてさらに学ぶ必要がある場合は、Adobe Flashアプリケーションで使用することになるので、その可能性は十分にあります。 E4Xの最も現代的な使用は、Adobe Flashエコシステム内で発生します.

E4XはActionScript 3で実装され、Flash CS3、Adobe AIR、Adobe Flex、Adobe Acrobat、Adobe Readerなどの最新のアドビ製品によってサポートされています。ただし、アドビ以外のE4Xの実装は事実上存在しません.

E4Xリソース

ActionScriptまたはJavaSciptをすでに知っている場合は、E4XでXLMデータを操作する方法を学ぶのは難しくありません。 E4Xは、ECMAScriptレンダリングエンジンの単なるボルトオンコンポーネントです。その結果、XML固有の機能を習得するだけで、準備が整います。.

ほとんどのE4Xリソースはかなり古くなっています。ただし、E4Xの開発は進行中でないため、これらの日付の付いたリソースは依然として正確で有用です。 E4XとActionScriptを使用してXMLデータを操作するために必要な知識を習得できるように、最良のE4Xリソースのいくつかを追跡しました.

  • XML.com、Introducing E4X by Kurt Cagle:基本をカバーするE4Xの簡単な紹介.

  • Mozilla Developer Network | E4Xチュートリアル:このチュートリアルは廃止されました。しかし、コンテンツはまだしっかりしていて有用です.

  • Mozilla Developer Network | E4XによるXMLの処理:このチュートリアルは、前のMDN E4Xチュートリアルを完了した後の自然な次のステップです.

  • E4Xクイックスタートガイド:このガイドでは、E4Xの基本をすばやく説明します.

  • IBM developerWorks | E4X:ステロイド上のJavaScript:このガイドでは、XMLオブジェクトの作成、XMLデータへのアクセス、XMLデータの操作、計算の実行などについて学びます。.

  • ECMA-357、第2版、2005年12月:ECMAScript for XML(E4X)仕様:公式の、現在非推奨となっているE4X仕様。 E4Xの詳細を知る必要がある場合は、公式ドキュメントが利用可能な最も詳細なリソースです.

E4X結論

E4Xは、一貫して実装されておらず、競合するテクノロジーによって打ち負かされた優れたアイデアでした。ただし、これはActionScript 3をサポートする製品に存在し、ECMAScriptを使用してXMLデータを作成および操作するのに非常に役立ちます。.

XUL

XULまたはXMLユーザーインターフェイス言語は、Webまたはスタンドアロンアプリケーション用のリッチなGUIを作成するために使用できるタグで構成されています。これは主にMozilla Webブラウザーの拡張機能を開発するために使用され、実行にインターネット接続を必要としません.

XULを使用すると、ユーザーはテキストボックスや画像などの複数のGUI要素を指定して表示したり、さまざまなブラウザーイベントを処理したりできます。当初、このライブラリは「大規模なWebアプリケーションを構築するためのHTML言語のギャップ」を埋めるためにMozilla Foundationによって開発されました。ただし、Firefoxのメーカーが他の分野に注力することを決定したため、すぐに置き換えられます。.

それでも、XULは、XML型言語を使用してGUI要素を作成するための優れた入門書を提供します。詳細については、概説されたリソースを確認してください.

XULチュートリアル

次のチュートリアルは、XULを学ぶのに最適な方法です。提示された例を使用して、独自のプロジェクトに合わせてカスタマイズします.

  • Mozilla Developer NetworkのXULチュートリアルは、いくつかの言語機能の概要を説明する包括的なリンクセットを提供しています。サイトにアクセスする開発者には、ボタンの追加、メニューの作成、イベントの処理方法など、カバーされているいくつかのトピックが表示されます.
  • XULチュートリアルの例では、ライブラリのさまざまな要素を簡単に理解できる例でカバーしています。独自のWebアプリケーションですぐに使用できる包括的なソースコードファイルのセットをダウンロードすることもできます。.
  • XUL:The Web of User-interfaces on the Webは、2005年のO’Reilly OpenSource Conventionで発表されたXULチュートリアルの要約とプレゼンテーションスライドへのリンクを特徴としています。.
  • XULの紹介では、XULの概要と、XULがCSS、JavaScript、XMLなどの他のWeb言語とどのように連携しているかについて説明します。著者は、XULを組み込んだPHPスクリプトも取り上げています.
  • XULRunnerチュートリアルは、XULアプリケーションの実行に使用されるXULRunnerプログラムのセットアップ方法を示しています。このページでは、XULRunnerの構成について説明した後、XULコードの作成と実行についての手順を説明します。.
  • XUL Managerには、Firefox拡張機能へのダウンロードリンクがあり、開発者はXULアプリケーションを適切に表示して実行するために、ローカルアドレスとリモートアドレスを「ホワイトリスト」に登録できます。.

XULビデオチュートリアル

開発者は、学習内容を視覚化する機会を持つ必要があります。基本的な設定といくつかの例を実行するXULのビデオチュートリアルをいくつか示します.

  • Firefox Extension Developmentは、XUL開発用にシステムをセットアップする方法を開発者に示す一連のビデオの最初の部分です。ビデオシリーズは、XULアプリケーションの全体的な構造も示し、いくつかのコード例を紹介します.
  • 基本的なFirefox拡張ツールバーを開発する方法は、RDF、XUL、およびマニフェストファイルを含むシンプルなツールバーを開発するために必要なファイルとコードを示すステップバイステップチュートリアルです.
  • Ian McKeller – Developing XUL Applicationsは、XULの概要を示し、LinuxのグラフィカルマネージャーであるGNOMEでのアプリケーション開発のためのGtk +と比較しています。.

XULブック

オンラインチュートリアルを読んだり見たりする以外に、開発者はXULについて書かれた本を読むことができます。.

  • プログラミングFirefox:XULを使用したリッチインターネットアプリケーションの構築(2007)(Kenneth Feldt著)は、XULの概要を説明し、さまざまなコード例を紹介しています。開発者は、この本を使用して、UI要素の作成方法、イベントの処理方法、およびグラフィカルアプリケーションの構築方法を学ぶことができます。この本は、Chromeを含む追加のプラットフォームでのXULの実行についても説明しています.
  • StaeubleとSchumacherによるZK Developer’s Guide(2008)は、ZKフレームワークライブラリと、XULおよびAJAXと組み合わせてWebアプリケーションを構築する方法を示しています。.
  • Bullard、Smith、およびDacontaによるEssential XULプログラミング(2001)は、XULに関する詳細なリソースを提供しています。この本を読む開発者は、基本を学ぶだけでなく、JavaScript、CSS、RDFなどの他の言語をXULと組み合わせて使用​​する方法も学びます。著者は、XULアプリケーションの作成と、XULの実際の例について、順を追って説明します。.
  • John RichardsonによるXUL入門(2015)は、開発者がXULアプリケーションの開発をすぐに開始できるようにするためのリソースを提供するもう1つのより最近のeBookです。この本は、XULRunner、XPCOM、JavaScript、HTML、およびCSSと組み合わせてスタンドアロンアプリケーションを構築する方法をカバーしています.

代替XULリソース

XULに加えて、XAML for WPF(Windows Presentation Foundation)およびFXML for JavaFXを含む他のライブラリーも同様の機能を提供します。これらのライブラリを簡単に紹介するには、次のリソースを参照することをお勧めします。.

  • TutorialsPointのXAMLチュートリアルでは、XAMLの基本構造と、コントロール、レイアウト、イベント処理などのレスポンシブアプリケーションGUIを構築するために使用できるさまざまなコンポーネントを紹介しています。このチュートリアルでは、環境のセットアップも行い、スクリーンショット付きのVisual Studioセットアッププロセスについても説明します.
  • WPFチュートリアルでは、XAMLと組み合わせてWPFライブラリを使用してカスタムコントロールを作成し、動作を指定する方法に関する一連のチュートリアルを紹介しています。 WPFは.NETフレームワークの一部であり、開発者はXAMLを介してGUI要素を指定しながら、C#またはVB.NETを使用してアプリケーションを作成できます。.
  • OracleのFXMLチュートリアルは、FXMLを使用してテキストボックス、ボタン、レイアウトなどのGUI要素を指定する方法を開発者に教えています。開発者は、このチュートリアルで学んだレッスンを使用して、単純なログイン画面を作成します.
  • JavaFXチュートリアルは、開発者がGUI要素の指定やイベントの処理などの機能の概要を理解するのに役立つJavaFXライブラリの多くの側面をカバーしています.

XULを学ぶべきか?

XULは、開発者にWebアプリケーションのGUI要素とFirefoxブラウザーのブラウザー拡張機能を指定する機能を提供します。多くの場合、JavaScript、CSS、HTMLコードと組み合わせて、カスタムレイアウトとイベント駆動型アプリケーションを作成します.

Mozillaは他の領域に焦点を合わせることに決めましたが、XULを学ぶことは努力する価値があります。 Windowsおよび携帯電話アプリを含む多くのアプリケーションは、XMLを使用してGUI要素を指定します。 XULに慣れると、XAMLなどの他のライブラリの学習がはるかに簡単かつ高速になります.

XULの学習は、開発者がアプリケーションのロジックをレイアウトまたはビューから分離するアプリケーションを構築するMVC(モデルビューコントローラー)メソッドに慣れるのにも役立ちます。 GUIと論理要素を単一ファイルに含める代わりに、XULを学習することで、より堅牢なアプリケーションの開発を支援するために必要な規律が浸透します。.

結論

XML自体は非常に単純です。経験豊富なXHTMLコーダーの場合、それはほとんど取るに足らないように見えます。しかし、関連するテクノロジーは非常に多く、それを使ってできることはたくさんあり、残りの人生を他に何もせずに過ごすことができます。ここで表面をひっかいただけです.

その他の興味深いもの

コーディングと開発に関連するガイド、チュートリアル、およびインフォグラフィックが他にもあります。

  • Microsoft Visual Basic / Visual Studio:これはVisual Basicに焦点を当てたVisual Studioの基本的な入門書です.
  • 初心者のためのHTML:この記事は、スターからあなたを連れて行きます。しかし、それは本の長さを考えると、経験豊富なプログラマーが学ぶことができる多くがあります.
  • C#リソース:.NET大空で最も人気のある言語の1つとして、C#は非常に役立ちます.

どのコードを学ぶべきか?

あなたがコーディングするためにどのプログラミング言語を学ぶべきかについて混乱していますか?私たちのインフォグラフィックをチェックして、どのコードを学ぶべきですか?これは、言語のさまざまな側面について説明するだけでなく、「生活のためにJavaプログラミングを行うことでどれだけのお金を稼ぐことができるか」などの重要な質問に答えます。

どのコードを学ぶべきですか?
どのコードを学ぶべきか?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map