W3C logo
slanted W3C logo
 Cover page images (keys)

インターネット技術の
標準化

佐々木フェリクス, W3C

資料と本講義について

本講義の目的

「インターネット技術」はアプリケーションの標準を中心とする

「標準の紹介」は標準化の違いを中心とする

本講義の構造

月曜日

本講義の構造

月曜日(続き)

本講義の構造

水曜日まで提出期限の宿題

宿題をメールで送ってください。

本講義の構造

木曜日

本講義の構造

金曜日

成績評価

3-5ページを書いてください。枚数は重要ではありません。

自己紹介

本講義でWeb標準として紹介する三つの例

BCP 47、Web Services Policy、Unicode

本講義でWeb標準として紹介する三つの例

本講義でWeb標準として紹介する三つの例

本講義でWeb標準として紹介する三つの例

標準化の旨趣について

月曜日

標準化の目的

標準化はつまらない!

どうしましょう

ちょっと変わったテーマにしましょう

デジタル化されたバナナ を標準にしましょう

Banane

標準化の目的

標準化と革新の関係

実際の例:アメリカ鉄道の標準化

アメリカの鉄道の標準化の一例(スライドはJacek Kopeckýが提供)

 

標準化の目的

アメリカの鉄道とHTMLの違い

実際の例:アメリカ鉄道の標準化

- 鉄道 HTML
1) 革新 革新
2) 採用 標準化
3) 標準化 採用

標準化の歴史

  1. カレンダーの標準化(エジプト)
  2. 単位の標準化(エジプト、バビロン)
  3. 販売で標準を採用
  4. 国内、国際的な標準組織

19世紀で工業化

標準がもっとも必要になる

技術の普及が標準化の原因になる

19世紀から現代へ

国際的な標準化(電子工学、情報科学など)

ITの標準化

標準の種類

標準の種類

The wonderful thing about standards is that there are so many of them to choose from

標準の「素晴らしい」特徴は標準がたくさんあり、その中から相応しいものを選ばざるを得ない、ということです。

グレース・ホッパー アメリカ軍の計算機科学者)

デファクトスタンダードとデジュリスタンダード

 

デファクトスタンダードとデジュリスタンダード

プロプライエタリとオープン

プロプライエタリとオープン

プロプライエタリとオープン

標準化活動に参加するグループ

「BCP 47」

<p xml:lang="zh-CN" lang="zh-CN">雪 zh-CN</p>
<p xml:lang="ja" lang="ja">雪 ja</p> 
<p xml:lang="ko" lang="ko">雪 ko</p>

雪 zh-CN

雪 ja

雪 ko

「BCP 47」

「BCP 47」を定義するワーキングループの会員になるのには

「Web Services Policy 1.5」

「ISO/IEC 10646(Unicode)」

標準化の組織

月曜日

標準化の範囲

標準化の範囲

「10間」存在する組織

国内と国際的な組織

国内と国際的な組織

国内の標準と国際的な標準

  1. 国際的な標準の例「ISO/IEC 10646(Unicode)」
  2. XMLがUnicodeを適用
  3. 国内の標準XML 日本語プロファイル(JIS TR X 0015)
  4. JIS TR X 0015が英語訳される、W3Cの文書XML Japanese Profile (Second Edition)

1)国際標準2)それを使用する国際標準3)それを使用する国内標準4)それを使用する文書

注意!「標準」と「文書」の違い

注意!「標準」と「文書」の違い

違いは合意「consensus」の範囲

Publication of this document by W3C indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it.XML Japanese Profileから)

デジュリスタンダードにとって重要な違いで、デファクトスタンダードにとっては重要ではない

国内の標準と国際的な標準

NSBとSDO

NSBとSDOの関係

標準の参照することについて

組織の紹介(まとめ)

組織の分析に重要なポイント

ISO/IEC、JISC

W3C

OASIS

Organization for the Advancement of Structured Information Standards

IETF

We reject kings, presidents and voting. We believe in rough consensus and running code
デービッド・ダナ・クラーク、アメリカのコンピューター学者)

標準組織かどうか「WS-I」

Web Services-Interoperability Organization

標準組織かどうか「WHAT-WG」

Web Hypertext Application Technology Working Group

WS-IとWHAT-WGの共通点

ある標準を担当する組織が業界、又はユーザーのコミュニティー が望まない標準化活動を行う

その結果、新しい「標準化」活動が始まる

それは「標準化」かどうかは不明

標準化の一般的な過程

月曜日(続き)

標準化の一般的な過程

charterのー例

目的の記述

ワーキングループ(TC)が作成する文書

対象外のテーマ

Liaison(共同作業)

過程を定める標準組織ごとの規則

過程を定める標準組織ごとの規則

過程を定める標準組織ごとの規則

過程を定める標準組織ごとの規則

標準化組織によって問題の種類と対策が違う

本講義の構造

月曜日(続き)

標準化のツール

標準化のツール

コミュニケーションの手段

大変な問題「電話会議の時間」

W3Cのツールの紹介

Queueの例

[2007/07/18 0:47] <scribe> A : the same examples are in the primer
              [2007/07/18 0:48] <scribe> B: the value of keeping this section ...
              [2007/07/18 0:48] <C> q+ to respond to B on why ...
              [2007/07/18 0:48] * Zakim sees C on the speaker queue
              [2007/07/18 0:49] <scribe> B: what's the value of documenting this?
              [2007/07/18 0:51] <scribe> D: the pain WSAaddressing group was so big
              that it would be helpful to show how they came to the right solution
              [2007/07/18 0:52] <pbc> q?
              
              [2007/07/18 0:52] * Zakim sees C on the speaker queue
              [2007/07/18 0:52] <pbc> ack C
              [2007/07/18 0:52] * Zakim sees nobody on the speaker queue

問題点とAction items

Issue 7: バナナの形の定義が不明確

Action: Felixがと定義を書く直さなければならない

Ballot

合意をIRCで書き残す

[2007/07/18 0:15] <A> Proposal for 4661/4662:
              [2007/07/18 0:16] <A> 1. Adopt changes in 4661 taking into consideration 
              the 4854 change for @any and the BP from B's ACTION-304.
              [2007/07/18 0:16] <A> 2. Adopt change in 4662 taking into consideration 
              the real time edits done on Jul 17 during the meeting (checked in CVS).
              [2007/07/18 0:17] <A> 3. Adopt the change to the remaining text in 5.6.1
              based on proposal from Monica in message Jun/0088.html
              
              [2007/07/18 0:18] <D> RESOLUTION: issue 4661 and 4662 
                  closed with above proposal
                  [2007/07/18 0:18] <D> rrsagent, where am i?
 [2007/07/18 0:18] <RRSAgent> See
 http://www.w3.org/2007/07/17-ws-policy-irc#T15-18-24

文書の作成

<spec ...
              <w3c-designation>banane5 ...
              <w3c-doctype>W3C Candidate Recommendation ...
              
              <status> ...

文書のチェック

チェックOKではない文書は公開できない…

水曜日まで提出期限の宿題

水曜日まで提出期限の宿題

宿題をメールで送ってください。

予定変更

標準の「言葉」と「スタイル」

標準の「言葉」と「スタイル」(続き)

標準の「言葉」と「スタイル」(続き)

文書の識別、バージョン情報

例「http://www.w3.org/TR/2007/CR-ws-policy-20070605」の草案

This version:
    http://www.w3.org/TR/2007/CR-ws-policy-20070605
Latest version:
    http://www.w3.org/TR/ws-policy
Previous version:
    http://www.w3.org/TR/2007/CR-ws-policy-20070330/

URIの安定性「cool URI's don't change!」

Cool URIs don't change」から

What makes a cool URI?
A cool URI is one which does not change.
What sorts of URI change?
URIs don't change: people change them.

URIの重要性でW3Cの草案に「checklink」のツールが必要

URIの安定性「cool URI's don't change!」?!?

但し、他の標準化組織はURIに関する態度が違う

Internet-Drafts are not an archival document series.
These documents should not be cited or quoted in any formal document.
Unrevised documents placed in the Internet-Drafts directories have a maximum life of
six months. After that time, they must be updated, or they will be deleted.

名前空間の重要性

名前空間「namespace」の例(Web Service Policyの草案から)

<wsp:Policy
 xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
 xmlns:wsp="http://www.w3.org/ns/ws-policy" >
 <wsp:ExactlyOne>
...
  <sp:SignedParts>
...
  </sp:SignedParts/>
...
 </wsp:ExactlyOne>
</wsp:Policy>

URIs for W3C Namespaces

URIs for W3C Namespacesの規則

名前空間を変える、ということは…

新しい草案で名前空間を変えることが大変!

「Web Services Policy 1.5 Namespace」名前空間の記述から

should the specifications revert to Working Draft status, and a
subsequent revision, published as a WD, CR or PR draft, results in non-backwardly
compatible changes from a previously published WD, CR or PR draft of the specification,
the namespace URI will be changed accordingly

「cool」ではないURIの例

Reserved Top Level DNS Names(IETFの「BCP 32」から )

four domain names are reserved ...
     .test
  .example
  .invalid
.localhost

「cool」ではないURIの例は草案の中で「.example」と企業の名前を混乱してしまう

http://myCompany.example.com

mycompanyは本当に存在するので著作権の問題が起こってしまう!

国際化の要求

Unicodeの使用が必要。Unicodeの文字コードを参照する方法

国際化の要求

日時の書き方

国際化の要求

文書を翻訳するときは注意した方がいいところがある

The <code>title</code> attribute ...

文章の構造

例は「Web Services Policy 1.5 - Framework

文章の構造(続き)

必要な章

W3Cの草案の「status section」の読み方

例は「Web Services Policy 1.5 - Framework

W3Cの草案の「status section」の読み方(続き)

例は「Web Services Policy 1.5 - Framework

The Working Group expects to advance
this Working Draft to Recommendation Status.

マーク付けの使い方

<link rel="stylesheet" type="text/css" href=
"http://www.w3.org/StyleSheets/TR/W3C-CR.css"/>

正誤表「Errata」

RFC2119のケーワード

RFC2119から(日本語訳もある)

RFC2119を参照することが多い

Normativeとnon-normativeの違い

Web Service Policy」からの例

Normative text within this specification takes precedence over normative 
outlines, which in turn take precedence over the
XML Schema descriptions.

草案の附属書から

A. The application/wspolicy+xml Media Type
...
B. References
...
C. Acknowledgements (Non-Normative)
...

Normativeとnon-normativeの違い(続き)

正式的な記法

正式的な記法の種類と記法を使うか使わないかは考え方は様々だ

参考文献と参照

草案と草案の間にある依存関係の例

WS-Addressing Metadataという草案が「Web Services Policy」を参照する

Web Services Policy 1.5 - Framework, A. S. Vedamuthu, ... Editors.
World Wide Web Consortium, 05, June 2007. This version of the specification of the
Web Services Policy 1.5 - Framework specification is
http://www.w3.org/TR/2007/CR-ws-policy-20070605. The latest version of Web Services
Policy 1.5 - Framework is available at http://www.w3.org/TR/ws-policy.

「WS-Addressing Metadata」のワーキングループの参加者は、「Web Services Policy」の草案が早く進歩できるようと願っている…

参考文献と参照(続き)

参考文献の例

<cite><a href="http://www.w3.org/TR/2007/CR-ws-policy-20070605">Web Services
Policy 1.5 - Framework</a></cite>, A. S. Vedamuthu, D. Orchard, F.
Hirsch, M. Hondo, P. Yendluri, T. Boubez and Ü. Yalçinalp, Editors.
World Wide Web Consortium, 05, June 2007. This version of the
specification of the Web Services Policy 1.5 - Framework
specification is http://www.w3.org/TR/2007/CR-ws-policy-20070605.
The <a href="http://www.w3.org/TR/ws-policy">latest version of Web
Services Policy 1.5 - Framework</a> is available at
http://www.w3.org/TR/ws-policy.

Web Services Policy 1.5 - Framework, A. S. Vedamuthu, D. Orchard, F. Hirsch, M. Hondo, P. Yendluri, T. Boubez and Ü. Yalçinalp, Editors. World Wide Web Consortium, 05, June 2007. This version of the specification of the Web Services Policy 1.5 - Framework specification is http://www.w3.org/TR/2007/CR-ws-policy-20070605. The latest version of Web Services Policy 1.5 - Framework is available at http://www.w3.org/TR/ws-policy.

メディアタイプ「Media type」の登録

HTTPのHeaderの例 http://www.w3.org/TR/ws-policy/,headers

200 OK
Content-Length: 161386
Accept-Ranges: bytes
Expires: Thu, 14 Jun 2007 04:49:47 GMT
Server: Apache/1.3.37 (Unix) PHP/4.4.7
Last-Modified: Mon, 04 Jun 2007 00:57:49 GMT
Connection: close
Etag: "4663638d"
Cache-Control: max-age=21600
Date: Wed, 13 Jun 2007 22:49:47 GMT
P3p: policyref="http://www.w3.org/2001/05/P3P/p3p.xml"
Content-Type: text/html; charset=utf-8

メディアタイプ「Media type」の登録(続き)

その例は「WS Policy」のメディアタイプの登録

文書が正しいかどうかというときは…

XMLの基本

謝辞

XMLの基本についてのスライドはMike Smithが英語で作成し、 私が翻訳したものです。

Mike Smithのスライドは下記のURIにあります。

http://www.w3.org/2008/Talks/05-01-smith-xml/

XMLの定義

XMLは「木構造」

木構造の例

木構造の例

木構造の例

<html>
 <head>
  <title>A tree</title>
 </head>
 <body>
  <p>This is a tree too.</p>
 </body>
</html>

XMLの基本的な概念

整形式

 <p>hoge
 <p>moge
 <p>hoge</p>
 <p>moge</p>

整形式

 <i><b>hoge</i></b>
 <i>
     <b>hoge</i>
   </b>
         
 <i><b>hoge</b></i>
 <i>
     <b>hoge</b>
   </i>

整形式

整形式

整形式

スキーマの宣言(例:DTD)

<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
 <head>
  <title>A tree</title>
 </head>
 <body>
  <p>This document is a tree.</p>
 </body>
</html>

妥当性制約を記述するスキーマ言語

XMLの他の特徴

符号化宣言(encoding declaration)

<?xml version="1.0" encoding="Shift_JIS"?> 
<html>
 <head>
  <title>A tree</title>
 </head>
 <body>
  <p>このドキュメントは「tree」です.</p>
 </body>
</html>

文字参照(character references)

<p>This is a middle dot: &#xB7;</p>

表示は:

<p>This is a middle dot: ·</p>

実体参照(entity references)

<p>This is a middle dot: &middot;</p>

表示は:

<p>This is a middle dot: ·</p>

名前空間(namespaces)

XML語彙のテーマになります

問題

要素(element)、属性、コンテンツを使ってください。

XML語彙

XML語彙の例

XML語彙の例

XHTML 1.0

XHTML 1.0文書の例

<!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/XHTML1/DTD/XHTML1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/XHTML">
 <head>
  <title>XML語彙</title>
   文書のメタデーター
... 
 </head>
 <body>
   文書のコンテンツ
 </body>
</html>

XHTML 1.0の適用分野

DocBook

DocBook文書の例

<article xmlns="http://docbook.org/ns/docbook" version="5.0">
 <info>
  <title>Sample article</title>
 </info>
 <section>
  <title>Sample section</title>
  <para>You can delete file using <function>unlink()</function>
     function.</para>
 </section>
 </article>

DocBookの発展

ITS 1.0

ITS 1.0文書の例:翻訳可能不可能の区別

<article xmlns="http://docbook.org/ns/docbook" version="5.0"
 xmlns:its="http://www.w3.org/2005/11/its">
 <info>
  <title>Sample article</title>
 </info>
 <section>
  <title>Sample section</title>
  <para>You can delete file using <function its:translate="no">unlink()</function>
     function.</para>
 </section>
 </article>

翻訳不可能

ITS 1.0処理の結果(例)

<article xmlns="http://docbook.org/ns/docbook" version="5.0"
 xmlns:its="http://www.w3.org/2005/11/its">
 <info>
  <title>Xxxxx</title>
 </info>
 <section>
  <title>Xxxxx</title>
  <para>Xxxxx<function its:translate="no">unlink()</function>
     Xxxxx</para>
 </section>
 </article>

翻訳不可能部分だけが残る文書の生成

Web Services Policy

Web Services Policyの例

<wsp:Policy
 xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
 xmlns:wsp="http://www.w3.org/ns/ws-policy">
 <wsp:ExactlyOne>
  <wsp:All>
Webサービスの開始の条件(1)
  </wsp:All>
  <wsp:All>
Webサービスの開始の条件(2)
  </wsp:All>
 </wsp:ExactlyOne>
 </wsp:Policy>

Webサービスを開始するのには「ExactlyOne」(条件一つだけ)を満たさなければならない

Web Services Policyの例

<wsp:Policy
 xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
 xmlns:wsp="http://www.w3.org/ns/ws-policy">
 <wsp:ExactlyOne>
  <wsp:All>
   <sp:SignedParts>
    <sp:Body/>
   </sp:SignedParts>
  </wsp:All>
  <wsp:All>
   <sp:EncryptedParts>
    <sp:Body/>
   </sp:EncryptedParts>
  </wsp:All>
 </wsp:ExactlyOne>
 </wsp:Policy>

XML語彙の例から一般的な定義へ

XML語彙の例から一般的な定義へ

語彙の分類

適用分野

適用分野

実装の環境(1):文書の作成

実装の環境(2):文書の処理

語彙の区別(1)名前空間と修飾された名前

<article xmlns="http://docbook.org/ns/docbook" version="5.0"
 xmlns:its="http://www.w3.org/2005/11/its">
 <info>
  <title>Sample article</title>
 </info>
 <section>
  <title>Sample section</title>
  <para>You can delete file using <function its:translate="no">unlink()</function>
     function.</para>
 </section>
 </article>

XML名前空間の構文

namespaceの宣言

xmlns ( :接頭辞 ) ="名前空間 URI"
xmlns:db="http://docbook.org/ns/docbook"

qualified name

( 接頭辞: )  ローカル名
db:article

語彙の区別(2)バージョンの区別

HTML?

DocBook:

<article xmlns="http://docbook.org/ns/docbook" version="5.0"> ...

ITS 1.0 :

... its:version="1.0" ...

Web Services Policy:名前空間の使用

語彙の定義(1)スキーマ言語

主な XML スキーマ言語

DTD
XML 1.0/1.1 に含まれるスキーマ言語
W3C XML Schema
W3C により策定されたスキーマ言語
RELAX NG (ISO/IEC 19757-2 / JIS X 4177-2)
ISO で Document Schema Definition Languages (DSDL) Part 2 として標準化
Schematron (ISO/IEC 19757-3)
XPath を使って規則を表現するスキーマ言語; ISO で DSDL Part 3 として標準化
Namespace-based Validation Dispatching Language (NVDL) (ISO/IEC 19757-4)
RELAX Namespace などを元に策定された、名前空間に基づき検証の委譲を行うスキーマ言語; ISO で DSDL Part 4 として標準化

DocBook文書の例(繰り返し)

<article xmlns="http://docbook.org/ns/docbook" version="5.0">
 <info>
  <title>Sample article</title>
 </info>
 <section>
  <title>Sample section</title>
  <para>You can delete file using  
  <function>unlink()</function> function.</para>
 </section>
 </article>

<article>の定義

DTDの例

要素の宣言:要素の名前と内容モデル

<!ELEMENT article (info, section+)>

属性の宣言:属性の名前、型、ステータス

<!ATTLIST article
 version CDATA #REQUIRED
  xmlns CDATA "http://docbook.org/ns/docbook" 
  xmlns:db CDATA "http://docbook.org/ns/docbook" 
          

注意:DTDは名前区間の使用が問題がある

属性の重要な型

属性の型:
  • CDATA
  • ID
  • IDREF
  • IDREFS
  • ENTITY
  • ENTITIES
  • NMTOKEN
  • NMTOKENS
  • NOTATION
  • 列挙属性

RELAX NG と XML Schema では、要素にも当て嵌められる

XML Schemaの例

<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://docbook.org/ns/docbook"
 xmlns:db="http://docbook.org/ns/docbook">
 <xs:element name="article">
  <xs:sequence>
   <xs:element name="info" type="db:infoType"/>
   <xs:element name="section" type="db:sectionType"/>
  </xs:sequence>
  <xs:attribute name="version" type="xs:string"/>
 </xs:element>
...
</xs:schema>

主な特徴:ユーザーが定義できる型の定義

RELAX NGの例(XML構文)

<grammar ... >
  <define name="article">
    <element name="db:article">
      <ref name="version"/>
      <ref name="info"/>
      <oneOrMore>
        <ref name="section"/>
      </oneOrMore>
    </element>
  </define>
  <define name="version">
    <attribute name="version"/>
  </define>
...
</grammar>
          

主な特徴:パターンで要素と属性の取り扱いがほぼ同じで、複雑な内容モデルが自由に定義できる

Schematronの例

<sch:schema
  xmlns:sch="http://www.ascc.net/xml/schematron" > 
 <sch:pattern
   name="DocBook constraints check">
  <sch:rule context="article">
   <sch:report
 test="@version[.='3.1'] and namespace-uri()!='']">
 DocBook version 3.1 does not use a namespace</sch:report>
  </sch:rule>
 </sch:pattern>
 </sch:schema>

主な特徴:構文用のスキーマ言語で検討できない「constraints」の検討

スキーマで複合文の検討

NVDLでXHTMLとITS 1.0の 複合文書を妥当

<rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"
       startMode="xhtml">
  <mode name="xhtml">
    <namespace ns="http://www.w3.org/1999/xhtml">
      <validate schema="../xhtml-schemas/xhtml11.xsd">
        <context path="head" useMode="its-rules"/>
      </validate>
    </namespace>
    <namespace ns="http://www.w3.org/2005/11/its" match="attributes">
      <validate schema="its-attributes-for-xhtml.rng"/>
    </namespace>
  </mode>
  <mode name="its-rules">
    <namespace ns="http://www.w3.org/2005/11/its">
      <validate schema="its-rules.rng"/>   
    </namespace>
  </mode>
</rules>

スキーマ言語はどれにしましょうか

スキーマ言語の発展

語彙の定義(2)データーモデルと語彙の意味(処理の記述)

XMLの基本的なデーターモデル

語彙の意味(処理の記述)

XML語彙の定義の層

XML語彙の過去、現在と将来

宿題の分析

Topics

Topics

Topics

コメント

新たな宿題

国際化

概要

国際化「Internationalization」の趣旨

国際化とローカリゼーションの一例

国際化「Internationalization」の趣旨(続き)

概要

Webの国際化の対象

Webの国際化の対象(続き)

文字とは

文字は書き言葉の最も小さい部分。それに関連する概念は

文字の国際化の基「Unicode」

文字符号化方式とは

重要な文字符号化方式

文字集合

文字の処理

U+00E7 `ç` = U+0063 `c` U+0327 `¸`?

文字の処理

Strasse = Straße?
compare
('Strasse', 'Straße','http://example.com/collation-identifier/German')

国際化の対象「URI」

http://ja.wikipedia.org/wiki/文字
http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97

テキストの表示について「ルビ」

<ruby>
 <rb>慶應義塾大学</rb>
 <rt>けいおうぎじゅくだいがく</rt>
</ruby>
ルビのプレゼンテーション

テキストの表示「テキストの方向性」

A)english1 HEBREW2 english3 HEBREW4 english5 HEBREW6
B)english1 2WERBEH english3 4WERBEH english5 6WERBEH
           <------          <------          <------
               H                H                H
  ------------------------------------------------->
                          E

テキストの組版

縦書きの例

言語の識別の目的

言語によるglyphの違いの例(繰り返し)

<p xml:lang="zh-CN" lang="zh-CN">雪 zh-CN</p> 
<p xml:lang="zh-TW" lang="zh-TW">雪 zh-TW</p> 
<p xml:lang="zh-HK" lang="zh-HK">雪 zh-HK</p> 
<p xml:lang="ja" lang="ja">雪 ja</p> 
<p xml:lang="ko" lang="ko">雪 ko</p>

雪 zh-CN

雪 zh-TW

雪 zh-HK

雪 ja

雪 ko

言語識別の標準「BCP 47」

langtag = (language
 ["-" script]
 ["-" region]
 *("-" variant)
 *("-" extension)
 ["-" privateuse])
File-Date: 2006-04-19
%%
Type: language
Subtag: aa
Description: Afar
Added: 2005-10-16
%%
Type: variant
Subtag: 1901
Description: Traditional German orthography
Added: 2005-10-16
Prefix: de
%%

言語タグの例

タグ 「sub tag」の構造 趣旨
en language 英語
de-AT language-region オーストリアで使用されるドイツ語
de-CH-1901 language-region-variant スイスで使用されるドイツ語で、1901年の正書法
sr-Cyrl language-script キリル文字でセルビア語

自分で言語タグを作りましょう

Language Tag Analyzer (LTA)

言語タグのマッチ

de-*-DEで検索できる言語タグ

ロケールについて

言語はロケールの主な要素だが…

言語とロケールの違い

国際化とローカリゼーションの一例(繰り返し)

国際化の対象:Web Service

XMLの国際化

まとめ(1)

まとめ(2)

ITSをXML文書の中で適用「local」

<help xmlns:its="http://www.w3.org/2005/11/its" its:version="1.0"> [...]
  <p>To re-compile all the modules of the Zebulon toolkit you need to go in the
    <path
     its:translate="no">\Zebulon\Current Source\binary</path> directory.
    Then from there, run batch file 
<cmd its:translate="no">Build.bat</cmd>.</p> [...]
</help>

ITSをXML文書以外で適用「global」(1)

<its:rules version="1.0">
 <its:translateRule selector="//path | //cmd" translate="no"/>
</its:rules>
<help> [...]
  <p>To re-compile all the modules of the Zebulon toolkit you need to go in the
    <path>\Zebulon\Current Source\binary</path> directory.
    Then from there, run batch file 
<cmd>Build.bat</cmd>.</p> [...]
</help>

ITSをXML文書以外で適用「global」(2)

<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
 <its:langRule selector="//*[@langinfo] langInfoPointer="@langInfo"/>
</its:rules>

"Terminology"の一例

<doc its:version="1.0" xmlns:its="http://www.w3.org/2005/11/its">
 <section xml:id="S001">
  <par>A <kw its:term="yes" 
its:termInfoRef="http://en.wikipedia.org/wiki/Motherboard">motherboard</kw>,
also known as a <kw its:term="yes">logic <span its:term="yes">board</span></kw> on
Apple Computers, is the primary circuit board making up a modern computer.</par>
 </section> 
</doc>

"Elements within Text"の一例

<doc>
 <head>
  <its:rules version="1.0" xmlns:its="http://www.w3.org/2005/11/its">
   <its:withinTextRule withinText="yes" selector="//b|//u|//i"/>
   <its:withinTextRule withinText="nested" selector="//fn"/>
  </its:rules>
 </head>
 <body>
  <p>This is a paragraph with <b>bold</b>, <i>italic</i>, and <u>underlined</u>.</p>
  <p>This is a paragraph with a footnote
<fn>This is the text of the footnote</fn> at the middle.</p>
 </body>
</doc>

ルビの一例

<text xmlns:its="http://www.w3.org/2005/11/its">
 <head> ... 
   <its:rules version="1.0">
   <its:rubyRule selector="/text/body/img[1]/@alt">
    <its:rubyText>World Wide Web Consortium</its:rubyText>
   </its:rubyRule>
  </its:rules>
 </head>
 <body>
  <img src="w3c_home.png" alt="W3C"/> ...
  </body>
</text>

ITSの適用分野

Webの国際化の対象(復習)

Webの国際化の対象(復習)

概要

Webの国際化の現状と将来

http://www.paypal.com
/book[@number="1"]//editor ftcontains "salon de the"
with default stop words language "fr"
  

リンク集

Webサービス

注意!HTTPの詳細のところは省きます

文書のWebとサービスのWeb

文書のWeb

サービスのWeb

適用分野は

Webサービスのアプローチ

注意!

Webサービスのメリット

サービスの一例

SOAPのWebサービス

SOAPのWebサービスが利用する技術

SOAPの基本

<soap:Envelope
 xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
 soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header> ... </soap:Header>
<soap:Body> ...
 <soap:Fault> ... </soap:Fault>
</soap:Body>
</soap:Envelope>

部品のサービスの request(document style)

<soap:Envelope
 xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
<soap:Header> ... </soap:Header>
<soap:Body>
 <getPartInfo xmlns="some-ns.example.com">00345</getPartInfo>
</soap:Body>
</soap:Envelope>

部品のサービスの request(rpc style)

<soap:Envelope
 xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
 soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header> ... </soap:Header>
<soap:Body>
 <getPartInfo xmlns="some-ns.example.com>
  <partID>00345</partID>
 </getPartInfo>
</soap:Body>
</soap:Envelope>

responseの一例

<soap:Body>
 <p:Part xmlns:p="http://www.parts-depot.com"   
  xmlns:xlink="http://www.w3.org/1999/xlink">
  <Part-ID>00345</Part-ID>
  <Name>Widget-A</Name>
  <Description>...</Description>
  <Specification xlink:href="http://www.parts-depot.com/parts/00345/specification"/>
  <UnitCost currency="USD">0.10</UnitCost>
  <Quantity>10</Quantity>
 </p:Part>
</soap:Body>

WSDL

<definitions>
 <types> ... </types>
 <message> ... </message>
 <portType> ... </portType>
 <binding> ... </binding>
</definitions>

WSDLの一例

<definitions>
 <types> 
  <xs:element name="getPartInfo"> ... </types>
 <message name="GetPartInfoSoap">
  <part name="parameters" element="tns:getPartInfo"/> ... </message>
 <portType name="GetPartInfoSoap> 
 <operation name="GetPartInfo">
  <input message="tns:GetPartInfoSoap"> ... </operation> ... </portType>
 <binding> ... </binding>
</definitions>

WS-*

WS-Addressingの「endpoint reference(EPR)」

<wsa:EndpointReference xmlns:wsa="..." xmlns:example="...">
   <wsa:Address>http://www.parts-depot.com/parts/</wsa:Address>
   <wsa:ReferenceProperties>
       <example:ServiceLevel>Basic</example:ServiceLevel>
   </wsa:ReferenceProperties>
</wsa:EndpointReference>

SOAPのWebサービス

RESTのWebサービス

RESTの趣旨

RESTの基本的な概念

RESTの一例、問い合わせ

部品のリストの問い合わせ

http://www.parts-depot.com/parts

部品の詳細の情報を問う

http://www.parts-depot.com/parts/00345

問い合わせの出力

 <p:Part xmlns:p="http://www.parts-depot.com"   
  xmlns:xlink="http://www.w3.org/1999/xlink">
  <Part-ID>00345</Part-ID>
  <Name>Widget-A</Name>
  <Description>...</Description>
  <Specification xlink:href="http://www.parts-depot.com/parts/00345/specification"/>
  <UnitCost currency="USD">0.10</UnitCost>
  <Quantity>10</Quantity>
 </p:Part>

RESTのURIの種類

http://www.parts-depot.com/parts/00345
http://www.parts-depot.com/parts?action=getParts&partID=00345

RESTの特徴(まとめ)

RESTの短所

SOAPとRESTの共同作業

SOAPとRESTの共同作業が可能

WSDLにおける「WS Policy」のメタデータ

<binding name="SecureBinding" ...>
  <PolicyReference URI="#secure" />...</wsdl:binding>
<Policy wsu:Id=”secure”>
  <All>
    <ExactlyOne>
     <sp:TransportBinding>...</sp:TransportBinding>
     <sp:AsymmetricBinding>...</sp:AsymmetricBinding >
    </ExactlyOne>
  </All>
</Policy>

Webサービスの国際化

注意!

これから紹介する技術は

Webサービスの国際化の目的

SOAPのWebサービスの国際化

SOAPのheaderに国際化の情報を追加

<i18n:international>
 <tz>GMT-0300</tz>
 <i18n:locale>en-US</i18n:locale>
 <i18n:preferences>
  <ldml:measurementSystem type="metric" />
 </i18n:preferences>
</i18n:international>

ロケールの「WS Policy expression」をWSDLに追加

RESTのサービスの国際化

概要

リンク集

W3Cの特許方針「patent policy」

W3Cの特許方針に関する文書

IETFの特許方針

The Tao of IETF から

OASISの特許方針

主な資料は http://www.oasis-open.org/who/intellectualproperty.php

ISO/IECの特許方針

特許方針の「厳しさ」が必要かどうか

  1. W3Cの厳しい特許方針を優先する組織もある
  2. W3Cの特許方針の「厳しさ」でW3Cの活動に参加しない組織もいる

なぜかというと

難しい人「difficult people」

難しい人「difficult people」

このテーマの背景は、
http://producingoss.com/html-chunk/difficult-people.html
を読んでください

「Difficult People」の定義

「Difficult People」の問題を解決するとき…

解決のステップ

  1. まず、何もしなで、「difficult」の問題をそのままにしてなくなってしまうことを祈る
  2. 次に、ある人が「difficult」である、という証明を集める
  3. 個人的にワーキングループの参加者と問題について相談する
  4. 「difficult」の問題を公開し、解決する

「Difficult People」の問題が解決した一例

ステップ4、解決の鍵になったメールから

In the last 25 days, the top 6 posters to the svn [dev|users] list have
            been:
            294  kfogel@collab.net
            236  "C. Michael Pilato" <cmpilato@collab.net>
            220  "J. Random" <jrandom@problematic-poster.com>
            176  Branko Čibej <brane@xbc.nu>
            130  Philip Martin <philip@codematters.co.uk>
            126  Ben Collins-Sussman <sussman@collab.net>
            I would say that five of these people are contributing to Subversion
            hitting 1.0 in the near future.

まとめ

本講義の構造(繰り返し)

本講義の構造(繰り返し)

本講義の構造(繰り返し)

お疲れ様でした