Added XML Schema Descriptions (#74)

* Added descriptions for astro object entry schema

* Added descriptions for the DialogueTree schema
This commit is contained in:
Ben C 2022-03-24 07:59:56 -07:00 committed by GitHub
parent 027a39a462
commit 12ab04eb28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 257 additions and 36 deletions

View File

@ -5,8 +5,20 @@
<xs:element name="DialogueTree"> <xs:element name="DialogueTree">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="NameField" type="xs:string"/> <xs:element name="NameField" type="xs:string">
<xs:element name="DialogueNode" type="DialogueNode" maxOccurs="unbounded"/> <xs:annotation>
<xs:documentation>
The name of the dialogue tree
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DialogueNode" type="DialogueNode" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The different nodes of this dialogue tree
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -14,42 +26,114 @@
<!-- Dialogue Node Info --> <!-- Dialogue Node Info -->
<xs:complexType name="DialogueNode"> <xs:complexType name="DialogueNode">
<xs:sequence> <xs:sequence>
<xs:element name="Name" type="xs:string"/> <xs:element name="Name" type="xs:string">
<xs:element name="EntryCondition" type="xs:string" minOccurs="0"/> <xs:annotation>
<xs:element name="Dialogue" type="Dialogue"/> <xs:documentation>
<xs:element name="RevealFacts" type="RevealFacts" minOccurs="0"/> The name of this dialogue node
<xs:element name="DialogueOptionsList" type="DialogueOptionsList" minOccurs="0"/> </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EntryCondition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The condition that needs to be met in order to get to this node
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Dialogue" type="Dialogue">
<xs:annotation>
<xs:documentation>
The dialogue to show to the player
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RevealFacts" type="RevealFacts" minOccurs="0">
<xs:annotation>
<xs:documentation>
Facts to reveal when the player sees this dialogue node
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DialogueOptionsList" type="DialogueOptionsList" minOccurs="0">
<xs:annotation>
<xs:documentation>
A list of options to show to the player once the character is one talking
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<!-- Dialogue Info --> <!-- Dialogue Info -->
<xs:complexType name="Dialogue"> <xs:complexType name="Dialogue">
<xs:sequence> <xs:sequence>
<xs:element name="Page" type="xs:string" maxOccurs="unbounded"/> <xs:element name="Page" type="xs:string" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
A page of dialogue to show to the player
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<!-- Reveal Facts Info --> <!-- Reveal Facts Info -->
<xs:complexType name="RevealFacts"> <xs:complexType name="RevealFacts">
<xs:sequence> <xs:sequence>
<xs:element name="FactID" type="xs:string" maxOccurs="unbounded"/> <xs:element name="FactID" type="xs:string" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The ID of a fact to reveal
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<!-- Dialogue Options List Info --> <!-- Dialogue Options List Info -->
<xs:complexType name="DialogueOptionsList"> <xs:complexType name="DialogueOptionsList">
<xs:sequence> <xs:sequence>
<xs:element name="DialogueOption" type="DialogueOption" maxOccurs="unbounded"/> <xs:element name="DialogueOption" type="DialogueOption" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Options the player can select from
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<!-- Dialogue Option Info --> <!-- Dialogue Option Info -->
<xs:complexType name="DialogueOption"> <xs:complexType name="DialogueOption">
<xs:sequence> <xs:sequence>
<xs:element name="RequiredPersistentCondition" type="xs:string" minOccurs="0"/> <xs:element name="RequiredPersistentCondition" type="xs:string" minOccurs="0">
<xs:element name="CancelledPersistentCondition" type="xs:string" minOccurs="0"/> <xs:annotation>
<xs:element name="Text" type="xs:string"/> <xs:documentation>
<xs:element name="DialogueTarget" type="xs:string"/> Require a prior condition to be met to show this option
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CancelledPersistentCondition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
Hide this option if a condition has been met
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>
The text to show for this option
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DialogueTarget" type="xs:string">
<xs:annotation>
<xs:documentation>
The name of the DialogueNode to go to when this option is selected
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>

View File

@ -5,8 +5,20 @@
<xs:element name="AstroObjectEntry"> <xs:element name="AstroObjectEntry">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="ID" type="xs:string"/> <xs:element name="ID" type="xs:string">
<xs:element name="Entry" type="Entry" maxOccurs="unbounded"/> <xs:annotation>
<xs:documentation>
ID of the planet these entries are for
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Entry" type="Entry" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
A set of entries that belong to this planet
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -17,27 +29,117 @@
<!-- Entry Info --> <!-- Entry Info -->
<xs:complexType name="Entry"> <xs:complexType name="Entry">
<xs:sequence> <xs:sequence>
<xs:element name="ID" type="xs:string"/> <xs:element name="ID" type="xs:string">
<xs:element name="Name" type="xs:string"/> <xs:annotation>
<xs:element name="Curiosity" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:documentation>
<xs:element name="IsCuriosity" type="empty" minOccurs="0" maxOccurs="unbounded"/> The ID of this entry
<xs:element name="IgnoreMoreToExplore" type="empty" minOccurs="0"/> </xs:documentation>
<xs:element name="IgnoreMoreToExploreCondition" type="xs:string" minOccurs="0"/> </xs:annotation>
<xs:element name="AltPhotoCondition" type="xs:string" minOccurs="0"/> </xs:element>
<xs:element name="RumorFact" type="RumorFact" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Name" type="xs:string">
<xs:element name="ExploreFact" type="ExploreFact" minOccurs="0" maxOccurs="unbounded"/> <xs:annotation>
<xs:element name="Entry" type="Entry" minOccurs="0" maxOccurs="unbounded"/> <xs:documentation>
Name of this entry
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Curiosity" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The curiosity this entry belongs to
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsCuriosity" type="empty" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Whether this entry is a curiosity
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IgnoreMoreToExplore" type="empty" minOccurs="0">
<xs:annotation>
<xs:documentation>
Whether to hide the "More To Explore" text on this entry
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IgnoreMoreToExploreCondition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
Ignore more to explore if a fact is known
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AltPhotoCondition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
If this fact is revealed, show the Alt picture
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RumorFact" type="RumorFact" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Rumor facts for this entry
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExploreFact" type="ExploreFact" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Explore facts for this entry
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Entry" type="Entry" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Child entires within this entry
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<!-- Rumor Fact Info --> <!-- Rumor Fact Info -->
<xs:complexType name="RumorFact"> <xs:complexType name="RumorFact">
<xs:sequence> <xs:sequence>
<xs:element name="ID" type="xs:string"/> <xs:element name="ID" type="xs:string">
<xs:element name="SourceID" type="xs:string" minOccurs="0"/> <xs:annotation>
<xs:element name="RumorName" type="xs:string" minOccurs="0"/> <xs:documentation>
<xs:element name="RumorNamePriority" type="xs:int" minOccurs="0"/> The ID of this rumor fact
<xs:element name="IgnoreMoreToExplore" type="empty" minOccurs="0"/> </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SourceID" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The source of this rumor, this draws a line in detective mode
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RumorName" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
No clue what this does
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RumorNamePriority" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>
Also have no clue what this does
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IgnoreMoreToExplore" type="empty" minOccurs="0">
<xs:annotation>
<xs:documentation>
Whether to hide the "More to explore" on this rumor fact
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:group ref="TextData"/> <xs:group ref="TextData"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
@ -45,8 +147,20 @@
<!-- Explore Fact Info --> <!-- Explore Fact Info -->
<xs:complexType name="ExploreFact"> <xs:complexType name="ExploreFact">
<xs:sequence> <xs:sequence>
<xs:element name="ID" type="xs:string"/> <xs:element name="ID" type="xs:string">
<xs:element name="IgnoreMoreToExplore" type="empty" minOccurs="0"/> <xs:annotation>
<xs:documentation>
The ID of this explore fact
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IgnoreMoreToExplore" type="empty" minOccurs="0">
<xs:annotation>
<xs:documentation>
Whether to hide the "More to explore" text for this fact
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:group ref="TextData"/> <xs:group ref="TextData"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
@ -54,12 +168,35 @@
<!-- Text Data Group --> <!-- Text Data Group -->
<xs:group name="TextData"> <xs:group name="TextData">
<xs:sequence> <xs:sequence>
<xs:element name="Text" type="xs:string"/> <xs:element name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>
The text content for this fact
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AltText" minOccurs="0"> <xs:element name="AltText" minOccurs="0">
<xs:annotation>
<xs:documentation>
Display alt-text given a certain fact is revealed
</xs:documentation>
</xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="Text" type="xs:string"/> <xs:element name="Text" type="xs:string">
<xs:element name="Condition" type="xs:string"/> <xs:annotation>
<xs:documentation>
The text to display if the condition is met
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Condition" type="xs:string">
<xs:annotation>
<xs:documentation>
The condition that needs to be fulfilled to have the alt text be displayed
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>