OSDN Git Service

[no commit message]
[mikutoga/TogaGem.git] / src / main / resources / jp / sourceforge / mikutoga / pmd / xml / resources / pmdxml-101009.dtd
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <!--
4   MikuMikuDance
5     model-data(*.pmd) on XML
6     DTD definition
7
8   License : The MIT License
9   Copyright(c) 2010 MikuToga Partners
10
11   SYSTEM ID: http://mikutoga.sourceforge.jp/xml/dtd/pmdxml-101009.dtd
12 -->
13
14
15 <!-- ROOT -->
16 <!ELEMENT pmdModel (
17     i18nName*, description+, license*, credits*, meta*,
18     materialList,
19     toonMap,
20     boneList,
21     boneGroupList,
22     ikChainList,
23     morphList,
24     rigidList,
25     rigidGroupList,
26     jointList,
27     surfaceGroupList,
28     vertexList
29 ) >
30 <!ATTLIST pmdModel
31     xmlns              CDATA #IMPLIED
32     xmlns:xsi          CDATA #IMPLIED
33     xsi:schemaLocation CDATA #IMPLIED
34     schemaVersion      CDATA #FIXED "100923"
35     name               CDATA #REQUIRED
36 >
37
38
39 <!-- Multilingual name. -->
40 <!ELEMENT i18nName EMPTY>
41 <!ATTLIST i18nName
42     lang CDATA #REQUIRED
43     name CDATA #REQUIRED
44 >
45
46
47 <!-- Break line. -->
48 <!ELEMENT br EMPTY>
49
50
51 <!-- Description note about model. -->
52 <!ELEMENT description (#PCDATA | br)* >
53 <!ATTLIST description
54     lang      CDATA "ja"
55     xml:space CDATA #FIXED "preserve"
56 >
57
58
59 <!-- License term of usage. -->
60 <!ELEMENT license (#PCDATA | br)* >
61 <!ATTLIST license
62     lang      CDATA "ja"
63     xml:space CDATA #FIXED "preserve"
64 >
65
66
67 <!-- Credits for someone. -->
68 <!ELEMENT credits (#PCDATA | br)* >
69 <!ATTLIST credits
70     lang      CDATA "ja"
71     xml:space CDATA #FIXED "preserve"
72 >
73
74
75 <!--
76 Meta-information of model.
77 Use free.
78 but, some meta-name has recommended usage.
79 + "generator" (Generator application name)
80 + "siteURL" (Website URL)
81 + "imageURL" (Thumbnail image URL)
82 -->
83 <!ELEMENT meta EMPTY>
84 <!ATTLIST meta
85     name    CDATA #REQUIRED
86     content CDATA #REQUIRED
87 >
88
89
90 <!--
91 Material list.
92 All visual things can be tracked from here.
93 -->
94 <!ELEMENT materialList (material)* >
95
96
97 <!--
98 Material definition.
99 Colors, shading, any other definitions.
100 -->
101 <!ELEMENT material (
102     i18nName*,
103     diffuse,
104     specular,
105     ambient,
106     toon?,
107     textureFile?,
108     spheremapFile?
109 )*>
110 <!ATTLIST material
111     name              CDATA #IMPLIED
112     showEdge          CDATA #REQUIRED
113     surfaceGroupIdRef CDATA #REQUIRED
114 >
115
116
117 <!-- Diffuse color definition. -->
118 <!ELEMENT diffuse EMPTY>
119 <!ATTLIST diffuse
120     r     CDATA #REQUIRED
121     g     CDATA #REQUIRED
122     b     CDATA #REQUIRED
123     alpha CDATA #REQUIRED
124 >
125
126
127 <!-- Specular color definition. -->
128 <!ELEMENT specular EMPTY>
129 <!ATTLIST specular
130     r         CDATA #REQUIRED
131     g         CDATA #REQUIRED
132     b         CDATA #REQUIRED
133     shininess CDATA #REQUIRED
134 >
135
136
137 <!-- Ambient color definition. -->
138 <!ELEMENT ambient EMPTY>
139 <!ATTLIST ambient
140     r CDATA #REQUIRED
141     g CDATA #REQUIRED
142     b CDATA #REQUIRED
143 >
144
145
146 <!-- Reference for Toon-image. -->
147 <!ELEMENT toon EMPTY>
148 <!ATTLIST toon
149     toonFileIdRef CDATA #REQUIRED
150 >
151
152
153 <!-- Texture file information. -->
154 <!ELEMENT textureFile EMPTY>
155 <!ATTLIST textureFile
156     winFileName CDATA #REQUIRED
157 >
158
159
160 <!-- Sphere-map file information. -->
161 <!ELEMENT spheremapFile EMPTY>
162 <!ATTLIST spheremapFile
163     winFileName CDATA #REQUIRED
164 >
165
166
167 <!-- Toon-file mappings. -->
168 <!ELEMENT toonMap (toonDef)* >
169
170
171 <!-- Toon-file information. -->
172 <!ELEMENT toonDef EMPTY>
173 <!ATTLIST toonDef
174     toonFileId  CDATA #REQUIRED
175     index       CDATA #REQUIRED
176     winFileName CDATA #REQUIRED
177 >
178
179
180 <!-- List of bone information. -->
181 <!ELEMENT boneList (bone)* >
182
183
184 <!-- Bone definition. -->
185 <!ELEMENT bone (
186     i18nName*,
187     position,
188     (rotationRatio | ikBone)?,
189     boneChain
190 ) >
191 <!ATTLIST bone
192     name   CDATA #REQUIRED
193     boneId CDATA #REQUIRED
194     type   (
195           ROTATE
196         | ROTMOV
197         | IK
198         | UNKNOWN
199         | UNDERIK
200         | UNDERROT
201         | IKCONNECTED
202         | HIDDEN
203         | TWIST
204         | LINKEDROT
205     ) #REQUIRED
206 >
207
208
209 <!-- position information. -->
210 <!ELEMENT position EMPTY>
211 <!ATTLIST position
212     x CDATA #REQUIRED
213     y CDATA #REQUIRED
214     z CDATA #REQUIRED
215 >
216
217
218 <!-- Relationship-info between bones. -->
219 <!ELEMENT boneChain EMPTY>
220 <!ATTLIST boneChain
221     prevBoneIdRef CDATA #IMPLIED
222     nextBoneIdRef CDATA #IMPLIED
223 >
224
225
226 <!-- Rotation ratio between Linked-rotationed bones. -->
227 <!ELEMENT rotationRatio EMPTY>
228 <!ATTLIST rotationRatio
229     ratio CDATA #REQUIRED
230 >
231
232
233 <!-- Reference to IK-Bone. -->
234 <!ELEMENT ikBone EMPTY>
235 <!ATTLIST ikBone
236     boneIdRef CDATA #REQUIRED
237 >
238
239
240 <!-- List of Bone-group. -->
241 <!ELEMENT boneGroupList (boneGroup)* >
242
243
244 <!-- Bone-group. -->
245 <!ELEMENT boneGroup (i18nName*, boneGroupMember*) >
246 <!ATTLIST boneGroup
247     name CDATA #REQUIRED
248 >
249
250
251 <!-- Member of Bone-group. -->
252 <!ELEMENT boneGroupMember EMPTY>
253 <!ATTLIST boneGroupMember
254     boneIdRef CDATA #REQUIRED
255 >
256
257
258 <!-- List of IK chain. -->
259 <!ELEMENT ikChainList (ikChain)* >
260
261
262 <!-- IK chained bones definition. -->
263 <!ELEMENT ikChain (chainOrder)+ >
264 <!ATTLIST ikChain
265     ikBoneIdRef    CDATA #REQUIRED
266     recursiveDepth CDATA #REQUIRED
267     weight         CDATA #REQUIRED
268 >
269
270
271 <!-- Part of IK chained bones. -->
272 <!ELEMENT chainOrder EMPTY>
273 <!ATTLIST chainOrder
274     boneIdRef CDATA #REQUIRED
275 >
276
277
278 <!-- List of morphing definition. -->
279 <!ELEMENT morphList (morph)* >
280
281
282 <!-- Morphing definition. -->
283 <!ELEMENT morph (i18nName*, morphVertex*) >
284 <!ATTLIST morph
285     name CDATA #REQUIRED
286     type (
287           EYEBROW
288         | EYE
289         | LIP
290         | EXTRA
291     ) #REQUIRED
292 >
293
294
295 <!-- Morphing vertex information. -->
296 <!ELEMENT morphVertex EMPTY>
297 <!ATTLIST morphVertex
298     vtxIdRef CDATA #REQUIRED
299     xOff     CDATA #REQUIRED
300     yOff     CDATA #REQUIRED
301     zOff     CDATA #REQUIRED
302 >
303
304
305 <!-- list of Rigid-body definition. -->
306 <!ELEMENT rigidList (rigid)* >
307
308
309 <!-- Rigid-body definition. -->
310 <!ELEMENT rigid (
311     i18nName*,
312     linkedBone?,
313     (rigidShapeSphere | rigidShapeBox | rigidShapeCapsule),
314     position,
315     radRotation,
316     dynamics,
317     throughRigidGroup*
318 ) >
319 <!ATTLIST rigid
320     name     CDATA #REQUIRED
321     rigidId  CDATA #REQUIRED
322     behavior (
323           FOLLOWBONE
324         | ONLYDYNAMICS
325         | BONEDDYNAMICS
326     ) #REQUIRED
327 >
328
329
330 <!-- Referenced Bone from Rigid-body. -->
331 <!ELEMENT linkedBone EMPTY>
332 <!ATTLIST linkedBone
333     boneIdRef CDATA #REQUIRED
334 >
335
336
337 <!-- Sphere shape of Rigid-body. -->
338 <!ELEMENT rigidShapeSphere EMPTY>
339 <!ATTLIST rigidShapeSphere
340     radius CDATA #REQUIRED
341 >
342
343
344 <!-- Box shape of Rigid-body. -->
345 <!ELEMENT rigidShapeBox EMPTY>
346 <!ATTLIST rigidShapeBox
347     width  CDATA #REQUIRED
348     height CDATA #REQUIRED
349     depth  CDATA #REQUIRED
350 >
351
352
353 <!-- Capsule shape of Rigid-body. -->
354 <!ELEMENT rigidShapeCapsule EMPTY>
355 <!ATTLIST rigidShapeCapsule
356     height CDATA #REQUIRED
357     radius CDATA #REQUIRED
358 >
359
360
361 <!-- Rotaion information by radian. -->
362 <!ELEMENT radRotation EMPTY>
363 <!ATTLIST radRotation
364     xRad CDATA #REQUIRED
365     yRad CDATA #REQUIRED
366     zRad CDATA #REQUIRED
367 >
368
369
370 <!-- Dynamics parameters. -->
371 <!ELEMENT dynamics EMPTY>
372 <!ATTLIST dynamics
373     mass            CDATA #REQUIRED
374     dampingPosition CDATA #REQUIRED
375     dampingRotation CDATA #REQUIRED
376     restitution     CDATA #REQUIRED
377     friction        CDATA #REQUIRED
378 >
379
380
381 <!-- Reference for non-collision rigid-group. -->
382 <!ELEMENT throughRigidGroup EMPTY>
383 <!ATTLIST throughRigidGroup
384     rigidGroupIdRef CDATA #REQUIRED
385 >
386
387
388 <!-- List of Rigid-body group. -->
389 <!ELEMENT rigidGroupList (rigidGroup)* >
390
391
392 <!-- Rigid-body group. -->
393 <!ELEMENT rigidGroup (rigidGroupMember)* >
394 <!ATTLIST rigidGroup
395     rigidGroupId CDATA #REQUIRED
396 >
397
398
399 <!-- Member of Rigid-body group. -->
400 <!ELEMENT rigidGroupMember EMPTY>
401 <!ATTLIST rigidGroupMember
402     rigidIdRef CDATA #REQUIRED
403 >
404
405
406 <!-- List of joint definition. -->
407 <!ELEMENT jointList (joint)* >
408
409
410 <!-- Joint definition. -->
411 <!ELEMENT joint (
412     i18nName*,
413     jointedRigidPair,
414     position,    limitPosition,
415     radRotation, limitRotation,
416     elasticPosition,
417     elasticRotation
418 ) >
419 <!ATTLIST joint
420     name CDATA #REQUIRED
421 >
422
423
424 <!-- Jointed-bones information. -->
425 <!ELEMENT jointedRigidPair EMPTY>
426 <!ATTLIST jointedRigidPair
427     rigidIdRef2 CDATA #REQUIRED
428     rigidIdRef1 CDATA #REQUIRED
429 >
430
431
432 <!-- Limit of Position. -->
433 <!ELEMENT limitPosition EMPTY>
434 <!ATTLIST limitPosition
435     xFrom CDATA #REQUIRED
436     xTo   CDATA #REQUIRED
437     yFrom CDATA #REQUIRED
438     yTo   CDATA #REQUIRED
439     zFrom CDATA #REQUIRED
440     zTo   CDATA #REQUIRED
441 >
442
443
444 <!-- Limit of Rotation. -->
445 <!ELEMENT limitRotation EMPTY>
446 <!ATTLIST limitRotation
447     xFrom CDATA #REQUIRED
448     xTo   CDATA #REQUIRED
449     yFrom CDATA #REQUIRED
450     yTo   CDATA #REQUIRED
451     zFrom CDATA #REQUIRED
452     zTo   CDATA #REQUIRED
453 >
454
455
456 <!-- Elastic position of joint. -->
457 <!ELEMENT elasticPosition EMPTY>
458 <!ATTLIST elasticPosition
459     x CDATA #REQUIRED
460     y CDATA #REQUIRED
461     z CDATA #REQUIRED
462 >
463
464
465 <!-- Elastic rotation of joint by degree. -->
466 <!ELEMENT elasticRotation EMPTY>
467 <!ATTLIST elasticRotation
468     xDeg CDATA #REQUIRED
469     yDeg CDATA #REQUIRED
470     zDeg CDATA #REQUIRED
471 >
472
473
474 <!-- List of surface group. -->
475 <!ELEMENT surfaceGroupList (surfaceGroup)* >
476
477
478 <!-- Surface group. -->
479 <!ELEMENT surfaceGroup (surface)* >
480 <!ATTLIST surfaceGroup
481     surfaceGroupId CDATA #REQUIRED
482 >
483
484
485 <!-- Each surface with Triangle. -->
486 <!ELEMENT surface EMPTY>
487 <!ATTLIST surface
488     vtxIdRef1 CDATA #REQUIRED
489     vtxIdRef2 CDATA #REQUIRED
490     vtxIdRef3 CDATA #REQUIRED
491 >
492
493
494 <!-- List of vertex. -->
495 <!ELEMENT vertexList (vertex)* >
496
497
498 <!-- Vertex definition. -->
499 <!ELEMENT vertex (position, normal, uvMap, skinning) >
500 <!ATTLIST vertex
501     vtxId    CDATA #REQUIRED
502     showEdge CDATA #REQUIRED
503 >
504
505
506 <!-- Normal vector definition. -->
507 <!ELEMENT normal EMPTY>
508 <!ATTLIST normal
509     x CDATA #REQUIRED
510     y CDATA #REQUIRED
511     z CDATA #REQUIRED
512 >
513
514
515 <!-- UV-mapping information. -->
516 <!ELEMENT uvMap EMPTY>
517 <!ATTLIST uvMap
518     u CDATA #REQUIRED
519     v CDATA #REQUIRED
520 >
521
522
523 <!-- Skinning definition from vertex to bone. -->
524 <!ELEMENT skinning EMPTY>
525 <!ATTLIST skinning
526     boneIdRef1    CDATA #REQUIRED
527     boneIdRef2    CDATA #REQUIRED
528     weightBalance CDATA #REQUIRED
529 >
530
531
532 <!-- EOF -->