初めての XML

拡張マークアップ言語 (XML) のことはご存じでしょうし、組織がそれを使用する理由もたくさん耳にしていることでしょう。 しかしながら、XML とは一体なんでしょうか。 この記事では、XML の基本について、その概要と動作について説明します。

この記事の内容

マークアップすること、マークアップ、タグの概要

XML を構成するものとは何か

整形式のデータについて

スキーマの概要

変換の概要

Microsoft Office システムの XML

マークアップすること、マークアップ、タグの概要

XML について理解するには、データをマークする方法を理解しておくと役に立ちます。 他のユーザーは、世紀のドキュメントを作成しており、それらのドキュメントをマークした期間だけのドキュメントを作成しています。 たとえば、学校の教師は、学生の論文を常にマークしています。 学生は、段落の移動、センテンスの明確化、スペルミスの修正などを行うように指示します。 文書にマークを付けると、文書内の情報の構造、意味、および外観を定義することができます。 Microsoft Office Word で [変更履歴の記録] 機能を使用したことがある場合は、コンピュータ形式のマークアップが使用されています。

コンピューター用語では、"mark up" が転じて "markup" という名詞が生まれています。 マークアップは、タグ (またはトークン) と呼ばれているコードを利用してあらゆるデータの構造、視覚的外観、意味 (XML の場合) を定義する過程です。

この記事の HTML コードは、職場でのコンピューターのマークアップの良い例です。 Microsoft Internet Explorer で参照している場合は (ページを右クリックして、[ソースの表示] をクリック)、読みやすいテキストとハイパーテキストマークアップ言語 (HTML) タグ ( <p><h2>など) が混在していることがわかります。 HTML および XML ドキュメントのタグは、山かっこで囲まれているため、簡単に見分けることができます。 この記事のソースコードでは、HTML タグはさまざまなジョブを実行します。たとえば、各段落の始まりと終わり (<p> ... </p>) を定義し、各画像の場所をマークします。

XML を構成するものとは何か

HTML および XML ドキュメントにはタグで囲まれたデータが含まれていますが、このような場合、2つの言語の類似性が終了します。 HTML では、タグによってデータのルックアンドフィールが定義されます。見出しはここに表示され、段落はそこで開始されます。 XML では、タグによってデータの構造と意味が定義されます。データは何ですか?

データの構造と意味を説明すると、そのデータをさまざまな方法で再利用できるようになります。 たとえば、売上データのブロックがあり、ブロックの各アイテムが明確に識別されている場合、必要なアイテムだけを売上レポートに読み込み、その他のアイテムを accounting データベースに読み込むことができます。 別の方法として、1つのシステムを使用してデータを生成し、XML タグでマークを付けることができます。また、ハードウェアプラットフォームやオペレーティングシステムに関係なく、そのデータを他のさまざまなシステムで処理できます。 この移植性は、XML がデータ交換のための最も一般的なテクノロジの1つとなっているためです。

これを行う際は、以下の点にご注意ください。

  • XML​​ の代わりに HTML を使用することはできません。 ただし、HTML タグで XML データを囲み、Web ページに表示できます。

  • HTML は、あらゆるユーザーが共有する事前定義されたタグ セットに限定されています。

  • XML の場合、あらゆるタグを作成してデータとその構造を表現できます。 たとえば、ペットに関する情報を保存し、共有するとします。 次のような XML コードを作成できます。

    <?xml version="1.0"?>
    <CAT>
      <NAME>Izzy</NAME>
      <BREED>Siamese</BREED>
      <AGE>6</AGE>
      <ALTERED>yes</ALTERED>
      <DECLAWED>no</DECLAWED>
      <LICENSE>Izz138bod</LICENSE>
      <OWNER>Colin Wilcox</OWNER>
    </CAT>
    

XML タグを確認すると、どのような種類のデータが表示されているかがわかります。 たとえば、これは猫に関するデータであり、猫の名前や年齢などを簡単に見つけることができます。 ほぼすべてのデータ構造を定義するタグを作成する機能によって、XML の "拡張性" が実現されます。

しかしながら、このコード サンプルのタグを HTML ファイルのタグと混同しないでください。 たとえば、この XML 構造を HTML ファイルに貼り付け、ブラウザーでファイルを表示すると、次のようになります。

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

ブラウザーは XML タグを無視し、データだけを表示します。

整形式のデータについて

IT 部門の誰かが "整形式" XML をメンションしたと聞こえます。 適切に形成された XML ファイルは、XML を管理する非常に厳格なルールのセットに準拠しています。 ファイルがこれらの規則に準拠していない場合、XML は機能しなくなります。 たとえば、上記のコードサンプルでは、すべての開始タグに終了タグがあるため、このサンプルは適切な形式の規則の1つに従っています。 タグを削除して、いずれかの Office プログラムでそのファイルを開こうとすると、エラーメッセージが表示され、プログラムでファイルを使用できなくなります。

整形式の XML を作成するためのルールを知っている必要は必ずしもありませんが (簡単に理解できますが)、データが整形式でありさえすれば、プログラムやシステムの間で XML データを共有できることを覚えておいてください。 XML ファイルを開けない場合、そのファイルは整形式になっていない可能性があります。

XML はプラットフォームに依存していません。つまり、XML を使うように構築されたプログラムは、ハードウェアやオペレーティングシステムに関係なく、XML データの読み取りと処理を行うことができます。 たとえば、適切な XML タグを使用して、デスクトッププログラムを使用して、メインフレームコンピューターのデータを開いたり操作したりすることができます。 また、どのような方法で XML データを作成したかに関係なく、複数の Office プログラムで同じデータを操作できます。 これは移植性が高いため、XML はデータベースとユーザーのデスクトップの間でデータを交換するための最も一般的なテクノロジの1つとなっています。

消費アプリケーションに展開した XML

XML システムでは、タグ付けされた整形式のデータに加えて、通常、スキーマと変換の2つの追加コンポーネントが使用されます。 以下のセクションでは、これらの追加コンポーネントの動作について説明します。

スキーマの概要

"スキーマ" という用語は intimidate ません。 スキーマとは、XML データファイルに含めることができるものとできないもののルールを含む XML ファイルのことです。 通常、スキーマファイルでは、.xsd ファイル名拡張子を使用します。 XML データファイルでは、.xml 拡張子が使用されます。

スキーマを使うと、プログラムでデータを検証できます。 データを構造化するためのフレームワークを提供し、作成者やその他のユーザーにとって意味があるかどうかを確認します。 たとえば、ユーザーが日付フィールドのテキストなどの無効なデータを入力した場合、プログラムはユーザーに正しいデータを入力するように求めることができます。 XML ファイル内のデータが特定のスキーマのルールに準拠していれば、XML をサポートするプログラムでは、そのスキーマを使ってデータの読み取り、解釈、処理を行うことができます。 たとえば、次の図に示すように、Excel は CAT スキーマに対して <CAT> データを検証できます。

スキーマによって、アプリケーションで XML データを共有できるようにします。

スキーマが複雑になることがあります。これを作成する方法については、この記事の範囲を超えています。 (その他の方法を知っている IT 部門があると思われます)。 ただし、スキーマがどのように表示されるかを理解するのに役立ちます。 次のスキーマでは、<CAT>... </cat> タグセットのルールを定義しています。

<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

このサンプルのすべての内容を理解していることを心配しないでください。 次の点に注意してください。

  • サンプル スキーマの行項目は「宣言」と呼ばれるものです。 動物に関する追加情報、その色や模様などが必要な場合、おそらく IT 部署はスキーマに宣言を追加します。 ビジネス ニーズの変化に合わせて XML 体系を変更できます。

  • 宣言により、データ構造をかなり細かく制御できます。 たとえば、<xsd:sequence> 宣言の場合、<NAME><BREED> のようなタグは、上記の順序で表記される必要があることを意味します。 宣言は、ユーザーが入力できるデータの種類を制御することもできます。 たとえば、上記のスキーマの場合、猫の年齢に正数が、ALTERED タグと DECLAWED タグにはブール値 (TRUE または FALSE) が要求されます。

  • スキーマにより与えられるルールに XML ファイルのデータが準拠すれば、そのデータは有効となります。 スキーマに対して XML データ ファイルをチェックする過程を検証と呼びます。 スキーマ使用の大きな利点は、データの破損を防げることです。 問題に遭遇すると XML は停止するので、破損データを簡単に見つけることができます。

変換の概要

前に説明したように、XML には、データの使用または再利用のための強力な方法も用意されています。 データを再利用するためのメカニズムは、拡張スタイルシート言語変換 (XSLT)、または単なる変換と呼ばれます。

ユーザー (または、IT 部署) は変換を利用し、データベースなど、バックエンド システム間でデータを交換できます。 たとえば、データベース A には、営業部に最適なテーブル構造で販売データが保存されています。 データベース B には、経理部に最適なテーブル構造で収益と費用のデータが保存されています。 データベース B で変換を利用し、A からデータを受け取り、そのデータを正しいテーブルに書き込むことができます。

データ ファイル、スキーマ、変換の組み合わせが基本的な XML システムです。 次の図は、そのようなシステムの一般的な動作を表しています。 データ ファイルがスキーマに対して検証され、変換により使い勝手の良いさまざまな形式でレンダリングされます。 この図の場合、変換により Web ページのテーブルにデータが配置されます。

スキーマと変換を含む XML ファイルの基本構造。

次のコードサンプルは、変換を記述する1つの方法を示しています。 <CAT> データを Web ページのテーブルに読み込みます。 このサンプルのポイントは、変換を記述する方法を示すのではなく、変換で実行できる1つのフォームを表示することです。

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>

このサンプルでは、どのような種類の変換がコード化された場合にどのように表示されるかを示していますが、必要なものを簡単に英語のデータから説明できることを覚えておいてください。 たとえば、IT 部門に移動して、過去2年間にわたって特定の地域の売上データを印刷する必要があるとします。これには、次のようにする必要があります。 IT 部門は、そのジョブを実行するために、変換を書き込み (または変更) することができます。

Microsoft とその他のベンダーの多くが、あらゆる種類のジョブの変換を作成しているため、このような機能がさらに便利になります。 将来的には、必要に応じて、またはお客様の目的に合わせて調整できるように、お客様は、お客様のニーズに合ったトランスフォームをダウンロードできます。 つまり、XML の使用には時間がかかります。

Microsoft Office システムの XML

Office の professional エディションでは、高度な XML サポートを提供しています。 Microsoft Office は、2007 Microsoft Office system から開始して、.docx、.xlsx、.pptx などの XML ベースのファイル形式を使用します。 XML では、独自のバイナリ形式ではなくテキスト形式でデータが保存されるため、お客様は、独自のスキーマを定義して、さまざまな方法でデータを使用することができます。これには、印税を支払う必要はありません。 新しい書式の詳細については、「 OPEN XML formats とファイル名拡張子」を参照してください。 その他の利点は次のとおりです。

  • ファイル サイズが小さくなります。 新しい形式では、ZIP とその他の圧縮技術を利用し、以前のバージョンの Office と比べてファイル サイズを約 75% 減らします。

  • 簡単な情報回復とセキュリティ強化。 XML は人間が読むことができるため、ファイルが破損した場合は、ファイルを Microsoft メモ帳または別のテキストリーダーで開いて、少なくとも一部の情報を回復できます。 また、新しいファイルには、Visual Basic for Applications (VBA) コードを含めることができないため、セキュリティが強化されています。 新しい形式を使用してテンプレートを作成する場合、すべての ActiveX コントロールと VBA マクロは、ファイルの別のセキュリティで保護されたセクションに存在します。 さらに、ドキュメント検査などのツールを使用して、個人データを削除することもできます。 ドキュメント検査の使い方について詳しくは、「ドキュメントを検査して非表示のデータと個人情報を削除する」をご覧ください。

ここまでは順調にきましたが、XML データにスキーマがないとどうなるでしょうか。 XML 対応の Office プログラムでは、独自の手法でデータ操作を支援します。 たとえば、Excel の場合、スキーマのない XML ファイルを開くと、スキーマが予測されます。 そのデータを XML テーブルに読み込むためのオプションが Excel から与えられます。 XML のリストとテーブルを使用し、データを並べ替えたり、データを絞り込んだり、データに計算を追加したりできます。

Office で XML ツールを有効にする

既定では [開発] タブは表示されませんが、Office で XML コマンドを使用するとき、リボンに追加する必要があります。

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×