new-horizons/NewHorizons/Schemas/text_schema.xsd
2024-05-24 03:07:41 -04:00

96 lines
4.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Nomai Text -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!-- Nomai Text Info -->
<xs:element name="NomaiObject">
<xs:complexType>
<xs:sequence>
<xs:element name="TextBlock" type="TextBlock" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> The different text blocks of this object </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShipLogConditions" type="ShipLogConditions" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> The conditions for unlocking ship log facts </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Empty Type -->
<xs:complexType name="empty" />
<!-- Text Block Info -->
<xs:complexType name="TextBlock">
<xs:sequence>
<xs:element name="ID" type="xs:positiveInteger" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation> The id of this text block </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ParentID" type="xs:positiveInteger" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> The id of the parent text block </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationA" type="empty" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationB" type="empty" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Text" type="xs:string" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation> The text to show for this option </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- Ship Log Conditions Info -->
<xs:complexType name="ShipLogConditions">
<xs:sequence>
<xs:element name="LocationA" type="empty" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationB" type="empty" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RevealFact" type="RevealFact" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Facts to reveal when the player goes through this dialogue
node </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- Reveal Facts Info -->
<xs:complexType name="RevealFact">
<xs:sequence>
<xs:element name="FactID" type="xs:string">
<xs:annotation>
<xs:documentation> The ID of a fact to reveal </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Condition" type="xs:string">
<xs:annotation>
<xs:documentation> The text block ids (separated by commas) that need to be read
to reveal that fact </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>