• R/O
  • SSH

XmlScheme: Commit

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


Commit MetaInfo

Revisão2134c1ce02bfa140ca733b0b39d14f84a861d045 (tree)
Hora2011-04-20 00:24:08
Autor <olyutorskii@user...>

Mensagem de Log

110420版リリース準備

Mudança Sumário

Diff

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