One Day-XML:XML

8137 ワード

XMLはデータを転送および記憶するために設計されている.
HTMLはデータを表示するように設計されています.
身につけるべき基礎知識:
勉強を続ける前に、以下の知識について基本的な理解が必要です.
HTML/XHTMLJavaScriptXMLとは
XMLとは、拡張可能なマーク言語(EXtenssible)のことです. マクプ Language)XMLは一種のマーク言語で、HTMLXMLの設計目的はデータを転送することで、表示データXMLタグは事前定義されていません.自分でラベルを定義する必要があります.XMLは自己記述性を持つように設計されている.XMLは W 3 Cの推奨基準XMLとHTMLの主な違い
XMLはHTMLの代わりではありません.
XMLとHTMLは異なる目的で設計されています.
XMLはデータを転送し記憶するように設計されており、その焦点はデータの内容である.
HTMLはデータを表示するように設計されています.その焦点はデータの外観です.
HTMLは情報の表示を目的としており、XMLは情報の伝送を目的としている.
何のアクションもないXML
XMLは不作為です.
ちょっと分かりにくいかもしれませんが、XMLは何もしません.XMLは構造化、記憶、及び情報伝達のために設計されている.
以下はJohnからGeorgeへのメモです.XMLとして保存されています.
<note>

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<body>Don't forget the meeting!</body>

</note>
このラベルにはタイトルとメッセージがあります.送信者と受信者の情報も含まれています.しかし、このXML文書はまだ何もしていません.それはXMLラベルに包装された純粋な情報だけです.私たちはソフトウェアやプログラムを作成する必要があります.この文書を転送、受信、表示することができます.
XMLはテキストだけです.
XMLは特に何もありません.テキストだけです.純粋なテキストを処理できるソフトはXMLを処理できます.
ただし、XMLを読むことができるアプリケーションは、XMLのラベルを的確に処理することができます.ラベルの機能的意味はアプリケーションの特性に依存する.
XMLを通して自分のラベルを発明できます.
上記の例のタグはXML標準では定義されていません.これらのラベルは文書の作成者によって発明されました.
XMLには事前定義のラベルがないからです.
HTMLで使用するラベル(およびHTMLの構造)は事前に定義されています.HTMLドキュメントは、HTML標準で定義されているラベル(たとえば、

など)のみを使用します.
XMLは作成者が自分のラベルと自分のドキュメント構造を定義することを許可します.
XMLはHTMLの代わりではありません.
XMLはHTMLに対する補完です.
XMLはHTMLの代替ではなく、この点を理解することが重要です.ほとんどのウェブアプリケーションでは、XMLはデータを転送するために使用され、HTMLはデータをフォーマットして表示するために使用されます.
XMLに対する最高の記述は以下の通りである.
XMLはソフトウェアとハードウェアとは独立した情報伝達ツールである.
XMLはW 3 Cの推奨基準です.
拡張可能マーク言語(XML)は1998年2月10日にW 3 Cの推奨基準となりました.
XMLはどこにでもあります
XML標準がめざましく進んでいる開発の進度と、多くのソフトウェア開発者がこの基準を採用している日進月歩のスピードを見て、本当に驚きました.
現在、XMLがWebベースのHTMLに劣らない役割を果たしています.
XMLはどこにでもあります.XMLは様々なアプリケーションの間でデータ伝送を行うための最も一般的なツールであり、情報記憶と記述の分野でますます流行している.
 
 XMLはウェブ開発の多くの態様に応用されており、データの記憶と共有を簡略化するのが一般的である.
XMLはデータをHTMLから分離します.
HTMLドキュメントにダイナミックデータを表示する必要があると、データが変わるたびに多くの時間がかかりHTMLを編集します.
XMLにより、独立したXMLファイルにデータを格納することができます.このように、HTMLを使ってレイアウトや表示に専念できます.そして、下のデータを修正するにはHTMLに対していかなる変更も必要ではないことを確認します.
何行かのJavaScriptを使うことで、外部XMLファイルを読み込んで、HTMLのデータ内容を更新することができます.
後の章でもっと多くの内容を勉強します.
XMLデータ共有を簡略化する
実際の世界では、コンピュータシステムとデータは互換性のないフォーマットでデータを保存します.
XMLデータはテキスト形式で記憶されており、ソフトウェアとハードウェアとは独立したデータ記憶方法が提供されている.
これは、異なるアプリケーションを作成して共有できるデータを作成することを容易にします.
XMLデータ転送を簡略化する
XMLにより、互換性のないシステム間でデータを簡単に交換することができます.
開発者にとっては、最も時間がかかる課題の一つは、インターネット上の非互換システムの間でデータを交換することです.
様々な互換性のないアプリケーションでデータを読み取ることができるので、XMLでデータを交換することはこの複雑さを低減する.
XML簡易プラットフォームの変更
新しいシステム(ハードウェアまたはソフトウェアプラットフォーム)にアップグレードするには、いつも時間がかかります.大量のデータを変換しなければなりません.互換性のないデータはよく失われます.
XMLデータはテキスト形式で保存されます.これにより、XMLはデータを失わずに、新しいオペレーティングシステム、新しいアプリケーション、または新しいブラウザに拡張またはアップグレードしやすくなります.
XMLはあなたのデータをより効果的にします.
XMLはハードウェア、ソフトウェア及びアプリケーションから独立していますので、XMLはあなたのデータをより利用できます.
さまざまなアプリケーションがあなたのデータにアクセスできます.HTMLページだけでなく、XMLデータソースからもアクセスできます.
XMLを通して、あなたのデータは各種の閲読設備(手持ちのコンピュータ、音声設備、新聞リーダーなど)に使用できます.視覚障害者やその他の障害者にも使えます.
XMLは新しいインターネット言語を作成するために使用されます.
多くの新しいインターネット言語はXMLを通じて作成されました.
その例は以下を含む.
XHTML-最新のHTMLバージョンWSDL-利用可能なウェブserviceWAPとWML-ハンドヘルド用のマーク言語RSS-RSS feed用の言語RDFとOWL-リソースと本体を記述するためのものSMIL-ウェブ向けの針を記述するマルチメディア開発者がみんな理性的だったら
彼らが理性的であれば、未来のアプリケーションにXMLを使ってデータを交換しましょう.
将来、あるワープロソフト、表計算ドキュメントプログラム、およびデータベースが現れるかもしれません.それらは純粋なテキストフォーマットを使ってお互いのデータを読み取り、任意の変換プログラムを使用する必要はありません.
私たちが今できるのは、マイクロソフト社と他のすべてのソフトウェア開発者がこの点で一致することを祈るばかりです.
 
XML名前空間(XML Namespaces)
XML名前空間は、要素の命名衝突を避ける方法を提供することができる.
名前の衝突
XMLの要素名は事前に定義されているため、2つの異なる文書が同じ要素名を使用すると名前が衝突します.
このXML文書はあるテーブルの情報を携帯しています.

<table>

   <tr>

   <td>Apples</td>

   <td>Bananas</td>

   </tr>

</table>
このXML文書はテーブルに関する情報を携帯しています.
<table>

   <name>African Coffee Table</name>

   <width>80</width>

   <length>120</length>

</table>
この二つのXML文書が一緒に使用されると、二つの文書には異なる内容と定義の要素が含まれているため、命名衝突が発生します.
名前の衝突を避けるためにプレフィックスを使います.
この文書にはテーブルの情報があります.
<h:table>

   <h:tr>

   <h:td>Apples</h:td>

   <h:td>Bananas</h:td>

   </h:tr>

</h:table>
このXML文書は家具に関する情報を持っています.
<f:table>

   <f:name>African Coffee Table</f:name>

   <f:width>80</f:width>

   <f:length>120</f:length>

</f:table>
現在、名前の衝突は存在しなくなりました.これは二つの文書がそれぞれ異なる名前を使って、それらの「テーブル」要素(<)を命名したからです.
プレフィックスを使用して,二つの異なるタイプの<テーブル>要素を作成した.
名前空間を使う(Namespaces)
このXML文書はあるテーブルの情報を携帯しています.
<h:table xmlns:h="http://www.w3.org/TR/html4/">

   <h:tr>

   <h:td>Apples</h:td>

   <h:td>Bananas</h:td>

   </h:tr>

</h:table>
このXML文書は家具に関する情報を持っています.
<f:table xmlns:f="http://www.w3school.com.cn/furniture">

   <f:name>African Coffee Table</f:name>

   <f:width>80</f:width>

   <f:length>120</f:length>

</f:table>
プレフィックスのみを使用するのとは異なり、xmlns属性を<テーブル>タブに追加し、プレフィックスにある名前空間に関連する限定名称を付与しました.
XML Namespace(xmlns)属性
XML名前空間属性は、ある要素の開始ラベルに配置され、以下の構文を使用します.
xmlns:namespace-prefix="namespaceURI"
名前空間がある要素の開始ラベルに定義されると、同じプレフィックスを持つすべてのサブ要素が同じ名前空間に関連します.
名前空間を表示するためのアドレスは、情報を検索するために解像器によって使用されません.唯一の役割は名前空間に唯一の名前を与えることです.しかし、多くの会社が生命空間として実在のウェブページを指すことが多いです.このページには名前空間に関する情報が含まれています.
訪問してください  http://www.w3.org/TR/html4/
統一資源表示子(Uniform Resource Identifer(URI))
統一リソースの表示子は、インターネットリソースを示す文字列である.最も一般的なURIは、インターネットドメインのアドレスを示す統一リソースポジショナ(URL)である.もう一つの一般的ではないURIは、統一資源名(URN)である.私たちの例では、URLだけを使っています.
デフォルトの名前空間(Default Namespaces)
ある要素のためにデフォルトの名前空間を定義すると、すべてのサブ要素の中でプレフィックスを使用することを省きます.
次の文法を使ってください.
xmlns="namespaceURI"
このXML文書はあるテーブルの情報を携帯しています.
<table xmlns="http://www.w3.org/TR/html4/">

   <tr>

   <td>Apples</td>

   <td>Bananas</td>

   </tr>

</table>
このXML文書は家具に関する情報を持っています.
<table xmlns="http://www.w3school.com.cn/furniture">

   <name>African Coffee Table</name>

   <width>80</width>

   <length>120</length>

</table>
名前空間の実用的な応用
XSLを使い始めると、間もなく実際に使われている名前空間が見えます.XSLスタイルシートは、HTMLなどのXMLドキュメントを他のフォーマットに変換します.
下のXSL文書をよく観察すると、ほとんどのタブがHTMLタグです.非HTMLのラベルにはプレフィックスxslがあり、これにより名前空間が表示されます.http://www.w3.org/1999/XSL/Transform":
<?xml version="1.0" encoding="ISO-8859-1"?>



<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">



<xsl:template match="/">

<html>

<body>

  <h2>My CD Collection</h2>

  <table border="1">

    <tr>

      <th align="left">Title</th>

      <th align="left">Artist</th>

    </tr>

    <xsl:for-each select="catalog/cd">

    <tr>

      <td><xsl:value-of select="title"/></td>

      <td><xsl:value-of select="artist"/></td>

    </tr>

    </xsl:for-each>

  </table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>
  
ref:http://www.w3school.com.cn/xml/index.asp