2008-06-29 (日)

XML を利用した技術 [XML]

Web サービスにおいて、システム間のデータのやり取りには、標準規格と
して XML を使用する。XML データを実際にやり取りするためのプロトコル
には、SOAP を使用する。SOAP は XML 文書をネットワーク経由で送受信す
るためのメッセージ仕様を定めた標準プロトコルである。

従来はプロトコルが統一されていなかったため、ファイアウォールを越え
てのインターネット接続は難しいものだった。SOAP は伝送プロトコルとし
て、HTTP, FTP, SMTP などの標準プロトコルをベースとするため、ファイ
アウォール越しの接続も容易になった。

- 手紙の本文→XML
- 封筒の形式→SOAP
- 配達の手段→HTTP, FTP, SMTP

2008-06-29 (日)

データ操作するための API [XML]

- DOM
  Document Objects Model の略。XML 文書を解析し、木構造でメモリに展
  開する。展開されたデータのことを DOM ツリーと呼ぶ。
- SAX
  Simples API for XML の略。その都度解析するので、DOM に比べて省メ
  モリ。ただし、プログラムが複雑になってしまうことがある。

2008-06-29 (日)

名前空間の定義方法 [XML]

各要素に接頭辞となる任意の文字列を加えることにより、名前空間を定義
できる。各要素に加える都合上、DTD とは対応していない。

以下の例では、支店Aの金額は1ヶ月、支店Bの金額は1週間を示すため、
名前空間を分けている。

- 構文

<要素 xmlns:接頭辞="名前空間を示すURI">


- 例

<売上 xmlns:支店A="http://www.example.com/a" xmlns:支店B="http://www.example.com/b">
  <支店A:金額>500000</支店A:金額>
  <支店B:金額>20000</支店B:金額>
</売上>


2008-06-29 (日)

エンティティ宣言 [XML]

- DTD

<!ENTITY xml "XML(eXtensible Markup Language)">


- XML インスタンス

<詳細>&xml;とは拡張可能なマークアップ言語のことです</詳細>


- 結果

<詳細>XML(eXtensible Markup Language)とは拡張可能なマークアップ言語のことです</詳細>


2008-06-29 (日)

属性リスト宣言 [XML]

- DTD

<!ATTLIST 部門 場所 CDATA "東京">


- XML インスタンス

<部門 場所="神奈川">営業部</部門>


2008-06-29 (日)

要素型宣言 [XML]

- DTD

<!ELEMENT 氏名 (姓,名)>


- XML インスタンス

<氏名>
  <姓>山田</姓>
  <名>太郎</名>
</氏名>


2008-06-29 (日)

DTD [XML]

XML 文書内に直接記述する方法を「内部サブセット」、別ファイルに記述
する方法を「外部サブセット」と呼ぶ。外部 DTD は開発者が用意したもの
も、標準の DTD も使用することができる。前者の識別子として SYSTEM、
後者の識別子として PUBLIC が指定される。

両方使用することもできる。XML パーサは最初に内部、次に外部サブセッ
トを読み込む。もし同じ名前の要素が定義されていた場合は、内部が優先
されて使用される。

DTD では、以下の 4 つの定義を行うことができる。

- 要素型宣言(ELEMENT)
- 属性リスト宣言(ATTLIST)
- エンティティ宣言(ENTITY)
- 記法宣言(NOATION)

DTD のように XML 文書内にどのような要素名が含まれるのか、要素の出現
順序や属性などを事前に定義したものを「スキーマ」という。スキーマの
規格には「DTD」と「XML Schema」がある。

2008-06-29 (日)

XML 文書の記述の種類 [XML]

- 整形式 (well-formed) XML 文書
  「開始タグと終了タグの対応が正しく取られている」「要素の親子関係も正
  しく保たれている」を満たすもの。従って、全ての XML 文書は整形式 XML
  文書でなければならない。

- 検証済み (valid) XML 文書
  上記に加え、要素や属性が DTD の定義に従っているかどうかも検証した
  XML 文書のこと。検証済み XML 文書は「妥当な XML 文書」とも呼ばれる。

2008-06-29 (日)

XML の構造 [XML]

- XML 宣言(省略可)
  バージョンや文字エンコーディングの宣言
- DTD(省略可)
  要素型、属性リスト、エンティティ、記法宣言
- XML インスタンス(必須)
  実際のタグ付き文書

2008-06-29 (日)

XML の特徴 [XML]

- インターネットに対応した世界標準である。
- 構造化データをテキスト形式で記述できる。
- テキストデータなので OS やプラットフォームに依存しない。
- タグの作成が自由に出来る。
- デザインデータは持たずに、スタイルシートとして分離している。

2008-06-29 (日)

XML の基礎 [XML][HTML]

XML とは eXtensible Markup Language の略。拡張可能なマークアップ言
語である。ちなみに、XHTML とは、HTML を XML に準拠する形で再定義し
たマークアップ言語である。

SGML───┐
 │       ↓
 ↓      HTML
 XML──┐│
        ↓↓
        XHTML
         ↑Web用に整理・拡張
 ↑インターネットに適合!


最終更新時間: 2017-10-16 09:15

検索


最近の話題
- 2017-10-15
  golang の並列処理を Ruby と比較しながら学ぶ
- 2017-09-24
  『応仁の乱』を読んだ
- 2017-08-31
  ZenHub と GitHub の Issue/PR URL をトグルするブックマークレットを作った
- 2017-08-07
  github-nippou v3.0.0 released
- 2017-08-02
  『サーバーレスシングルページアプリケーション』を読んだ
- 2017-07-10
  emacs-helm の標準添付から外された helm-elscreen を Melpa に追加した
- 2017-07-05
  WEB+DB PRESS Vol.99の「実践Kubernetes」の第4章でつまづいたメモ #wdpress
最近追記された記事
- 2017-06-02-1 (107日前)
- 2017-04-29-1 (169日前)
- 2017-04-13-1 (183日前)
- 2017-04-13-1 (185日前)
- 2017-03-02-1 (227日前)
- 2017-02-25-1 (232日前)
- 2017-02-21-1 (236日前)
- 2015-06-07-1 (242日前)
- 2016-10-19-1 (251日前)
- 2016-01-01-1 (263日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (19)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (3)
- Book (88)
- Boxen (2)
- Bugsnag (1)
- capistrano (4)
- chalow (56)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- clang (26)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (3)
- E-mail (8)
- elasticsearch (4)
- Emacs (220)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (1)
- Game (20)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (17)
- golang (6)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (3)
- Heroku (9)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPhone (15)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (19)
- Linux (6)
- Mackerel (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (1)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (12)
- Rake (2)
- RaspberryPi (1)
- RedHat (29)
- Redmine (3)
- Rspec (1)
- Ruby (50)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Twitter (14)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (25)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (15)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
Google+