• R/O
  • HTTP
  • SSH
  • HTTPS

XmlScheme: Commit

XmlSchemeリポジトリは、CGIゲーム「人狼BBS」の各種情報をXMLで交換する際の基本的なデータ構造を、XML Scheme で定義したものです。


Commit MetaInfo

Revisão09e0348ee1b43297e6e848196aabb09d3310d87b (tree)
Hora2011-04-19 03:51:05
AutorOlyutorskii <olyutorskii@user...>
CommiterOlyutorskii

Mensagem de Log

110419版仮

Mudança Sumário

Diff

--- /dev/null
+++ b/dtd/bbsArchive-110419.dtd
@@ -0,0 +1,337 @@
1+<!--
2+
3+人狼BBS 共通アーカイブ基盤用 DTD定義
4+
5+by olyutorskii [ http://sourceforge.jp/users/olyutorskii/ ]
6+License : The MIT License
7+※ カタログ化はご自由に
8+
9+Copyright(c) 2009 olyutorskii
10+
11+-->
12+
13+<!ENTITY % announceElems "
14+ startEntry
15+| onStage
16+| startMirror
17+| openRole
18+| murdered
19+| startAssault
20+| survivor
21+| counting
22+| suddenDeath
23+| noMurder
24+| winVillage
25+| winWolf
26+| winHamster
27+| playerList
28+| panic
29+| execution
30+| vanish
31+| checkout
32+| shortMember
33+" >
34+
35+<!ENTITY % orderElems "
36+ askEntry
37+| askCommit
38+| noComment
39+| stayEpilogue
40+| gameOver
41+" >
42+
43+<!ENTITY % extraElems "
44+ judge
45+| guard
46+| counting2
47+| assault
48+" >
49+
50+<!ENTITY % systemEvent " %announceElems; | %orderElems; | %extraElems; " >
51+
52+<!ENTITY % EventFamily " announce | order | extra " >
53+<!ENTITY % announceAttrs "eventFamily (%EventFamily;) #FIXED 'announce'" >
54+<!ENTITY % orderAttrs "eventFamily (%EventFamily;) #FIXED 'order'" >
55+<!ENTITY % extraAttrs "eventFamily (%EventFamily;) #FIXED 'extra'" >
56+
57+<!ENTITY % VillageState " prologue | progress | epilogue | gameover " >
58+<!ENTITY % DisclosureType " hot | uncomplete | complete " >
59+<!ENTITY % PeriodType " prologue | progress | epilogue " >
60+<!ENTITY % Team " village | wolf | hamster " >
61+<!ENTITY % TalkType " public | wolf | private| grave " >
62+<!ENTITY % Role "
63+ innocent
64+| wolf
65+| seer
66+| shaman
67+| madman
68+| hunter
69+| frater
70+| hamster
71+" >
72+
73+
74+<!-- #################################################################### -->
75+
76+
77+<!ELEMENT village (avatarList, period*) >
78+<!ATTLIST village
79+ xmlns CDATA #REQUIRED
80+ xmlns:xsi CDATA #REQUIRED
81+ xsi:schemaLocation CDATA #REQUIRED
82+ xml:lang CDATA "ja-JP"
83+ xml:base CDATA #REQUIRED
84+ xml:space (default|preserve) "preserve"
85+ fullName CDATA #REQUIRED
86+ vid CDATA #REQUIRED
87+ commitTime CDATA #IMPLIED
88+ state (%VillageState;) #REQUIRED
89+ disclosure (%DisclosureType;) "complete"
90+ isValid ( true | false | 1 | 0 ) "true"
91+ landName CDATA #REQUIRED
92+ formalName CDATA #REQUIRED
93+ landId CDATA #REQUIRED
94+ landPrefix CDATA #REQUIRED
95+ locale CDATA "ja-JP"
96+ origencoding CDATA "Shift_JIS"
97+ timezone CDATA "GMT+09:00"
98+ graveIconURI CDATA #REQUIRED
99+ generator CDATA #IMPLIED
100+>
101+
102+<!ELEMENT avatarList (avatar*) >
103+
104+<!ELEMENT avatar EMPTY >
105+<!ATTLIST avatar
106+ avatarId CDATA #REQUIRED
107+ fullName CDATA #REQUIRED
108+ shortName CDATA #REQUIRED
109+ faceIconURI CDATA #IMPLIED
110+>
111+
112+<!ELEMENT period ( talk | %systemEvent; )* >
113+<!ATTLIST period
114+ type (%PeriodType;) #REQUIRED
115+ day CDATA #REQUIRED
116+ disclosure (%DisclosureType;) "complete"
117+ nextCommitDay CDATA #REQUIRED
118+ commitTime CDATA #REQUIRED
119+ sourceURI CDATA #REQUIRED
120+ loadedTime CDATA #IMPLIED
121+ loadedBy CDATA #IMPLIED
122+>
123+
124+<!ELEMENT talk (li)* >
125+<!ATTLIST talk
126+ type (%TalkType;) #REQUIRED
127+ avatarId CDATA #REQUIRED
128+ xname CDATA #REQUIRED
129+ time CDATA #REQUIRED
130+ faceIconURI CDATA #IMPLIED
131+>
132+
133+<!ELEMENT li (#PCDATA|rawdata)* >
134+<!ATTLIST li xml:space (default|preserve) "preserve" >
135+
136+<!ELEMENT rawdata (#PCDATA) >
137+<!ATTLIST rawdata
138+ encoding CDATA #REQUIRED
139+ hexBin CDATA #REQUIRED
140+>
141+
142+<!ELEMENT avatarRef EMPTY >
143+<!ATTLIST avatarRef
144+ avatarId CDATA #REQUIRED
145+>
146+
147+<!ELEMENT startEntry (li)* >
148+<!ATTLIST startEntry
149+ %announceAttrs;
150+>
151+
152+<!ELEMENT onStage (li)* >
153+<!ATTLIST onStage
154+ %announceAttrs;
155+ entryNo CDATA #REQUIRED
156+ avatarId CDATA #REQUIRED
157+>
158+
159+<!ELEMENT startMirror (li)* >
160+<!ATTLIST startMirror
161+ %announceAttrs;
162+>
163+
164+<!ELEMENT roleHeads EMPTY >
165+<!ATTLIST roleHeads
166+ role (%Role;) #REQUIRED
167+ heads CDATA #REQUIRED
168+>
169+
170+<!ELEMENT openRole (li*, roleHeads+) >
171+<!ATTLIST openRole
172+ %announceAttrs;
173+>
174+
175+<!ELEMENT murdered (li*, avatarRef+) >
176+<!ATTLIST murdered
177+ %announceAttrs;
178+>
179+
180+<!ELEMENT startAssault (li)* >
181+<!ATTLIST startAssault
182+ %announceAttrs;
183+>
184+
185+<!ELEMENT survivor (li*, avatarRef+) >
186+<!ATTLIST survivor
187+ %announceAttrs;
188+>
189+
190+<!ELEMENT vote EMPTY >
191+<!ATTLIST vote
192+ byWhom CDATA #REQUIRED
193+ target CDATA #REQUIRED
194+>
195+
196+<!ELEMENT counting (li*, vote+) >
197+<!ATTLIST counting
198+ %announceAttrs;
199+ victim CDATA #IMPLIED
200+>
201+
202+<!ELEMENT suddenDeath (li)* >
203+<!ATTLIST suddenDeath
204+ %announceAttrs;
205+ avatarId CDATA #REQUIRED
206+>
207+
208+<!ELEMENT noMurder (li)* >
209+<!ATTLIST noMurder
210+ %announceAttrs;
211+>
212+
213+<!ELEMENT winVillage (li)* >
214+<!ATTLIST winVillage
215+ %announceAttrs;
216+>
217+
218+<!ELEMENT winWolf (li)* >
219+<!ATTLIST winWolf
220+ %announceAttrs;
221+>
222+
223+<!ELEMENT winHamster (li)* >
224+<!ATTLIST winHamster
225+ %announceAttrs;
226+>
227+
228+<!ELEMENT playerInfo EMPTY >
229+<!ATTLIST playerInfo
230+ playerId CDATA #REQUIRED
231+ avatarId CDATA #REQUIRED
232+ survive ( true | false | 1 | 0 ) #REQUIRED
233+ role (%Role;) #REQUIRED
234+ uri CDATA #IMPLIED
235+>
236+
237+<!ELEMENT playerList (li*, playerInfo+) >
238+<!ATTLIST playerList
239+ %announceAttrs;
240+>
241+
242+<!ELEMENT panic (li)* >
243+<!ATTLIST panic
244+ %announceAttrs;
245+>
246+
247+<!ELEMENT nominated EMPTY >
248+<!ATTLIST nominated
249+ avatarId CDATA #REQUIRED
250+ count CDATA #REQUIRED
251+>
252+
253+<!ELEMENT execution (li*, nominated+) >
254+<!ATTLIST execution
255+ %announceAttrs;
256+ victim CDATA #IMPLIED
257+>
258+
259+<!ELEMENT vanish (li)* >
260+<!ATTLIST vanish
261+ %announceAttrs;
262+ avatarId CDATA #REQUIRED
263+>
264+
265+<!ELEMENT checkout (li)* >
266+<!ATTLIST checkout
267+ %announceAttrs;
268+ avatarId CDATA #REQUIRED
269+>
270+
271+<!ELEMENT shortMember (li)* >
272+<!ATTLIST shortMember
273+ %announceAttrs;
274+>
275+
276+<!ELEMENT askEntry (li)* >
277+<!ATTLIST askEntry
278+ %orderAttrs;
279+ commitTime CDATA #REQUIRED
280+ minMembers CDATA #REQUIRED
281+ maxMembers CDATA #REQUIRED
282+>
283+
284+<!ELEMENT askCommit (li)* >
285+<!ATTLIST askCommit
286+ %orderAttrs;
287+ limitVote CDATA #REQUIRED
288+ limitSpecial CDATA #REQUIRED
289+>
290+
291+<!ELEMENT noComment (li*, avatarRef+) >
292+<!ATTLIST noComment
293+ %orderAttrs;
294+>
295+
296+<!ELEMENT stayEpilogue (li)* >
297+<!ATTLIST stayEpilogue
298+ %orderAttrs;
299+ winner (%Team;) #REQUIRED
300+ limitTime CDATA #REQUIRED
301+>
302+
303+<!ELEMENT gameOver (li)* >
304+<!ATTLIST gameOver
305+ %orderAttrs;
306+>
307+
308+<!ELEMENT judge (li)* >
309+<!ATTLIST judge
310+ %extraAttrs;
311+ byWhom CDATA #REQUIRED
312+ target CDATA #REQUIRED
313+>
314+
315+<!ELEMENT guard (li)* >
316+<!ATTLIST guard
317+ %extraAttrs;
318+ byWhom CDATA #REQUIRED
319+ target CDATA #REQUIRED
320+>
321+
322+<!ELEMENT counting2 (li*, vote+) >
323+<!ATTLIST counting2
324+ %extraAttrs;
325+>
326+
327+<!ELEMENT assault (li)* >
328+<!ATTLIST assault
329+ %extraAttrs;
330+ byWhom CDATA #REQUIRED
331+ target CDATA #REQUIRED
332+ xname CDATA #REQUIRED
333+ time CDATA #REQUIRED
334+ faceIconURI CDATA #IMPLIED
335+>
336+
337+<!-- EOF -->
--- /dev/null
+++ b/xsd/bbsArchive-110419.xsd
@@ -0,0 +1,1508 @@
1+<?xml version="1.0" encoding="UTF-8" ?>
2+
3+<xsd:schema
4+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5+ xmlns:tns ="http://jindolf.sourceforge.jp/xml/ns/501"
6+ targetNamespace="http://jindolf.sourceforge.jp/xml/ns/501"
7+ elementFormDefault="qualified"
8+ xml:lang="ja-JP"
9+ version="221"
10+>
11+
12+ <xsd:annotation>
13+<xsd:documentation><![CDATA[
14+############################################################################
15+
16+人狼BBS 共通アーカイブ基盤用 スキーム定義
17+
18+by olyutorskii [ http://sourceforge.jp/users/olyutorskii/ ]
19+License : The MIT License
20+※ カタログ化はご自由に
21+
22+Copyright(c) 2009 olyutorskii
23+
24+############################################################################
25+]]></xsd:documentation>
26+ </xsd:annotation>
27+
28+
29+ <xsd:import
30+ namespace="http://www.w3.org/XML/1998/namespace"
31+ schemaLocation="http://www.w3.org/2001/xml.xsd"
32+ />
33+
34+
35+ <xsd:include
36+ schemaLocation="http://jindolf.sourceforge.jp/xml/xsd/coreType-090929.xsd"
37+ />
38+
39+
40+<!-- 各種複合型定義 ################################ -->
41+
42+ <!-- ================================================================ -->
43+
44+ <xsd:complexType name="TextLines">
45+ <xsd:annotation>
46+<xsd:documentation><![CDATA[
47+############################################################################
48+li要素を子に持つ複数行コンテンツ。
49+############################################################################
50+]]></xsd:documentation>
51+ </xsd:annotation>
52+ <xsd:sequence>
53+ <xsd:element ref="tns:li" minOccurs="0" maxOccurs="unbounded" />
54+ </xsd:sequence>
55+ </xsd:complexType>
56+
57+ <!-- ================================================================ -->
58+
59+ <xsd:element name="li">
60+ <xsd:annotation>
61+<xsd:documentation><![CDATA[
62+############################################################################
63+会話文字列やシステムメッセージの各行を記述する混合モデル。
64+元XHTMLデータ内会話<div>要素内のスペースとタブは
65+すべて保存されなければならない。
66+それ以外の余分な改行とスペースとタブを入れてはならない。
67+生データ記述<rawdata>を途中に挿入可能。
68+############################################################################
69+]]></xsd:documentation>
70+ </xsd:annotation>
71+ <xsd:complexType mixed="true">
72+ <xsd:choice>
73+ <xsd:element
74+ ref="tns:rawdata"
75+ minOccurs="0" maxOccurs="unbounded"
76+ />
77+ </xsd:choice>
78+ <xsd:attribute
79+ ref="xml:space"
80+ use="optional"
81+ default="preserve"
82+ />
83+ </xsd:complexType>
84+ </xsd:element>
85+
86+ <!-- ================================================================ -->
87+
88+ <xsd:simpleType name="Onechar">
89+ <xsd:annotation>
90+<xsd:documentation><![CDATA[
91+############################################################################
92+1文字限定の文字列
93+############################################################################
94+]]></xsd:documentation>
95+ </xsd:annotation>
96+ <xsd:restriction base="xsd:string">
97+ <xsd:length value="1" />
98+ </xsd:restriction>
99+ </xsd:simpleType>
100+
101+ <!-- ================================================================ -->
102+
103+ <xsd:element name="rawdata">
104+ <xsd:annotation>
105+<xsd:documentation><![CDATA[
106+############################################################################
107+・人狼BBS元データのエンコーディングが変だった。
108+・もしくは文字集合制約を満たさなかった。(機種依存文字)
109+などの事実を記述するための1byteもしくは2byteの生データの情報。
110+類似するエンコーディングから代替文字1文字を推測して埋めておく事が可能。
111+
112+内容 : 代替文字列1文字。推測不可能な場合はU+FFFDなどが望ましい。
113+encoding : 元データのエンコーディングおよび文字集合指定。
114+ F国以前の人狼BBSでは事実上「Shift_JIS」固定。
115+hexBin : 元データの16進データ文字列。2文字か4文字。例)「874a」「FF」
116+############################################################################
117+]]></xsd:documentation>
118+ </xsd:annotation>
119+ <xsd:complexType>
120+ <xsd:simpleContent>
121+ <xsd:extension base="tns:Onechar">
122+ <xsd:attribute
123+ name="encoding"
124+ type="tns:EncodingDecl"
125+ use="required"
126+ />
127+ <xsd:attribute
128+ name="hexBin"
129+ type="xsd:hexBinary"
130+ use="required"
131+ />
132+ </xsd:extension>
133+ </xsd:simpleContent>
134+ </xsd:complexType>
135+ </xsd:element>
136+
137+ <!-- ================================================================ -->
138+
139+ <xsd:complexType name="EventAnnounce">
140+ <xsd:annotation>
141+<xsd:documentation><![CDATA[
142+############################################################################
143+Announceイベント共通型。
144+eventFamily属性値は"announce"固定。
145+############################################################################
146+]]></xsd:documentation>
147+ </xsd:annotation>
148+ <xsd:complexContent>
149+ <xsd:extension base="tns:TextLines">
150+ <xsd:attribute
151+ name="eventFamily"
152+ type="tns:EventFamily"
153+ fixed="announce"
154+ />
155+ </xsd:extension>
156+ </xsd:complexContent>
157+ </xsd:complexType>
158+
159+ <!-- ================================================================ -->
160+
161+ <xsd:complexType name="EventOrder">
162+ <xsd:annotation>
163+<xsd:documentation><![CDATA[
164+############################################################################
165+Orderイベント共通型。
166+eventFamily属性値は"order"固定。
167+############################################################################
168+]]></xsd:documentation>
169+ </xsd:annotation>
170+ <xsd:complexContent>
171+ <xsd:extension base="tns:TextLines">
172+ <xsd:attribute
173+ name="eventFamily"
174+ type="tns:EventFamily"
175+ fixed="order"
176+ />
177+ </xsd:extension>
178+ </xsd:complexContent>
179+ </xsd:complexType>
180+
181+ <!-- ================================================================ -->
182+
183+ <xsd:complexType name="EventExtra">
184+ <xsd:annotation>
185+<xsd:documentation><![CDATA[
186+############################################################################
187+Extraイベント共通型。
188+eventFamily属性値は"extra"固定。
189+############################################################################
190+]]></xsd:documentation>
191+ </xsd:annotation>
192+ <xsd:complexContent>
193+ <xsd:extension base="tns:TextLines">
194+ <xsd:attribute
195+ name="eventFamily"
196+ type="tns:EventFamily"
197+ fixed="extra"
198+ />
199+ </xsd:extension>
200+ </xsd:complexContent>
201+ </xsd:complexType>
202+
203+
204+<!-- 各種グループ定義 ################################ -->
205+
206+ <!-- ================================================================ -->
207+
208+ <xsd:group name="EventAnnounceGroup">
209+ <xsd:annotation>
210+<xsd:documentation><![CDATA[
211+############################################################################
212+Announce型システムメッセージ要素のグループ
213+############################################################################
214+]]></xsd:documentation>
215+ </xsd:annotation>
216+ <xsd:choice>
217+ <xsd:element ref="tns:startEntry" />
218+ <xsd:element ref="tns:onStage" />
219+ <xsd:element ref="tns:startMirror" />
220+ <xsd:element ref="tns:openRole" />
221+ <xsd:element ref="tns:murdered" />
222+ <xsd:element ref="tns:startAssault" />
223+ <xsd:element ref="tns:survivor" />
224+ <xsd:element ref="tns:counting" />
225+ <xsd:element ref="tns:suddenDeath" />
226+ <xsd:element ref="tns:noMurder" />
227+ <xsd:element ref="tns:winVillage" />
228+ <xsd:element ref="tns:winWolf" />
229+ <xsd:element ref="tns:winHamster" />
230+ <xsd:element ref="tns:playerList" />
231+ <xsd:element ref="tns:panic" />
232+ <xsd:element ref="tns:execution" />
233+ <xsd:element ref="tns:vanish" />
234+ <xsd:element ref="tns:checkout" />
235+ <xsd:element ref="tns:shortMember" />
236+ </xsd:choice>
237+ </xsd:group>
238+
239+ <!-- ================================================================ -->
240+
241+ <xsd:group name="EventOrderGroup">
242+ <xsd:annotation>
243+<xsd:documentation><![CDATA[
244+############################################################################
245+Order型システムメッセージ要素のグループ
246+############################################################################
247+]]></xsd:documentation>
248+ </xsd:annotation>
249+ <xsd:choice>
250+ <xsd:element ref="tns:askEntry" />
251+ <xsd:element ref="tns:askCommit" />
252+ <xsd:element ref="tns:noComment" />
253+ <xsd:element ref="tns:stayEpilogue" />
254+ <xsd:element ref="tns:gameOver" />
255+ </xsd:choice>
256+ </xsd:group>
257+
258+ <!-- ================================================================ -->
259+
260+ <xsd:group name="EventExtraGroup">
261+ <xsd:annotation>
262+<xsd:documentation><![CDATA[
263+############################################################################
264+Extra型システムメッセージ要素のグループ
265+############################################################################
266+]]></xsd:documentation>
267+ </xsd:annotation>
268+ <xsd:choice>
269+ <xsd:element ref="tns:judge" />
270+ <xsd:element ref="tns:guard" />
271+ <xsd:element ref="tns:counting2" />
272+ <xsd:element ref="tns:assault" />
273+ </xsd:choice>
274+ </xsd:group>
275+
276+
277+<!-- 各種要素定義 ################################ -->
278+
279+ <!-- ================================================================ -->
280+
281+ <xsd:element name="village">
282+ <xsd:annotation>
283+<xsd:documentation><![CDATA[
284+############################################################################
285+このスキーマ中の最高位ルート要素。
286+1つの「村」に対応する。
287+period並びは日順で並んでいなければならない。
288+
289+xml:lang => この要素内部で使われる言語。デフォルトは「ja-JP」
290+xml:base => この要素内で現れる相対URIのベース。
291+ 人狼BBSの運営方針によっては将来無効になる可能性もある。
292+xml:space => li要素より上位要素内のホワイトスペースのパース方針。
293+fullName => 村のフルネーム(ex.「F1784 日の沈まぬ村」)
294+vid => 村の識別ID(ex.「1784」)
295+commitTime => 更新時刻。24時間村なら出力するのが望ましい。
296+ GMTとの時差も出力するのが望ましい。
297+ 午後1時30分更新の例)「13:30:00+09:00」
298+ 時差表記がないならtimezone属性を使って
299+ 読み込み時に補正すべき。
300+state => 村の状態
301+disclosure => 発言の開示状況。
302+ 「hot」ならプレイ真っ最中の最新日が含まれている。
303+ 「uncomplete」なら未開示発言を含む日が含まれている。
304+ 「complete」なら全発言は完全に開示されている。
305+isValid => システムのトラブルでゲーム勝敗が成り立っていないと
306+ 判断できるならfalse
307+landName => 国の名前。「人狼BBS:F国」など。
308+formalName => 正式名称。http://homepage2.nifty.com/ninjinia/ に準ずる。
309+landId => JinCoreライブラリで管理している国の識別子。F国なら「wolff」
310+landPrefix => 村名の前置詞。F国なら「F」。
311+ 無い国も複数ある。
312+locale => この国で使われている言葉・文化。
313+origencoding => この国で使われているエンコーディング
314+timezone => この国の時刻表記で使われているタイムゾーン。
315+graveIconURI => 墓アイコン画像のURI
316+generator => XMLを吐き出したアプリ、サブシステム、ライブラリの名前。
317+############################################################################
318+]]></xsd:documentation>
319+ </xsd:annotation>
320+ <xsd:complexType>
321+ <xsd:sequence>
322+ <xsd:element ref="tns:avatarList" />
323+ <xsd:element
324+ ref="tns:period"
325+ minOccurs="0" maxOccurs="unbounded"
326+ />
327+ </xsd:sequence>
328+ <xsd:attribute
329+ ref="xml:lang"
330+ use="optional"
331+ default="ja-JP"
332+ />
333+ <xsd:attribute
334+ ref="xml:base"
335+ use="required"
336+ />
337+ <xsd:attribute
338+ ref="xml:space"
339+ use="optional"
340+ default="default"
341+ />
342+ <xsd:attribute
343+ name="fullName"
344+ type="xsd:normalizedString"
345+ use="required"
346+ />
347+ <xsd:attribute
348+ name="vid"
349+ type="xsd:nonNegativeInteger"
350+ use="required"
351+ />
352+ <xsd:attribute
353+ name="commitTime"
354+ type="xsd:time"
355+ use="optional"
356+ />
357+ <xsd:attribute
358+ name="state"
359+ type="tns:VillageState"
360+ use="required"
361+ />
362+ <xsd:attribute
363+ name="disclosure"
364+ type="tns:DisclosureType"
365+ use="optional"
366+ default="complete"
367+ />
368+ <xsd:attribute
369+ name="isValid"
370+ type="xsd:boolean"
371+ use="optional"
372+ default="true"
373+ />
374+ <xsd:attribute
375+ name="landName"
376+ type="xsd:normalizedString"
377+ use="required"
378+ />
379+ <xsd:attribute
380+ name="formalName"
381+ type="xsd:normalizedString"
382+ use="required"
383+ />
384+ <xsd:attribute
385+ name="landId"
386+ type="tns:LandIdentifier"
387+ use="required"
388+ />
389+ <xsd:attribute
390+ name="landPrefix"
391+ type="xsd:token"
392+ use="required"
393+ />
394+ <xsd:attribute
395+ name="locale"
396+ type="xsd:language"
397+ use="optional"
398+ default="ja-JP"
399+ />
400+ <xsd:attribute
401+ name="origencoding"
402+ type="tns:EncodingDecl"
403+ use="optional"
404+ default="Shift_JIS"
405+ />
406+ <xsd:attribute
407+ name="timezone"
408+ type="tns:Timezone"
409+ use="optional"
410+ default="GMT+09:00"
411+ />
412+ <xsd:attribute
413+ name="graveIconURI"
414+ type="xsd:anyURI"
415+ use="required"
416+ />
417+ <xsd:attribute
418+ name="generator"
419+ type="xsd:normalizedString"
420+ use="optional"
421+ />
422+ </xsd:complexType>
423+
424+ <!-- ここからキー定義 -->
425+
426+ <xsd:key name="avatar-id">
427+ <xsd:selector xpath="./tns:avatarList/tns:avatar" />
428+ <xsd:field xpath="@avatarId" />
429+ </xsd:key>
430+
431+ <xsd:keyref name="avatarRef-avatar" refer="tns:avatar-id">
432+ <xsd:selector xpath=".//tns:avatarRef" />
433+ <xsd:field xpath="@avatarId" />
434+ </xsd:keyref>
435+
436+ <xsd:keyref name="onStage-avatar" refer="tns:avatar-id">
437+ <xsd:selector xpath=".//tns:onStage" />
438+ <xsd:field xpath="@avatarId" />
439+ </xsd:keyref>
440+
441+ <xsd:keyref name="counting-avatar-victim" refer="tns:avatar-id">
442+ <xsd:selector xpath=".//tns:counting" />
443+ <xsd:field xpath="@victim" />
444+ </xsd:keyref>
445+
446+ <xsd:keyref name="vote-avatar-by" refer="tns:avatar-id">
447+ <xsd:selector xpath=".//tns:vote" />
448+ <xsd:field xpath="@byWhom" />
449+ </xsd:keyref>
450+
451+ <xsd:keyref name="vote-avatar-to" refer="tns:avatar-id">
452+ <xsd:selector xpath=".//tns:vote" />
453+ <xsd:field xpath="@target" />
454+ </xsd:keyref>
455+
456+ <xsd:keyref name="suddenDeath-avatar" refer="tns:avatar-id">
457+ <xsd:selector xpath=".//tns:suddenDeath" />
458+ <xsd:field xpath="@avatarId" />
459+ </xsd:keyref>
460+
461+ <xsd:keyref name="playerInfo-avatar" refer="tns:avatar-id">
462+ <xsd:selector xpath=".//tns:playerInfo" />
463+ <xsd:field xpath="@avatarId" />
464+ </xsd:keyref>
465+
466+ <xsd:keyref name="examine-avatar-by" refer="tns:avatar-id">
467+ <xsd:selector xpath=".//tns:judge" />
468+ <xsd:field xpath="@byWhom" />
469+ </xsd:keyref>
470+
471+ <xsd:keyref name="examine-avatar-to" refer="tns:avatar-id">
472+ <xsd:selector xpath=".//tns:judge" />
473+ <xsd:field xpath="@target" />
474+ </xsd:keyref>
475+
476+ <xsd:keyref name="guard-avatar-by" refer="tns:avatar-id">
477+ <xsd:selector xpath=".//tns:guard" />
478+ <xsd:field xpath="@byWhom" />
479+ </xsd:keyref>
480+
481+ <xsd:keyref name="guard-avatar-to" refer="tns:avatar-id">
482+ <xsd:selector xpath=".//tns:guard" />
483+ <xsd:field xpath="@target" />
484+ </xsd:keyref>
485+
486+ <xsd:keyref name="assault-avatar-by" refer="tns:avatar-id">
487+ <xsd:selector xpath=".//tns:assault" />
488+ <xsd:field xpath="@byWhom" />
489+ </xsd:keyref>
490+
491+ <xsd:keyref name="assault-avatar-to" refer="tns:avatar-id">
492+ <xsd:selector xpath=".//tns:assault" />
493+ <xsd:field xpath="@target" />
494+ </xsd:keyref>
495+
496+ <xsd:keyref name="talk-avatar" refer="tns:avatar-id">
497+ <xsd:selector xpath=".//tns:talk" />
498+ <xsd:field xpath="@avatarId" />
499+ </xsd:keyref>
500+
501+ <xsd:unique name="period-day">
502+ <xsd:selector xpath="./tns:period" />
503+ <xsd:field xpath="@day" />
504+ </xsd:unique>
505+
506+ </xsd:element>
507+
508+ <!-- ================================================================ -->
509+
510+ <xsd:element name="avatarList">
511+ <xsd:annotation>
512+<xsd:documentation><![CDATA[
513+############################################################################
514+Avatar(キャラクター)の集合。
515+############################################################################
516+]]></xsd:documentation>
517+ </xsd:annotation>
518+ <xsd:complexType>
519+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
520+ <xsd:element ref="tns:avatar" />
521+ </xsd:sequence>
522+ </xsd:complexType>
523+ </xsd:element>
524+
525+ <!-- ================================================================ -->
526+
527+ <xsd:element name="avatar">
528+ <xsd:annotation>
529+<xsd:documentation><![CDATA[
530+############################################################################
531+Avatar(キャラクター)の定義。
532+
533+avatarId => Avatarの識別名。
534+ Avatarを連想させる簡潔なアルファベット列が望ましい。(例:「gerd」)
535+ 適当にユニークで簡素なアルファベットを割り振ってもよい。
536+ 短縮名で代用してもよい。
537+ ハイフン禁止。
538+fullName => Avatarのフルネーム。(ex.「楽天家 ゲルト」)
539+shortName => Avatarの短縮名。(ex.「ゲルト」)スペース禁止。
540+faceIconURI => 顔画像アイコンへのURI。
541+ プロローグから一言も発言せずに突然死した場合は省略してもよい。
542+############################################################################
543+]]></xsd:documentation>
544+ </xsd:annotation>
545+ <xsd:complexType>
546+ <xsd:sequence />
547+ <xsd:attribute
548+ name="avatarId"
549+ type="tns:AvatarId"
550+ use="required"
551+ />
552+ <xsd:attribute
553+ name="fullName"
554+ type="xsd:normalizedString"
555+ use="required"
556+ />
557+ <xsd:attribute
558+ name="shortName"
559+ type="xsd:token"
560+ use="required"
561+ />
562+ <xsd:attribute
563+ name="faceIconURI"
564+ type="xsd:anyURI"
565+ use="optional"
566+ />
567+ </xsd:complexType>
568+ </xsd:element>
569+
570+ <!-- ================================================================ -->
571+
572+ <xsd:element name="period">
573+ <xsd:annotation>
574+<xsd:documentation><![CDATA[
575+############################################################################
576+Period(日)の定義。
577+子要素として、会話およびシステムメッセージを0個以上抱える。
578+各システムメッセージの出現順に関する制約
579+(「突然死の次は投票結果のはず」、etc.)は、
580+このスキーマでは定義しない。
581+
582+type => このPeriodの種類。
583+day => プロローグは0、n日目はn、n日目の次にエピローグが来たなら、
584+ エピローグはn+1となる。
585+disclosure => 発言の開示状況。
586+ 「hot」ならその日はプレイ真っ最中の最新日。
587+ 「uncomplete」ならまだその日の未開示発言を取得していない可能性がある。
588+ 「complete」ならその日の全発言は完全に開示された。
589+nextCommitDay => 次回更新月日。年はなし。
590+ GMTとの時差も出力するのが望ましい。
591+ 8月31日の例)「--08-31+09:00」
592+ 時差表記がないならlandInfo要素のtimezone属性を使って
593+ 読み込み時に補正すべき。
594+commitTime => 更新時刻。秒以下の単位は切り捨て。
595+ GMTとの時差も出力するのが望ましい。
596+ 午後1時30分更新の例)「13:30:00+09:00」
597+ 時差表記がないならland要素のtimezone属性を使って
598+ 読み込み時に補正すべき。
599+sourceURI => このPeriodを取り込んだときの元となったURI。
600+ 同じ村の同じ日でも、進行によってURIが変わることが
601+ ありうる。
602+loadedTime => このPeriodを取り込んだ時刻。
603+ GMTとの時差も出力するのが望ましい。
604+ 人狼BBSサーバからのHTTP応答内部から算出するのが望ましい。
605+ 無理ならローカルカレンダから。
606+loadedBy => 進行中の村を参加者が読み込んだ場合、その時のログインIDを出力する。
607+ windows31jに由来する文字が含まれる場合もある。
608+############################################################################
609+]]></xsd:documentation>
610+ </xsd:annotation>
611+ <xsd:complexType>
612+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
613+ <xsd:element ref="tns:talk" />
614+ <xsd:group ref="tns:EventAnnounceGroup" />
615+ <xsd:group ref="tns:EventOrderGroup" />
616+ <xsd:group ref="tns:EventExtraGroup" />
617+ </xsd:choice>
618+ <xsd:attribute
619+ name="type"
620+ type="tns:PeriodType"
621+ use="required"
622+ />
623+ <xsd:attribute
624+ name="day"
625+ type="xsd:nonNegativeInteger"
626+ use="required"
627+ />
628+ <xsd:attribute
629+ name="disclosure"
630+ type="tns:DisclosureType"
631+ use="optional"
632+ default="complete"
633+ />
634+ <xsd:attribute
635+ name="nextCommitDay"
636+ type="xsd:gMonthDay"
637+ use="required"
638+ />
639+ <xsd:attribute
640+ name="commitTime"
641+ type="xsd:time"
642+ use="required"
643+ />
644+ <xsd:attribute
645+ name="sourceURI"
646+ type="xsd:anyURI"
647+ use="required"
648+ />
649+ <xsd:attribute
650+ name="loadedTime"
651+ type="xsd:dateTime"
652+ use="optional"
653+ />
654+ <xsd:attribute
655+ name="loadedBy"
656+ type="tns:PlayerId"
657+ use="optional"
658+ />
659+ </xsd:complexType>
660+
661+ </xsd:element>
662+
663+ <!-- ================================================================ -->
664+
665+ <xsd:element name="avatarRef">
666+ <xsd:annotation>
667+<xsd:documentation><![CDATA[
668+############################################################################
669+Avatarへの参照。
670+avatarId => Avatar識別子
671+※ IDREFS属性を使うのやめた。
672+############################################################################
673+]]></xsd:documentation>
674+ </xsd:annotation>
675+ <xsd:complexType>
676+ <xsd:attribute
677+ name="avatarId"
678+ type="tns:AvatarId"
679+ use="required"
680+ />
681+ </xsd:complexType>
682+ </xsd:element>
683+
684+ <!-- ================================================================ -->
685+
686+ <xsd:element name="startEntry" type="tns:EventAnnounce">
687+ <xsd:annotation>
688+<xsd:documentation><![CDATA[
689+############################################################################
690+システムメッセージ:エントリ開始
691+############################################################################
692+]]></xsd:documentation>
693+ </xsd:annotation>
694+ </xsd:element>
695+
696+ <!-- ================================================================ -->
697+
698+ <xsd:element name="onStage" >
699+ <xsd:annotation>
700+<xsd:documentation><![CDATA[
701+############################################################################
702+システムメッセージ:参加者登場
703+entryNo => 登場順番号。ごくまれにAvatar間で重複することあり。
704+avatarId => Avatar識別子
705+############################################################################
706+]]></xsd:documentation>
707+ </xsd:annotation>
708+ <xsd:complexType>
709+ <xsd:complexContent>
710+ <xsd:extension base="tns:EventAnnounce">
711+ <xsd:attribute
712+ name="entryNo"
713+ type="xsd:positiveInteger"
714+ use="required"
715+ />
716+ <xsd:attribute
717+ name="avatarId"
718+ type="tns:AvatarId"
719+ use="required"
720+ />
721+ </xsd:extension>
722+ </xsd:complexContent>
723+ </xsd:complexType>
724+ </xsd:element>
725+
726+ <!-- ================================================================ -->
727+
728+ <xsd:element name="startMirror" type="tns:EventAnnounce">
729+ <xsd:annotation>
730+<xsd:documentation><![CDATA[
731+############################################################################
732+システムメッセージ:1日目開始
733+############################################################################
734+]]></xsd:documentation>
735+ </xsd:annotation>
736+ </xsd:element>
737+
738+ <!-- ================================================================ -->
739+
740+ <xsd:element name="openRole">
741+ <xsd:annotation>
742+<xsd:documentation><![CDATA[
743+############################################################################
744+システムメッセージ:役職構成開示
745+roleHeads要素(各役職の人数記述)を複数かかえる。
746+############################################################################
747+]]></xsd:documentation>
748+ </xsd:annotation>
749+ <xsd:complexType>
750+ <xsd:complexContent>
751+ <xsd:extension base="tns:EventAnnounce">
752+ <xsd:sequence minOccurs="1" maxOccurs="unbounded">
753+ <xsd:element ref="tns:roleHeads" />
754+ </xsd:sequence>
755+ </xsd:extension>
756+ </xsd:complexContent>
757+ </xsd:complexType>
758+ </xsd:element>
759+
760+ <!-- ================================================================ -->
761+
762+ <xsd:element name="roleHeads">
763+ <xsd:annotation>
764+<xsd:documentation><![CDATA[
765+############################################################################
766+役職とその人数
767+############################################################################
768+]]></xsd:documentation>
769+ </xsd:annotation>
770+ <xsd:complexType>
771+ <xsd:attribute
772+ name="role"
773+ type="tns:Role"
774+ use="required"
775+ />
776+ <xsd:attribute
777+ name="heads"
778+ type="xsd:positiveInteger"
779+ use="required"
780+ />
781+ </xsd:complexType>
782+ </xsd:element>
783+
784+ <!-- ================================================================ -->
785+
786+ <xsd:element name="murdered">
787+ <xsd:annotation>
788+<xsd:documentation><![CDATA[
789+############################################################################
790+システムメッセージ:突然死でない犠牲者
791+avatarRef(Avatar参照)要素を1つ持つ。E国では2つ(ハム溶け)の場合も。
792+############################################################################
793+]]></xsd:documentation>
794+ </xsd:annotation>
795+ <xsd:complexType>
796+ <xsd:complexContent>
797+ <xsd:extension base="tns:EventAnnounce">
798+ <xsd:sequence>
799+ <xsd:element
800+ ref="tns:avatarRef"
801+ minOccurs="1" maxOccurs="2"
802+ />
803+ </xsd:sequence>
804+ </xsd:extension>
805+ </xsd:complexContent>
806+ </xsd:complexType>
807+ </xsd:element>
808+
809+ <!-- ================================================================ -->
810+
811+ <xsd:element name="startAssault" type="tns:EventAnnounce">
812+ <xsd:annotation>
813+<xsd:documentation><![CDATA[
814+############################################################################
815+システムメッセージ:最初の襲撃
816+############################################################################
817+]]></xsd:documentation>
818+ </xsd:annotation>
819+ </xsd:element>
820+
821+ <!-- ================================================================ -->
822+
823+ <xsd:element name="survivor">
824+ <xsd:annotation>
825+<xsd:documentation><![CDATA[
826+############################################################################
827+システムメッセージ:生存者一覧
828+生存者を表すavatarRef(Avatar参照)要素を1つ以上持つ。
829+############################################################################
830+]]></xsd:documentation>
831+ </xsd:annotation>
832+ <xsd:complexType>
833+ <xsd:complexContent>
834+ <xsd:extension base="tns:EventAnnounce">
835+ <xsd:sequence>
836+ <xsd:element
837+ ref="tns:avatarRef"
838+ minOccurs="1"
839+ maxOccurs="unbounded"
840+ />
841+ </xsd:sequence>
842+ </xsd:extension>
843+ </xsd:complexContent>
844+ </xsd:complexType>
845+ </xsd:element>
846+
847+ <!-- ================================================================ -->
848+
849+ <xsd:element name="counting">
850+ <xsd:annotation>
851+<xsd:documentation><![CDATA[
852+############################################################################
853+システムメッセージ:投票開示
854+vote要素(個々の投票)を1つ以上持つ。
855+victim => 処刑された人のAvatar識別子。誰も処刑されなかったら省略。
856+############################################################################
857+]]></xsd:documentation>
858+ </xsd:annotation>
859+ <xsd:complexType>
860+ <xsd:complexContent>
861+ <xsd:extension base="tns:EventAnnounce">
862+ <xsd:sequence>
863+ <xsd:element
864+ ref="tns:vote"
865+ minOccurs="1"
866+ maxOccurs="unbounded"
867+ />
868+ </xsd:sequence>
869+ <xsd:attribute
870+ name="victim"
871+ type="tns:AvatarId"
872+ use="optional"
873+ />
874+ </xsd:extension>
875+ </xsd:complexContent>
876+ </xsd:complexType>
877+ </xsd:element>
878+
879+ <!-- ================================================================ -->
880+
881+ <xsd:element name="vote">
882+ <xsd:annotation>
883+<xsd:documentation><![CDATA[
884+############################################################################
885+処刑投票した人とされた人のペア。
886+voteBy => 投票した人のAvatar識別子
887+voteTo => 投票された人のAvatar識別子
888+############################################################################
889+]]></xsd:documentation>
890+ </xsd:annotation>
891+ <xsd:complexType>
892+ <xsd:attribute
893+ name="byWhom"
894+ type="tns:AvatarId"
895+ use="required"
896+ />
897+ <xsd:attribute
898+ name="target"
899+ type="tns:AvatarId"
900+ use="required"
901+ />
902+ </xsd:complexType>
903+ </xsd:element>
904+
905+ <!-- ================================================================ -->
906+
907+ <xsd:element name="suddenDeath" >
908+ <xsd:annotation>
909+<xsd:documentation><![CDATA[
910+############################################################################
911+システムメッセージ:突然死
912+avatarId => 突然死者のAvatar識別子
913+############################################################################
914+]]></xsd:documentation>
915+ </xsd:annotation>
916+ <xsd:complexType>
917+ <xsd:complexContent>
918+ <xsd:extension base="tns:EventAnnounce">
919+ <xsd:attribute
920+ name="avatarId"
921+ type="tns:AvatarId"
922+ use="required"
923+ />
924+ </xsd:extension>
925+ </xsd:complexContent>
926+ </xsd:complexType>
927+ </xsd:element>
928+
929+ <!-- ================================================================ -->
930+
931+ <xsd:element name="noMurder" type="tns:EventAnnounce">
932+ <xsd:annotation>
933+<xsd:documentation><![CDATA[
934+############################################################################
935+システムメッセージ:襲撃による犠牲者なし。
936+############################################################################
937+]]></xsd:documentation>
938+ </xsd:annotation>
939+ </xsd:element>
940+
941+ <!-- ================================================================ -->
942+
943+ <xsd:element name="winVillage" type="tns:EventAnnounce">
944+ <xsd:annotation>
945+<xsd:documentation><![CDATA[
946+############################################################################
947+システムメッセージ:村陣営の勝利
948+############################################################################
949+]]></xsd:documentation>
950+ </xsd:annotation>
951+ </xsd:element>
952+
953+ <!-- ================================================================ -->
954+
955+ <xsd:element name="winWolf" type="tns:EventAnnounce">
956+ <xsd:annotation>
957+<xsd:documentation><![CDATA[
958+############################################################################
959+システムメッセージ:狼陣営の勝利
960+############################################################################
961+]]></xsd:documentation>
962+ </xsd:annotation>
963+ </xsd:element>
964+
965+ <!-- ================================================================ -->
966+
967+ <xsd:element name="winHamster" type="tns:EventAnnounce">
968+ <xsd:annotation>
969+<xsd:documentation><![CDATA[
970+############################################################################
971+システムメッセージ:ハムスター陣営の勝利
972+############################################################################
973+]]></xsd:documentation>
974+ </xsd:annotation>
975+ </xsd:element>
976+
977+ <!-- ================================================================ -->
978+
979+ <xsd:element name="playerList">
980+ <xsd:annotation>
981+<xsd:documentation><![CDATA[
982+############################################################################
983+システムメッセージ:プレイヤー一覧開示
984+プレイヤーに関する情報(playerInfo要素)を1つ以上持つ。
985+avatar総数より少ない場合もあるかもしれない。
986+############################################################################
987+]]></xsd:documentation>
988+ </xsd:annotation>
989+ <xsd:complexType>
990+ <xsd:complexContent>
991+ <xsd:extension base="tns:EventAnnounce">
992+ <xsd:sequence>
993+ <xsd:element
994+ ref="tns:playerInfo"
995+ minOccurs="1" maxOccurs="unbounded"
996+ />
997+ </xsd:sequence>
998+ </xsd:extension>
999+ </xsd:complexContent>
1000+ </xsd:complexType>
1001+ </xsd:element>
1002+
1003+ <!-- ================================================================ -->
1004+
1005+ <xsd:element name="playerInfo">
1006+ <xsd:annotation>
1007+<xsd:documentation><![CDATA[
1008+############################################################################
1009+プレイヤー情報。
1010+playerId => プレイヤーのログインID。E国では@やTypeKeyニックネームを含む全部。
1011+ windows31jに由来する文字が含まれる場合もある。
1012+avatarId => Avatar識別子
1013+survive => 最終日まで生きていたか否か。
1014+role => 担当した役職
1015+uri => プレイヤーの指定した連絡先URI。URI条件を満たすかどうかは不明。
1016+############################################################################
1017+]]></xsd:documentation>
1018+ </xsd:annotation>
1019+ <xsd:complexType>
1020+ <xsd:attribute
1021+ name="playerId"
1022+ type="tns:PlayerId"
1023+ use="required"
1024+ />
1025+ <xsd:attribute
1026+ name="avatarId"
1027+ type="tns:AvatarId"
1028+ use="required"
1029+ />
1030+ <xsd:attribute
1031+ name="survive"
1032+ type="xsd:boolean"
1033+ use="required"
1034+ />
1035+ <xsd:attribute
1036+ name="role"
1037+ type="tns:Role"
1038+ use="required"
1039+ />
1040+ <xsd:attribute
1041+ name="uri"
1042+ type="xsd:token"
1043+ use="optional"
1044+ />
1045+ </xsd:complexType>
1046+ </xsd:element>
1047+
1048+ <!-- ================================================================ -->
1049+
1050+ <xsd:element name="panic" type="tns:EventAnnounce">
1051+ <xsd:annotation>
1052+<xsd:documentation><![CDATA[
1053+############################################################################
1054+システムメッセージ:システム上のパニック
1055+############################################################################
1056+]]></xsd:documentation>
1057+ </xsd:annotation>
1058+ </xsd:element>
1059+
1060+ <!-- ================================================================ -->
1061+
1062+ <xsd:element name="execution">
1063+ <xsd:annotation>
1064+<xsd:documentation><![CDATA[
1065+############################################################################
1066+システムメッセージ:処刑結果開示 (G国)
1067+nominated要素(個々の投票集計)を1つ以上持つ。
1068+誰が投票したかは開示されない。
1069+victim => 処刑された人のAvatar識別子。誰も処刑されなかったら省略。
1070+############################################################################
1071+]]></xsd:documentation>
1072+ </xsd:annotation>
1073+ <xsd:complexType>
1074+ <xsd:complexContent>
1075+ <xsd:extension base="tns:EventAnnounce">
1076+ <xsd:sequence>
1077+ <xsd:element
1078+ ref="tns:nominated"
1079+ minOccurs="1"
1080+ maxOccurs="unbounded"
1081+ />
1082+ </xsd:sequence>
1083+ <xsd:attribute
1084+ name="victim"
1085+ type="tns:AvatarId"
1086+ use="optional"
1087+ />
1088+ </xsd:extension>
1089+ </xsd:complexContent>
1090+ </xsd:complexType>
1091+ </xsd:element>
1092+
1093+ <!-- ================================================================ -->
1094+
1095+ <xsd:element name="nominated">
1096+ <xsd:annotation>
1097+<xsd:documentation><![CDATA[
1098+############################################################################
1099+G国投票状況。
1100+誰が投票したかは開示されない。
1101+voteと異なり既に集計済みの結果が表される。
1102+avatarId => 被投票者
1103+count => 集票数
1104+############################################################################
1105+]]></xsd:documentation>
1106+ </xsd:annotation>
1107+ <xsd:complexType>
1108+ <xsd:attribute
1109+ name="avatarId"
1110+ type="tns:AvatarId"
1111+ use="required"
1112+ />
1113+ <xsd:attribute
1114+ name="count"
1115+ type="xsd:positiveInteger"
1116+ use="required"
1117+ />
1118+ </xsd:complexType>
1119+ </xsd:element>
1120+
1121+ <!-- ================================================================ -->
1122+
1123+ <xsd:element name="vanish">
1124+ <xsd:annotation>
1125+<xsd:documentation><![CDATA[
1126+############################################################################
1127+システムメッセージ:失踪 (G国)
1128+############################################################################
1129+]]></xsd:documentation>
1130+ </xsd:annotation>
1131+ <xsd:complexType>
1132+ <xsd:complexContent>
1133+ <xsd:extension base="tns:EventAnnounce">
1134+ <xsd:attribute
1135+ name="avatarId"
1136+ type="tns:AvatarId"
1137+ use="required"
1138+ />
1139+ </xsd:extension>
1140+ </xsd:complexContent>
1141+ </xsd:complexType>
1142+ </xsd:element>
1143+
1144+ <!-- ================================================================ -->
1145+
1146+ <xsd:element name="checkout">
1147+ <xsd:annotation>
1148+<xsd:documentation><![CDATA[
1149+############################################################################
1150+システムメッセージ:チェックアウト (G国)
1151+############################################################################
1152+]]></xsd:documentation>
1153+ </xsd:annotation>
1154+ <xsd:complexType>
1155+ <xsd:complexContent>
1156+ <xsd:extension base="tns:EventAnnounce">
1157+ <xsd:attribute
1158+ name="avatarId"
1159+ type="tns:AvatarId"
1160+ use="required"
1161+ />
1162+ </xsd:extension>
1163+ </xsd:complexContent>
1164+ </xsd:complexType>
1165+ </xsd:element>
1166+
1167+ <!-- ================================================================ -->
1168+
1169+ <xsd:element name="shortMember" type="tns:EventAnnounce">
1170+ <xsd:annotation>
1171+<xsd:documentation><![CDATA[
1172+############################################################################
1173+システムメッセージ:定員不足 (G国)
1174+############################################################################
1175+]]></xsd:documentation>
1176+ </xsd:annotation>
1177+ </xsd:element>
1178+
1179+ <!-- ================================================================ -->
1180+
1181+ <xsd:element name="askEntry" >
1182+ <xsd:annotation>
1183+<xsd:documentation><![CDATA[
1184+############################################################################
1185+システムメッセージ:プロローグ中の参加促し。
1186+commitTime => 更新時刻
1187+minMembers => 最少人数
1188+maxMembers => 最大人数
1189+############################################################################
1190+]]></xsd:documentation>
1191+ </xsd:annotation>
1192+ <xsd:complexType>
1193+ <xsd:complexContent>
1194+ <xsd:extension base="tns:EventOrder">
1195+ <xsd:attribute
1196+ name="commitTime"
1197+ type="xsd:time"
1198+ use="required"
1199+ />
1200+ <xsd:attribute
1201+ name="minMembers"
1202+ type="xsd:positiveInteger"
1203+ use="required"
1204+ />
1205+ <xsd:attribute
1206+ name="maxMembers"
1207+ type="xsd:positiveInteger"
1208+ use="required"
1209+ />
1210+ </xsd:extension>
1211+ </xsd:complexContent>
1212+ </xsd:complexType>
1213+ </xsd:element>
1214+
1215+ <!-- ================================================================ -->
1216+
1217+ <xsd:element name="askCommit" >
1218+ <xsd:annotation>
1219+<xsd:documentation><![CDATA[
1220+############################################################################
1221+システムメッセージ:投票促し
1222+limitVote => 投票期限
1223+limitSpecial => 特殊行動期限
1224+※ 両者とも同じ値のはず。
1225+############################################################################
1226+]]></xsd:documentation>
1227+ </xsd:annotation>
1228+ <xsd:complexType>
1229+ <xsd:complexContent>
1230+ <xsd:extension base="tns:EventOrder">
1231+ <xsd:attribute
1232+ name="limitVote"
1233+ type="xsd:time"
1234+ use="required"
1235+ />
1236+ <xsd:attribute
1237+ name="limitSpecial"
1238+ type="xsd:time"
1239+ use="required"
1240+ />
1241+ </xsd:extension>
1242+ </xsd:complexContent>
1243+ </xsd:complexType>
1244+ </xsd:element>
1245+
1246+ <!-- ================================================================ -->
1247+
1248+ <xsd:element name="noComment">
1249+ <xsd:annotation>
1250+<xsd:documentation><![CDATA[
1251+############################################################################
1252+システムメッセージ:発言促し
1253+未発言AvatarのAvatar参照要素(avatarRef)を1つ以上含む。
1254+############################################################################
1255+]]></xsd:documentation>
1256+ </xsd:annotation>
1257+ <xsd:complexType>
1258+ <xsd:complexContent>
1259+ <xsd:extension base="tns:EventOrder">
1260+ <xsd:sequence>
1261+ <xsd:element
1262+ ref="tns:avatarRef"
1263+ minOccurs="1"
1264+ maxOccurs="unbounded"
1265+ />
1266+ </xsd:sequence>
1267+ </xsd:extension>
1268+ </xsd:complexContent>
1269+ </xsd:complexType>
1270+ </xsd:element>
1271+
1272+ <!-- ================================================================ -->
1273+
1274+ <xsd:element name="stayEpilogue" >
1275+ <xsd:annotation>
1276+<xsd:documentation><![CDATA[
1277+############################################################################
1278+システムメッセージ:エピローグ終了予告
1279+winner => 勝利陣営
1280+limitTime => エピローグ終了時刻
1281+############################################################################
1282+]]></xsd:documentation>
1283+ </xsd:annotation>
1284+ <xsd:complexType>
1285+ <xsd:complexContent>
1286+ <xsd:extension base="tns:EventOrder">
1287+ <xsd:attribute
1288+ name="winner"
1289+ type="tns:Team"
1290+ use="required"
1291+ />
1292+ <xsd:attribute
1293+ name="limitTime"
1294+ type="xsd:time"
1295+ use="required"
1296+ />
1297+ </xsd:extension>
1298+ </xsd:complexContent>
1299+ </xsd:complexType>
1300+ </xsd:element>
1301+
1302+ <!-- ================================================================ -->
1303+
1304+ <xsd:element name="gameOver" type="tns:EventOrder">
1305+ <xsd:annotation>
1306+<xsd:documentation><![CDATA[
1307+############################################################################
1308+システムメッセージ:ゲーム終了
1309+エピローグの次の日にしか出ないけど一応。
1310+############################################################################
1311+]]></xsd:documentation>
1312+ </xsd:annotation>
1313+ </xsd:element>
1314+
1315+ <!-- ================================================================ -->
1316+
1317+ <xsd:element name="judge">
1318+ <xsd:annotation>
1319+<xsd:documentation><![CDATA[
1320+############################################################################
1321+システムメッセージ:占い師と占われた人
1322+byWhom => 占い師Avatarの識別子。
1323+target => 占われたAvatarの識別子。
1324+############################################################################
1325+]]></xsd:documentation>
1326+ </xsd:annotation>
1327+ <xsd:complexType>
1328+ <xsd:complexContent>
1329+ <xsd:extension base="tns:EventExtra">
1330+ <xsd:attribute
1331+ name="byWhom"
1332+ type="tns:AvatarId"
1333+ use="required"
1334+ />
1335+ <xsd:attribute
1336+ name="target"
1337+ type="tns:AvatarId"
1338+ use="required"
1339+ />
1340+ </xsd:extension>
1341+ </xsd:complexContent>
1342+ </xsd:complexType>
1343+ </xsd:element>
1344+
1345+ <!-- ================================================================ -->
1346+
1347+ <xsd:element name="guard" >
1348+ <xsd:annotation>
1349+<xsd:documentation><![CDATA[
1350+############################################################################
1351+システムメッセージ:狩人と護衛された人。
1352+byWhom => 狩人Avatarの識別子。
1353+target => 護衛されたAvatarの識別子。
1354+############################################################################
1355+]]></xsd:documentation>
1356+ </xsd:annotation>
1357+ <xsd:complexType>
1358+ <xsd:complexContent>
1359+ <xsd:extension base="tns:EventExtra">
1360+ <xsd:attribute
1361+ name="byWhom"
1362+ type="tns:AvatarId"
1363+ use="required"
1364+ />
1365+ <xsd:attribute
1366+ name="target"
1367+ type="tns:AvatarId"
1368+ use="required"
1369+ />
1370+ </xsd:extension>
1371+ </xsd:complexContent>
1372+ </xsd:complexType>
1373+ </xsd:element>
1374+
1375+ <!-- ================================================================ -->
1376+
1377+ <xsd:element name="counting2">
1378+ <xsd:annotation>
1379+<xsd:documentation><![CDATA[
1380+############################################################################
1381+システムメッセージ:投票開示(G国以降)
1382+vote要素(個々の投票)を1つ以上持つ。
1383+countingと異なりvictim属性は定義されていない。
1384+############################################################################
1385+]]></xsd:documentation>
1386+ </xsd:annotation>
1387+ <xsd:complexType>
1388+ <xsd:complexContent>
1389+ <xsd:extension base="tns:EventExtra">
1390+ <xsd:sequence>
1391+ <xsd:element
1392+ ref="tns:vote"
1393+ minOccurs="1"
1394+ maxOccurs="unbounded"
1395+ />
1396+ </xsd:sequence>
1397+ </xsd:extension>
1398+ </xsd:complexContent>
1399+ </xsd:complexType>
1400+ </xsd:element>
1401+
1402+ <!-- ================================================================ -->
1403+
1404+ <xsd:element name="assault" >
1405+ <xsd:annotation>
1406+<xsd:documentation><![CDATA[
1407+############################################################################
1408+システムメッセージ:襲撃
1409+人狼BBSのXHTML上は赤ログに見える。
1410+byWhom => 襲撃した人狼のAvatar識別子
1411+target => 襲撃されたAvatarの識別子
1412+xname => 人狼BBS XHTML上のname属性値
1413+time => 襲撃時刻。秒以下の単位は切り捨て。
1414+faceIconURI => アイコン画像URI
1415+############################################################################
1416+]]></xsd:documentation>
1417+ </xsd:annotation>
1418+ <xsd:complexType>
1419+ <xsd:complexContent>
1420+ <xsd:extension base="tns:EventExtra">
1421+ <xsd:attribute
1422+ name="byWhom"
1423+ type="tns:AvatarId"
1424+ use="required"
1425+ />
1426+ <xsd:attribute
1427+ name="target"
1428+ type="tns:AvatarId"
1429+ use="required"
1430+ />
1431+ <xsd:attribute
1432+ name="xname"
1433+ type="xsd:NCName"
1434+ use="required"
1435+ />
1436+ <xsd:attribute
1437+ name="time"
1438+ type="xsd:time"
1439+ use="required"
1440+ />
1441+ <xsd:attribute
1442+ name="faceIconURI"
1443+ type="xsd:anyURI"
1444+ use="optional"
1445+ />
1446+ </xsd:extension>
1447+ </xsd:complexContent>
1448+ </xsd:complexType>
1449+ </xsd:element>
1450+
1451+ <!-- ================================================================ -->
1452+
1453+ <xsd:element name="talk">
1454+ <xsd:annotation>
1455+<xsd:documentation><![CDATA[
1456+############################################################################
1457+会話データ。
1458+
1459+type => 発言種別。
1460+avatarId => 話したAvatarの識別子。
1461+xname => 村の中ではほぼユニークな識別子だが、たまに重複もありえる。
1462+ 人狼BBS元データXHTMLのname属性の値に由来する。例:(「mes1239694501」)
1463+ 後半の数値列はエポック時からのミリ秒らしい。
1464+time => 発言時刻。秒以下の単位は切り捨て。時差も付けるべし。
1465+faceIconURI => avatar要素の顔アイコンURIと同一なら省略。
1466+ もし指定されていたら、avatar要素の顔アイコンURIより
1467+ こちらを使ってイメージ表示した方が望ましい。
1468+############################################################################
1469+]]></xsd:documentation>
1470+ </xsd:annotation>
1471+ <xsd:complexType>
1472+ <xsd:complexContent>
1473+ <xsd:extension base="tns:TextLines">
1474+ <xsd:attribute
1475+ name="type"
1476+ type="tns:TalkType"
1477+ use="required"
1478+ />
1479+ <xsd:attribute
1480+ name="avatarId"
1481+ type="tns:AvatarId"
1482+ use="required"
1483+ />
1484+ <xsd:attribute
1485+ name="xname"
1486+ type="xsd:NCName"
1487+ use="required"
1488+ />
1489+ <xsd:attribute
1490+ name="time"
1491+ type="xsd:time"
1492+ use="required"
1493+ />
1494+ <xsd:attribute
1495+ name="faceIconURI"
1496+ type="xsd:anyURI"
1497+ use="optional"
1498+ />
1499+ </xsd:extension>
1500+ </xsd:complexContent>
1501+ </xsd:complexType>
1502+ </xsd:element>
1503+
1504+ <!-- ================================================================ -->
1505+
1506+</xsd:schema>
1507+
1508+<!-- EOF -->
Show on old repository browser