初心者向けの XML チュートリアル

XMLとは何ですか?

XML eの略ですX伸ばせる MArkupe L言語。 これはマークアップを使用し、拡張可能な言語 (プログラミング言語ではありません) です。 それはから派生します Standard G活性化された MArkupe L言語(SGML)。 XML も DTD を使用します (D職業 TYPE D定義) を使用して XML ドキュメント構造を定義します。

XML は計算操作やアルゴリズムを処理するためのものではありません。したがって、XML はプログラミング言語ではありません。主な目的は、情報を表示することではなく、データを転送することです。XML は、人間が読みやすいことと機械が読みやすいことの間のギャップを埋めます。HTML タグとは異なり、XML タグは自己記述的です。

XML はオープンな形式です。 XML のファイル名の拡張子は次のとおりです。 .xml

XMLの歴史

XML は 1996 年に始まり、1998 年に初めて公開されました。 Wオルデッド WIDE Web Cオンソーシアム (W3C) は、 XMLとなりました。 W3C の推奨事項 1998インチ

XML には XNUMX つのバージョンがあります。

  1. XML1.0
  2. XML1.1

XML1.1 最新バージョンです。 まだ、 XML1.0 最も使用されているバージョンです。

XML のエディターは次のとおりです。

  • ティム・ブレイ
  • ジャン・パオリ
  • CM・スペルバーグ
  • イブ・マーラー
  • フランソワ・エルジョー。

XML の機能

XML の重要な機能をいくつか紹介します。

  • 拡張可能で人間が読める形式です。
  • プラットフォームや言語に依存しません。
  • 空白が保持されます。
  • 全体的にシンプル。
  • 自己記述的な性質。
  • データを HTML から分離します。
  • XML タグは事前定義されていません。 カスタマイズしたタグを定義する必要があります。
  • XML は、データを表示するためではなく、データを運ぶために設計されました。
  • XML のマークアップ コードは人間にとって理解しやすいです。
  • 適切に構造化された形式は、プログラムからの読み取りと書き込みが簡単です。
  • XML は、HTML のような拡張可能なマークアップ言語です。

XMLエンコーディング

エンコーディングは、Unicode 文字をバイナリ表現に変換することです。 UTFはXMLエンコーディングに使用されます。 UTF の略 UCS(UCS の略 Universal C師匠 Set) T変形 Fオルマット。

UTFエンコードには主にXNUMX種類あります。

  1. UTF-8 : UTF-8 は 8 ビットを使用して文字を表します。
  2. 例:

    <?xml version="1.0" encoding="UTF-8"?>
    
  3. UTF-16

16 ビットを使用して文字を表現します。

例:

<?xml version="1.0" encoding="UTF-16"?>

XML 宣言内でエンコーディングを使用できます。 UTF-8 は XML のデフォルトのエンコーディングです。

XML構文

以下のコードセグメントは、基本的な XML 構文を示しています。

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

XML宣言

XML 宣言は、XML バージョン、文字エンコーディング、またはスタンドアロン ステータスで構成されます。 宣言はオプションです。

XML宣言の構文

以下のコードセグメントは、XML 宣言の構文を示しています。

<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?> 

XML宣言ルール

以下は XML 宣言規則です。

  • XML 宣言が存在する場合、それが最初に表示される必要があります。
  • XML 宣言では大文字と小文字が区別され、小文字で始まる必要があります。 <?xml.
  • 終了タグはありません。

XML宣言の例

次のコード セグメントは、XML 宣言の例を示しています。

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

XML コメント

コメントはオプションです。 コメントを追加すると、ドキュメントの内容を理解するのに役立ちます。

XML コメントの構文

コメントは次で始まります <!– 終わりに –>.

次のコード セグメントは、XML コメントの構文を示しています。

<!-- Add your comment here -->

XML タグと要素

タグは宣言を除いてペアとして機能します。 すべてのタグ ペアは、 オープニングタグ (別名 開始タグ)であり、a 終了タグ (別名 終了タグ).

タグ名は で囲まれています <>。 特定のタグのペアでは、終了タグが / 後に <.

<name>...</name>

開始タグと終了タグの間にあるものはすべて と呼ばれます。 コンテンツ.

開始タグ、コンテンツ、終了タグを合わせて、 素子.

Opening tag + content + closing tag = an element

ご注意: 要素には属性も含まれる場合があります。 すぐに属性を学習できるようになります。

以下の要素を考えてみましょう。

<age>20</age>

上記の要素では、

  • 年齢要素の名前。

注: タグ名 とも呼ばれます 素子 or 要素名.

  • – 開始タグ
  • 25 –コンテンツ
  • – 終了タグ。

以下に示すように、タグ間にコンテンツがない場合は、 空のタグ.

<result></result>

XML タグと要素の規則

次のリストは、XML タグと要素のルールを示しています。

  • タグでは大文字と小文字が区別されます。

例:

正しい:

<age>20</age>

違う:

<age>20</Age>

注: 年齢, 年齢、年齢 XML では XNUMX つの異なる名前があります。

  • すべての XML ドキュメントには単一のルート要素が含まれている必要があります。
  • すべての要素には終了タグが必要です (宣言を除く)。
  • タグ名は文字またはアンダースコアで始まる必要があり、 XML。
  • タグ名には、文字、数字、ハイフン、アンダースコア、ピリオドを含めることができます。 使用できる句読点はハイフン、アンダースコア、ピリオドのみです。
  • タグ名にはスペースを含めることはできません。
  • すべての要素は適切にネストされている必要があります。

例:

正しい:

<b><u>This text is bold and italic</u></b>

違う:

<b><u>This text is bold and italic.</b></u>

XML 属性

要素の属性は、開始タグのタグ名の後に配置されます。 異なる属性名を持つ XNUMX つの要素に複数の属性を追加できます。

以下の XML ドキュメントを考えてみましょう。

<company name="ABC Holdings" location="London">  
    <chairman>Mr. John</chairman>  
    <gm>Mr. Wood</gm>  
</company>  

には XNUMX つの属性があります 会社 要素、つまり 場所.

を勉強しましょう 属性、

  • name=”ABCホールディングス” – 属性
  • - 属性名
  • ABCホールディングス – 属性値

注意属性名 としても知られています 属性を使用する。.

また、上記の例では、 会社ルート 要素。

XML 属性の規則

以下のリストは、XML 属性ルールを示しています。

  • 属性値は引用符で囲む必要があります。
  • 要素には、同じ名前の複数の属性を含めることはできません。

属性と要素

属性と要素の違いについてまだ混乱していますか? 別の例を次に示します。

以下の文書 A と B を考えてみましょう。

文書A:

<teacher subject="English">
    <name>Mr. John</name>.
    <qualification>Graduate</qualification>
</teacher>

文書 B:

<teacher>
    <subject>English</subject>
    <name>Mr. John</name>
    <qualification>Graduate</qualification>
</teacher>

文書Aでは、 テーマ あります 属性。

文書Bでは、 テーマ あります 素子.

XMLエンティティ

XML エンティティとは何ですか?

簡単に言えば、エンティティは特殊文字を表現する方法です。 エンティティは次のようにも知られています エンティティ リファレンス.

XML エンティティが必要な理由

一部のキャラクター( , & <、など)は XML で予約されています。 それらは次のように呼ばれます 特殊文字 他の目的に直接使用することはできません。

例えば、 < > 使用される記号 タグ。 キーボードから直接入力することはできません 未満越える 兆候。 代わりに、エンティティを使用する必要があります。

次の表は、一般的な XML エンティティの一部を示しています。

文字 説明 エンティティ名 使用法
引用符(二重引用符) QUOT
& アンパサンド amp
' アポストロフィ (一重引用符) アポス '
< Less 記号より lt <
> 大なり記号 gt >

例:

<friend>
        <name>My friends are Alice &amp; Jane.</name>
</friend>

HTML と XML の比較

HTML と XML の類似点

次のリストは、HTML と XML の類似点を示しています。

  • どちらもオープンフォーマットです。
  • どちらもマークアップ言語です。
  • どちらもタグと属性を使用してコンテンツを記述します。

HTMLとXMLの違い

XML は HTML に似ていますが、XML は HTML に代わるものではありません。 HTML と XML の間にもいくつかの大きな違いがあります。

次のリスト表は、HTML と XML の比較を示しています。

HTML XML
の略 ハイパーテキストマークアップ言語 拡張マークアップ言語
言語の種類 事前定義されたマークアップ言語。 マークアップ言語を指定するためのフレームワーク。
構造の詳細 提供されていない。 提供された。
目的 データを表示するために使用されます。 データの転送に使用される
駆動される フォーマット重視。 コンテンツ主導型。
自然 静的な性質を持っています。 ダイナミックな性質を持っています。
タグタイプ 事前定義されたタグ。 ユーザー定義のタグ。
タグの制限 タグの数には限りがございます。 タグは拡張可能です。
終了タグ 終了タグを使用する必要はありません (ただし、終了タグを使用することをお勧めします)。 終了タグは必須です。
名前空間のサポート サポートされていません。 サポートしています。
大文字と小文字の区別 タグでは大文字と小文字が区別されません。 タグでは大文字と小文字が区別されます。
空白 空白は保持できません(空白は無視できます)。 空白は保持されます (空白は無視できません)。
解析中 Javaスクリプト 追加のアプリケーションは必要ありません。 DOM実装が必要。
コードのネスト 必ずしも必要というわけではありません。 必要です。
Errors 小さなエラーは無視できます。 エラーは許されません。
ファイル名拡張子 .htmlを or 。HTM 。のXml
サイズ 比較的大きい。 比較的小さい。
引用符 属性値には引用符は必要ありません。 XML 属性値には必須です。
オブジェクトのサポート ネイティブ オブジェクトのサポートを提供します。 オブジェクトは規約に従って表現する必要があります。
ヌルサポート NULL 値をネイティブに認識します。 要素には xsi:nil を使用する必要があります。
フォーマットの決定 アプリケーション データの直接マッピングを提供します。 より多大な努力が必要です。
学習曲線 Less XML に比べて学習曲線が急です。 急な学習曲線。
ウェブサイト https://html.spec.whatwg.org/ https://www.w3.org/TR/xml11/

基本的な HTML 構文

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     
</body>
</html>

基本的な XML 構文

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

HTML と XML の同じ例

HTMLを使用する場合

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
         <p>Book</p>
    <p>Name: Anna Karenina</p>
    <p>Author: Leo Tolstoy</p>
    <p>Publisher: The Russian Messenger</p>
</body>
</html>

XMLを使用する場合

<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
        <name>Anna Karenina</name> 
        <author>Leo Tolstoy</author> 
      <publisher>The Russian Messenger</publisher>
</book>

JSON と XML の比較

JSON と XML の類似点

以下のリストは、JSON と XML の類似点を示しています。

  • どちらもオープンフォーマットです。
  • どちらも自己記述型です。
  • どちらも階層構造を持っています。
  • どちらも、いくつかのプログラミング言語で解析して使用できます。

JSON と XML の違い

XML と JSON の間にもいくつかの違いがあります。

以下の表は、JSON と XML の比較を示しています。

JSONの XML
の略 Javaスクリプトオブジェクト表記 拡張マークアップ言語
から拡張 Javaスクリプト SGML
データストレージ データはキーと値のペアとして保存されます。 データはツリー構造として保存されます。
名前空間 名前空間はサポートされません。 名前空間をサポートします。
コメント コメントの追加はサポートされていません。 コメントを追加できます。
データアクセシビリティ JSON オブジェクトとして簡単にアクセスできます。 データを解析する必要があります。
メタデータの追加はサポートされていません。 メタデータを書き込むことができます。
種類 JSON タイプ: 文字列、数値、配列、ブール値。 すべての XML データは次のようにする必要があります。 ストリング.
サポートのデータ型 お客様サポート 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. データ型のみ。 多くのデータタイプ(テキスト、数値、画像など)をサポート
アレイのサポート XML と比較して配列のサポートが強化されています。 配列のサポートがないか、サポートが少ない。
オブジェクトのサポート オブジェクトのネイティブ サポート。 オブジェクトは規約に従って表現する必要があります。
AJAX ツールキットのサポート サポートしています。 完全にはサポートされていません。
値の取得 簡単です。 難しい。
デシリアライズ/シリアライズ 完全に自動化されています。 開発者は書く必要がある Javaスクリプトコード。
ブラウザサポート ほとんどのブラウザでサポートされています。 クロスブラウザーでの XML 解析は難しい場合があります。
エンコーディング UTF-8 エンコードのみをサポートします。 さまざまなエンコーディングをサポートしています。
表示機能 表示機能はありません。 表示機能を提供します。
ドキュメントサイズ XML よりも小さい。 JSONより大きい。
ファイル名拡張子 .json 。のXml
セキュリティ Less 固定されています。 JSON よりも安全です。
読みやすい 比較的簡単です。 比較的難しい。
学習曲線 習得が容易。 急な学習曲線。
ウェブサイト https://www.json.org/json-en.html https://www.w3.org/TR/xml11/

基本的な JSON 構文

{string:value, .......}

JSON と XML の同じ例

JSONを使用

{"books":[
   {"name":"Anna Karenina", "author":"Leo Tolstoy"},
   {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
   {"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
   {"name":"Invisible Man", "author":"Ralph Ellison"}
]}

XMLを使用する場合

<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
    <book>
        <name>Anna Karenina</name> 
        <author>Leo Tolstoy</author> 
    </book>
    <book>
        <name>One Hundred Years of Solitude</name> 
        <author>Gabriel Garcia Marquez</author> 
    </book>
    <book>
        <name>The Great Gatsby</name> 
        <author>Scott Fitzgerald</author> 
    </book>
    <book>
        <name>Invisible Man</name> 
        <author>Ralph Ellison</author>
    </book>
</books>

XML DTD

DTDとは?

DTD の略 D職業 TYPE D定義。 これは、いくつかの法的な要素を使用して XML ドキュメントの構造を定義します。 XML DTD はオプションです。

DTD ルール

次のリストは DTD ルールを示しています。

  • DTD が存在する場合は、ドキュメントの先頭に表示する必要があります (DTD の上に表示できるのは XML 宣言のみです)。
  • 要素の宣言は、 ! マーク。
  • ルート要素の DTD 名と要素タイプは同じである必要があります。

DTDの例

内部 DTD の例:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)> 
]>
<student>  
    <firstname>Mark</firstname>  
    <lastname>Wood</lastname>  
    <school>Hills College</school>  
</student>

上記の例では、

  • !DOCTYPE 学生 DTD 宣言の始まりを示します。 そしてその 学生 XML ドキュメントのルート要素です。
  • !ELEMENT学生 を示します 学生 要素には次のものが含まれている必要があります 名前苗字 学校 要素。
  • !ELEMENT 名 を示します FIRSTNAME 要素の型は次のとおりです #PCDATA (P武装した C師匠 Rescale データ).
  • !ELEMENT 姓 を示します 要素の型は次のとおりです #PCDATA.
  • !ELEMENTスクール を示します 学校 要素の型は次のとおりです #PCDATA.

外部 DTD の例:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE student SYSTEM "student.dtd">  
<student>  
    <firstname>Mark</firstname>  
    <lastname>Wood</lastname>  
    <school>Hills College</school>  
</student>  

DTDファイル(student.dtd)の内容は以下のとおりです。

<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)>

XML DOM

DOMとは何ですか?

DOMの略です D職業 Oジェクト Mモデル。XML ドキュメントにアクセスして操作するための標準的な方法を定義します。DOM には (階層的な) ツリー構造があります。

DOMの例

以下の XML ドキュメントを考えてみましょう。

<?xml version="1.0" encoding="UTF-8" ?>  
<school>
    <student>  
        <name>
            <first_name>Alex</first_name>  
            <last_name>Clarke</last_name>  
        </name>
        <age>14</age>  
        <address>No. 35, Flower Road, Leeds</address>  
    </student> 
</school>

上記の XML ファイルのツリー構造は次の画像のようになります。

XML DOM
XML DOM の例

XML検証

整形式の XML ドキュメントとは何ですか?

整った形式 XML ドキュメントは、正しい構文を持つ XML ドキュメントです。

有効な XML ドキュメントとは何ですか?

有効な XML ドキュメントは整形式であり、DTD ルールにも準拠しています。

XML 名前空間

なぜ名前空間なのか?

ネームスペースは、要素名の競合を回避するのに役立ちます。

名前空間の宣言

以下に、名前空間宣言の構文を示します。

<element xmlns:name="URL">

上記の宣言では、

  • この xmlns キーワードは名前空間の始まりを示します。
  • この は名前空間のプレフィックスです。
  • この URL 名前空間の識別子です。

名前空間の例

次のコード セグメントは、名前空間の例を示しています。

<?xml version="1.0" encoding="UTF-8" ?>  
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">  
    <abt:founder>Krishna</abt:founder>  
    <abt:vision>Fun and Free Education for ALL</abt:vision>  
</abt:about>   

XMLエディタ

使用可能な XML エディタがいくつかあります。 任意のテキスト エディタ (メモ帳など) を XML エディタとして使用できます。

次のリストは、2021 年に人気のある XML エディターの一部を示しています。

1) XML メモ帳

XML Notepad は、XML 用のオープンソース エディターです。 左側のペインにツリー ビューと XSL 出力があり、右側にノード テキストがあります。 下部にはエラーデバッグウィンドウがあります。

主な統計:

  • タイプ - XML エディター
  • デベロッパー - Microsoft
  • サポートされているオペレーティングシステム – Microsoft Windows.
  • 価格–無料

リンク: http://microsoft.github.io/XmlNotepad/


2) スタイラススタジオ

Stylus Studioは、 C++ 拡張マークアップ言語 ( XML ) の略。XML ドキュメント、電子データ交換 (EDI)、CSV、リレーショナル データなどのデータを編集および変換できます。

主な統計:

  • タイプ – XML 用の統合開発環境 (IDE)
  • 開発者 – Progress Software Corporation
  • サポートされているオペレーティングシステム – Microsoft Windows.
  • 価格 – 有料(最新の価格は下記Webサイトをご確認ください)、無料トライアルあり。

リンク: http://www.stylusstudio.com/


3) Altova XMLスパイ

XMLSpyは主にJSONおよびXMLエディタとして販売されています。スキーマデザイナーとエディタが組み込まれています。Visual Studioと Eclipse 統合。

主な統計:

  • タイプ - XML エディター
  • デベロッパー - Altova
  • サポートされているオペレーティングシステム – Microsoft Windows.
  • 価格 – 有料(最新の価格は下記Webサイトをご確認ください)、無料トライアルあり。

リンク:https://www.altova.com/xmlspy-xml-editor


4) 酸素 XML エディター

Oxygen XMLは、 JavaDTD、W3C XML スキーマ、RELAX NG、Schematron、NRL、NVDL スキーマなどのスキーマの検証に役立ちます。

主な統計:

  • タイプ - XML エディター
  • デベロッパー - SyncROソフト株式会社
  • サポートされているオペレーティングシステム – Windows、Linux、および Mac OS X
  • 価格 – 有料(最新の価格は下記Webサイトをご確認ください)

リンク:https://www.oxygenxml.com/


5) エクスプリファイ

Xmplify XML Editor は、DTD および XML スキーマベースの自動、自動ドキュメント検証などを備えた完全に XML 対応の編集環境を提供します。

主な統計:

  • タイプ - XML エディター
  • 開発者 – MOSO Corporation
  • サポートされているオペレーティング システム – Mac OS。
  • 価格 – 有料(最新の価格は下記Webサイトをご確認ください)

リンク: http://xmplifyapp.com/

XML パーサー

XML パーサーは、XML ドキュメントを操作するためのインターフェイスを提供するソフトウェア ライブラリです。 XMLドキュメントの形式が正しいかどうかをチェックします。 一部のパーサーは XML ドキュメントを検証することもできます。 最近のブラウザには XML パーサーが付属しています。

サックス

サックス の略 S単純な API XML. それは aアプリケーション pログラム iインターフェース (API)はXML文書を解析するためのものです。これらは、 Java.

DOM とは異なり、SAX はイベントベースの XML パーサーの一例です。

SAX と DOM の重要な違いをいくつか示します。

サックス DOM
の略 XML 用のシンプルな API ドキュメントオブジェクトモデル
パーサーの種類 イベントベース オブジェクトベース
XMLの読み取りと書き込み 読み取り専用の 読み書き両方
ノードの挿入/更新/削除 ノードの挿入/更新/削除ができない ノードの挿入/更新/削除が可能
メモリ効率 優れたメモリ効率 不定
速度 DOMパーサーよりも遅い SAX パーサーより高速
使用シーン: サイズの小さいファイル サイズの大きなファイル

XMLデータバインディング

XML データ バインディングは、XML ドキュメント内のデータをコンピュータのメモリ内のビジネス オブジェクトとして表現したものです。

XML データ バインディングには XNUMX つのアプローチがあります。

  • XML スキーマベースのデータ バインディング: 対応する XML クラスはスキーマに基づいて作成されます。
  • クラスベースのデータ バインディング: 対応する XML スキーマはクラスに基づいて作成されます。
  • マッピングベースのデータ バインディング: 既存の XML スキーマがクラスのセットにどのようにマップされるか (またはその逆) について説明します。

XML データ バインディング フレームワークもあります。

例:

XML データ バインディングはフレームワークを使用すると簡単です。 データ バインディング フレームワークは、大量のコードを生成します。 DTD または XML スキーマをフィードする必要があります。

XML スキーマ

XML スキーマ (としても知られている XMLスキーマ定義 or XSD) XML ドキュメント構造を記述するために使用されます。 これは DTD の代替手段です。

スキーマが重要な理由

DTD は拡張性や柔軟性が十分ではないため、スキーマとしては強力ではありません。 したがって、状況によっては適さない場合があります。 このような状況ではスキーマが重要です。 XML スキーマを使用する主な目的は、XML ドキュメントの要素と属性を定義することです。

XML スキーマは DTD とどう違うのですか?

次の比較は、XSD (XML スキーマ) と DTD の違いを示しています。

DTD XSD
の略 文書タイプの定義 XMLスキーマ定義
拡張性 拡張不可能 拡張可能
XML構造の制御 Less コントロール より詳細な制御
サポートのデータ型 サポートされていません サポート
名前空間のサポート サポートされていません サポート

次のコード セグメントは、XML スキーマの例を示しています。

xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
    <xs:element name = "employee">
        <xs:complexType>
            <xs:sequence>
                <xs:element name = "firstname" type = "xs:string" />
                <xs:element name = "lastname" type = "xs:string" />
                <xs:element name = "phone" type = "xs:int" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

XMLの利点

XML の長所/利点は次のとおりです。

  • データの転送と共有が簡単になりました。
  • XML により、さまざまなプラットフォーム間のデータ交換が向上します。
  • これはマークアップ言語であり、テキスト ドキュメントに配置される文字または記号のセットです。
  • XML は、XML ドキュメントが表示された後にどのように表示されるかを示します。
  • これにより、プラットフォームの変更プロセスが簡素化されます。
  • データの可用性が向上します。
  • 多言語ドキュメントと Unicode をサポートします。
  • 学習とコーディングが比較的簡単です。
  • これはマークアップ言語であり、テキスト ドキュメントに配置される文字または記号のセットです。
  • DTD とスキーマを使用して検証を実行します。
  • ドキュメントをシステムやアプリケーション間で転送可能にします。 XML を利用すると、異なるプラットフォーム間でデータを迅速に交換できます。
  • XML はデータを HTML から分離します。

XML の欠点

XML を使用する場合の短所と欠点は次のとおりです。

  • XML には処理アプリケーションが必要です。
  • XML 構文は、別の代替の「テキストベース」データ転送形式に似ているため、混乱を招くことがあります。
  • 組み込みデータ型はサポートされていません
  • XML 構文は冗長です。
  • ユーザーが自分のタグを作成することを許可しません。

まとめ

  • XML は eXtensible Markup Language の略です。 XML は、マークアップを使用し、拡張可能な言語 (プログラミング言語ではありません) です。
  • 主な目的は、データを表示することではなく、データを転送することです。
  • XML 1.1 が最新バージョンです。 それでも、XML 1.0 が最もよく使用されているバージョンです。
  • タグは宣言を除いてペアとして機能します。
  • 開始タグ + コンテンツ + 終了タグ = 要素
  • エンティティは特殊文字を表現する方法です。
  • DTD は、Document Type Definition の略です。 これは、いくつかの法的な要素を使用して XML ドキュメントの構造を定義します。 XML DTD はオプションです。
  • DOM はドキュメント オブジェクト モデルの略です。 これは、XML ドキュメントにアクセスして操作する標準的な方法を定義します。
  • 整形式の XML ドキュメントとは、正しい構文を持つ XML ドキュメントです。
  • 有効な XML ドキュメントは整形式であり、DTD ルールにも準拠しています。
  • ネームスペースは、要素名の競合を回避するのに役立ちます。