2012年4月22日日曜日

W3C XML Schema: ٤ȡäƤϤʤ


W3C XML Schema: ٤ȡäƤϤʤ

W3C XML Schema ϳؤ֤ΤȤΤñ Ȥ褱ˡΤäƤФ֤͡٤ȡפϤ㤳ܤƤФ

  • Ȥ!: °롼סǥ륰롼סñ㷿
  • ǽʸ¤ XML ֤̾Ȥ! ƤȤؤ֤٤

ơ֤äƤϤʤȡפ

  • XML Schema ̾ͤˤʤ! ˤϲ⤫
  • ʤΤȤ!: ʣ緿(ͳ) °(ͳ) ˡ(ͳ)
  • Ȥ!(ͳ)
  • ִ롼פȤ! (ͳ)
  • targetNamespace °Τʤ(륫쥪󥹥)Ȥ!(ͳ)

뤬ºݤΡ֤äƤϤʤפȤʤȤǼΤϲʤ

ĹƤܤʤ? ʤ餳ΰԥС򤪤ܤƤۤ

XML Schema = DTD + ǡ + ̾֡פȻפ!

ʸ񤤤ư

ǤWebˤϻ褦ʸ񤬤Ĥ롣ͤϤʸüʿͤˤäƽ񤫤Ƥ롢ȤȵդϤΤȤθ³ĩ魯餷ͤ XML Schema 󥰥롼פΥСǤ⤷ʤä褦ʥ΢ȯˤϤʤ

XML Schema οΥȤ櫓

ΤȤϰ㤦ʸɬפӥͥΤ W3C XML Schema ȤͤȤȤƤ뤬ˤƤͤΤʸ񤬡

櫓ǡʸŪϡʤʤˤ򤹤٤ǡʤˤ򤹤٤ǤʤˤĤƤη¤ʥɥ饤򼨤Ȥˤ롣

ȤϤĤǤⴿޡĤǤ⤢󤷤餻ߤ
[ Kohsuke KAWAGUCHI ܸȤƤ褯򤹤Τľܥ᡼뤹Τܸ줬ѤȤæत򸫤ĤʤФ礦ޤǤɤ]

ʤʣ緿򤱤٤

ʤʣ緿Ǥ뤫ΤʤƤ⤽ʤȤǺޤʤƤ⤤εǽϡΤϾʤˤ䤿ʣʤ

ʣ緿ʤƤ⤢ʤ˼Τʤɲʤ¤ΤȤʣ緿Ȥäƽ񤤤ޤϡĤäʣ緿Ȥ鷺˽񤯤ȤǤ롣

Τ˸ȡʣ緿ʤƤ񤯤ȤǤ뤬 ȤϽ񤫤ʤƤϤʤʤ

ǤˤĤλǤȤƽ񤫤ʤƤϤʤʤ«Τ褦ʤΤȻפФ

<element name="head"><complextype> ...           </complextype></element>

ȤСʻȤʤΤؤ֤˵Ťʻ֤䤹ɬפʤƤ?

Ǽ? ʤ餳ɤޤʤƤ

ǸСʣ緿 = ǥ륰롼 + Ѿ - Ȥ䤹פʣ緿ǥ륰롼פƥǥΤ˻ȤȤ̣ǤϷߤʤΤʣ緿¾ʣ緿ǥ륰롼פ椫ȤʤΤǡȤ䤹񤬤롣ǥ륰롼פϤ¤ʤǻȤ롣

ʣ緿ΥɥХơϡַѾפǡʤʤѾȤʤƤ褤褦Ѿˤढ롣ĥ(extension)(restriction)Ĥ

ĥˤäƴ췿ƥǥθǤɲä뤳ȤǤ롣ȤȤϡʥǥ륰롼פ񤱤гĥỌ̇̄ŪƱȤǤ

<group name="extendedType"><sequence><group ref="baseType"/>     ....   </sequence></group>

¤ˤäƴ췿ƥǥ¤뤳ȤǤ롣εǽȤäƤ⡢ΤƥǥΤ񤫤ʤƤϤʤȤѤϤʤ[ʬǽ񤱤櫓ǤϤʤȤ]Ūʣ緿Ȥǥ륰롼פȤƱΤ񤫤ʤƤϤʤʤ


どのような人生は、子供用遊戯のためにアラモの最初の日でした

ʤ¤ȤȲ򤷤򤷤ΤϤäġ顼åǤ뤳ȤХǡƥǥ뤬¤ƤʤС餯顼𤹤

ԹʤȤˡϤۤȤɥɥХơˤϤʤʤ

ˡХǡˤȤäƤΥå̩˼»ܤ뤳ȤѤʤȤʤ ͽΤƤսäȸߤ첿ʤꤹΤ 3.9.6 Ϥݤȳ䤫Ƥ롣[Хǡ]ȯԤå»ܤʤǺѤޤȤͶǤ˶줿ȤƤԻ׵ĤʤΤ狼ƤοͤϤΥå»ܤʤƤⵤդϤʤ顣Τ XML Schema 󥰥롼פΥСȯ XSV ǤʬŪˤݡȤƤʤ

櫓ǡʤȤХǡ[¤ˤѾ˴ؤ]å˼»ܤʤȤȤϡ¿ˤꤽʤȤ¤λäƤͣΥɥХơϾääƤޤä櫓

ˡä¤񤤤Ƥ⡢ʤλȤХǡǤϥ顼ˤʤ뤳Ȥǹͤ褦

 췿: <element name="a"/><element name="b"/><element name="c" minoccurs="0"/>  &#164;ˤ: <element name="b"/><element name="a"/>

ԤԤ¤Τ褦˸롣ºݡˤäƼɤƥǥǤ췿ˤäƤ롣 W3C XML Schema ϤػߤƤ롣ͤǤϾ "schema component constraint: particle derivation OK (all:all,sequence:sequence -- recurse)"ȿ롣ʤΤɹΰѤη˶̣ʤ MSL κǸΥڡˤäߤ

ǥ륰롼פʣ緿Τ˻ȤäƤФȤ̵Ǥ

¤ˤä(̤ˤϽʬ򤵤Ƥʤ)줬ɤΤ褦˵ǽ뤫˾ܺ٤ޤ򤷤ʤȤʤ

ʤ°򤱤٤

Τ˸ȡ򤱤٤ʤΤХ°Ǥäơ°ϻȤäƤ褤Х°ȤΤ㤨ФΤ

<schema xs="http://www.w3.org/2001/XMSchema" targetnamespace="http://example.com"><element name="root"><complextype></complextype></element></schema>

¤ϡΥޤϤʸ񥤥󥹥󥹤ʤ

 foo="5.12"/> 

Τꡢ(֤󤢤ʤߤΤȤϰ㤦Ȼפ)ʥ󥹥󥹤ʤ롣

 ns:foo="5.12" xmlns:ns="http://example.com" /> 

°롼פʤ餳Ϥʤ°Τ°롼פȤ٤

<schema xs="http://www.w3.org/2001/XMSchema" targetnamespace="http://example.com"><element name="root"><complextype>       ....              </complextype></element></schema>

°롼פ¾°롼פ򻲾ȤǤ롣äơ°Ĥ°롼פ˽񤤤ơ褽黲Ȥ뤳ȤǤ

ʤˡ򤱤٤

ˡΤȤʤʹȤʤäȤƤסˤäƤʤϲ⼺äƤϤʤ顣ˡ[SGMLȤ]ߴΤˤ롣ޤؤɬפʤʤ

ǤⴺƵˡΤȤΤꤿʤ顢W3C XML Schema εˡ DTD ΤȤϸߴʤȤΤäƤʤߴʤȤСXML Schema εˡ QName [ץեǽ줿̾] ʤ

ͽˤ򸫤Ƥߤ褦


"アロハの精神とは何か"
<notation name="jpeg" public="image/jpeg" system="viewer.exe"/><element name="picture"><complextype><simplecontent><extension base="xs:hexBinary"><simpletype><restriction base="xs:NOTATION"><enumeration value="jpeg"/><enumeration value="png"/>        . . .       </restriction></simpletype></extension></simplecontent></complextype></element><picture pictype="jpeg">...</picture>

ϥåϾΥޤˤϼʤȤץե "pic" ƤƤ

<picture pictype="jpeg"> ... </picture>

Ƭ𤷤Ƥ? ˡ QName Ϥ񤫤ʤ㤤ʤ

<picture pictype="pic:jpeg"> ... </picture>

餫ˤͣ¸߰յ[ߴ]򼺤碌Ƥ롣

ˡˤͳʤʤˡ SGML ΤΤΤ

ʤ򤱤٤

W3C XML Schema Ǥ¦ˤ񤱤롣

<schema xs="http://www.w3.org/2001/XMSchema" targetnamespace="http://example.com"><element name="person"><complextype><sequence><element name="familyName" type="xs:string"/><element name="lastName" type="xs:string"/></sequence></complextype></element></schema>

̤ˤϲǽʸ¤ꤳ򤱤٤ʤʤΥޤϤʸ񥤥󥹥󥹤ʤ

<person xmlns="http://example.com"><familyname> KAWAGUCHI </familyname><lastname> Kohsuke </lastname></person>

ˤʤդ˽񤫤ʤƤϤʤ

<person foo="http://example.com"><familyname> KAWAGUCHI </familyname><lastname> Kohsuke </lastname></person>

ϥ̤ǤϤʤXML ֤̾ΰȤ򤱤ˤϡ񤯤Ȥ褤

 xmlns="http://example.com">                                                           

[ʸǤ3ܤ̾Ƥ롣ʤΤǸԤ˳ǧξ彤]

褹ˤ̤ˡ⤢롣Ȥˤͤ elementFormDefault="qualified" schema Ǥɲäȥ˻Ȥ롣

Ǥ⤳ϤΤˤϲ̣Τ򤹤ɬפϤʤβͤ¿ʬʤ顣줬ޤ׿񤦤褦ˤ뤳Ȥ򤹤Ф褤

ʤִ롼פ򤱤٤

ǸȡεǽϼŪ˻ȤˤϤޤʣ롣񤷤Τ


アーミッシュの給与税を行う
  • ִ롼פ񤯤ˤʣ緿ޥʤƤϤʤ⤽ʣ緿Ϥʤ򤱤٤ΤΰĤ
  • ɤǤºݤִǽʤΤ狼ˤ

ñ˸ȡִ롼פ ̤ν餤ĤǤִ롼פȤ ȤȤǤ롣Ƥˤ ɬפ

ִ롼פȤˤϡޤʣ緿ؤǡɲä줿Ĥ°ؤǡˤλȤε§ؤǡǸˤȤȤˤ̤ؤФʤƤϤʤʤ޺Ԥ뤢ʤͦˤ⤳̤ƿŷϤãȤƤ⡢Υޤ˽äʸͤʸ񤯤ˤƱƻéʤƤϤʤʤ襤ˡ

Ǥޤִ롼פȤȸΤʤ顢줬ʤפۤưפǤϤʤȤȤ򸫤Ƥ褦

ˡִ롼פΥСǤƥǥϷˤäƸߤ˴ϢŤʤȤʤϼͳƥǥ񤱤ʤȤ̣롣ˤʤϡñ˥С֤Ѿطݻ뤿ˡѤƥǥäǤִ롼פƬ˽񤫤ʤƤϤʤȻפǤ⤽ʤ

ִο񤤤򥳥ȥ뤹°ϡȤΤ򤹤Τ񤷤ִ롼פ򥳥ȥ뤹°ΰĤ block ȸƤФ°롣ޤŪͤȤ "extension", "restriction", "#all" Τ줫 final ȸƤФ°롣

final ִ롼פˤŬڤΤ褦˸뤬Ūˤϡִ롼פӽפȸƤФ졢̾褦ִ롼פ򥳥ȥ뤹ȤΤ¤block °ŪˤϤɤƤФƤ뤫ΤäƤ? ϡֵĤʤִפ㤤褯狼ʤ? ! ͤˤ褯狼ʤºݤϤɤִο񤤤򥳥ȥ뤹Τ˻Ȥ뤬ä꤫Ǥ

㤨 Y Z ִΤػߤСͣˡ block="substitution" Y ɲä뤳Ȥ°äƤ Z ִ롼פ˴ޤޤ뤳Ȥϥ顼ǤϤʤʸ Y Z ִǤʤȤΤȤ

ˤޤȤˡY ִ롼פƬȤ̤ X ꤹ(X <- Y <- Z) X Z ִƤ⥪åȤȤˤʤ롣

Ϥ٤ơ¸ǻȤäˤ̵ȻפäΤʤɤ⡢ִ롼פ򸽼ǻȤȤŪˤƤ롣Ƥ줬ִ롼פ򤱤٤ͳ

ʤ쥪󥹥ޤ򤱤٤

W3C XML Schema targetNamespace °ʤ schema ǤƤ롣Ƥʥޤ쥪󥹥ȸƤֿͤ롣
ʤ쥪󥹥ޤŬڤ 䡢Τʤ㤤ʤΤ򤱤٤ȤȤ

ĤͳϡǥХǡ֤꤬߱ǤƤǽ礭

⤦Ĥͳϥ쥪󥹥ޤȤä΢ȯͤ뤫ɤ΢˼㤤ʤϥޥϥåΤ뤳Ȥɤʤ̱뤳Ȥʤ

쥪󥹥ޤʤ򤱤٤ʤΤΤͳΤꤿʤ顢ǰʤ顢줬ؤɬפ롣

ʥ쥪󥹥ޤͤƤߤ褦

                                                               

¾Υޥե񤤤ƾΥޤ include ǤȤäƥ󥯥롼ɤȤ褦


             targetNamespace="http://example.com">                                                  

츫ǥåΤ褦¤ϤǤϥ֤ǽ񤫤줿Ԥ򸫤Ƥۤ familyName Ǥ򻲾ȤƤ褦˸롣ϴְ㤤
Υ쥪󥹥ޤ targetNamespace="http://example.com/" Υޤ饤󥯥롼ɤƤΤǡfamilyName ǤϤ֤̾ǤˤʤäƤ餳򻲾Ȥˤϡ֤Ԥ򤳤ʤդ˽񤭴ʤ㤤ʤ

<element ref="bp:familyName" bp="http://example.com"/>

о֤̾Υޤ餳Υ쥪󥹥ޤѤäɤ餤? ֤Բǽ

ǥ쥪󥹥ޤͣΥåȤ줿Τ狼ä

˺ΤϡΥ顼򸡽ФʤХǡȤȤΤ褦ʥХǡϸĤʤʤ夫ФƤ뤫⤷ʤȹͤ뤫

Ƥ̤򤱤٤ȤϤ󤢤롣Ǥ⤳Ȥ򤱤гؤ֤٤⾯ʤʤΤǡʤοϤäȥ饯ˤʤ⤽ˤä W3C XML Schema ɽϤ»ʤȤʤ

ޤϥץ˻Ȥäơϥåԡʿ!



These are our most popular posts:

FPN-やるべきことを習慣にするコツ

2010年3月14日 ... ここで紹介されているのは、TODOをよりよく運用するための4つの方法です。もちろん、 これらのことを実行するだけで、魔法を使ったようにすいすい物事が進むわけでは ありませんが、これまでよりも少しだけ、自分の「やるべきこと」をうまく ... read more

シゴタノ! やるべきことをやるための7つのステップ

三十五歳までは、人の心は柔軟性に富み新しいことを受け入れやすく、物事を学ぶ姿勢 も積極的です。ところが、多くの人の場合、三十五歳を過ぎたあたりから、過去に こだわり、変化に抵抗する心理状態に陥っていくようです。もちろん、何歳になっても精神 の ... read more

Amazon.co.jp: 35歳までに必ずやるべきこと: 重茂 達: 本

2005年9月5日 ... 手間が掛かることは当然、後まわしにされやすくなり、従って、先送りされることが多く なります。 そう考えると「自分にとって重要だ」と思えること、すなわち、やるべきことは、 習慣化すればよい、ということになりそうです。 引用:. 人生の半分は ... read more

やるべきことをリスト化したTODOをきちんと消化するための4つのコツ ...

あなたの今日すべきことを検索してくれる 世界初のライフハック検索エンジンです。 名前 を入れて検索してみてください。 3/10 「今日読むべきもの」リリース! 2/25 「子供らしさ」 リリース! ◆iTmediaのインタビューを受けました!◆ ◆フジテレビ「めざましテレビ」 ... read more

Related Posts



0 コメント:

コメントを投稿