Update compendium.xsd to accommodate FC5 export

pull/166/head
Erin Schnabel 2021-08-03 22:59:29 -04:00
parent 6314bf56ac
commit 1e4d47bc65
3 changed files with 46 additions and 16 deletions

23
.editorconfig Normal file
View File

@ -0,0 +1,23 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = true
indent_style = space
[*.md]
indent_size = 2
trim_trailing_whitespace = false
[*.{yaml,yml}]
indent_size = 2
[*.{xml,xslt}]
indent_size = 4

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
FightClub5eXML/Collections
tmp
.vscode

View File

@ -45,6 +45,12 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="rechargeType">
<xs:restriction base="xs:string">
<xs:pattern value="(SHORT|LONG|[0-9]+/DAY|D[1-6])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="hpType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]+( [(][0-9]*(d[0-9]+)*([+-][0-9]+)*[)])*"/>
@ -71,7 +77,7 @@
<xs:simpleType name="abilityBonusList">
<xs:restriction base="xs:string">
<xs:pattern value="((S[Tt][Rr]|D[Ee][Xx]|C[Oo][Nn]|I[Nn][Tt]|W[Ii][Ss]|C[Hh][Aa]) [+-]?[0-9]+)*(, ?((S[Tt][Rr]|D[Ee][Xx]|C[Oo][Nn]|I[Nn][Tt]|W[Ii][Ss]|C[Hh][Aa]) [+-]?[0-9]+))*"/>
<xs:pattern value="((S[Tt][Rr](ength)?|D[Ee][Xx](terity)?|C[Oo][Nn](stitution)?|I[Nn][Tt](elligence)?|W[Ii][Ss](dom)?|C[Hh][Aa](risma)?) [+-]?[0-9]+)*(, ?((S[Tt][Rr](ength)?|D[Ee][Xx](terity)?|C[Oo][Nn](stitution)?|I[Nn][Tt](elligence)?|W[Ii][Ss](dom)?|C[Hh][Aa](risma)?) [+-]?[0-9]+))*"/>
</xs:restriction>
</xs:simpleType>
@ -95,7 +101,7 @@
<xs:simpleType name="abilityAndSkillList">
<xs:restriction base="xs:string">
<xs:pattern value="([Ss]trength|[Dd]exterity|[Cc]onstitution|[Ii]ntelligence|[Ww]isdom|[Cc]harisma|[Aa]crobatics|[Aa]thletics|[Aa]nimal [Hh]andling|[Aa]rcana|[Dd]eception|[Hh]istory|[Ii]nsight|[Ii]ntimidation|[Ii]nvestigation|[Mm]edicine|[Nn]ature|[Pp]erception|[Pp]erformance|[Pp]ersuasion|[Rr]eligion|[Ss]leight [Oo]f [Hh]and|[Ss]tealth|[Ss]urvival)*(, ?([Ss]trength|[Dd]exterity|[Cc]onstitution|[Ii]ntelligence|[Ww]isdom|[Cc]harisma|[Aa]crobatics|[Aa]thletics|[Aa]nimal [Hh]andling|[Aa]rcana|[Dd]eception|[Hh]istory|[Ii]nsight|[Ii]ntimidation|[Ii]nvestigation|[Mm]edicine|[Nn]ature|[Pp]erception|[Pp]erformance|[Pp]ersuasion|[Rr]eligion|[Ss]leight [Oo]f [Hh]and|[Ss]tealth|[Ss]urvival)*)*"/>
<xs:pattern value="([Ss]trength( Saving Throws)?|[Dd]exterity( Saving Throws)?|[Cc]onstitution( Saving Throws)?|[Ii]ntelligence( Saving Throws)?|[Ww]isdom( Saving Throws)?|[Cc]harisma( Saving Throws)?|[Aa]crobatics|[Aa]thletics|[Aa]nimal [Hh]andling|[Aa]rcana|[Dd]eception|[Hh]istory|[Ii]nsight|[Ii]ntimidation|[Ii]nvestigation|[Mm]edicine|[Nn]ature|[Pp]erception|[Pp]erformance|[Pp]ersuasion|[Rr]eligion|[Ss]leight [Oo]f [Hh]and|[Ss]tealth|[Ss]urvival)*(, ?([Ss]trength( Saving Throws)?|[Dd]exterity( Saving Throws)?|[Cc]onstitution( Saving Throws)?|[Ii]ntelligence( Saving Throws)?|[Ww]isdom( Saving Throws)?|[Cc]harisma( Saving Throws)?|[Aa]crobatics|[Aa]thletics|[Aa]nimal [Hh]andling|[Aa]rcana|[Dd]eception|[Hh]istory|[Ii]nsight|[Ii]ntimidation|[Ii]nvestigation|[Mm]edicine|[Nn]ature|[Pp]erception|[Pp]erformance|[Pp]ersuasion|[Rr]eligion|[Ss]leight [Oo]f [Hh]and|[Ss]tealth|[Ss]urvival)*)*"/>
</xs:restriction>
</xs:simpleType>
@ -188,10 +194,15 @@
<xs:simpleType name="categoryEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="bonus"/>
<xs:enumeration value="Bonus"/>
<xs:enumeration value="ability score"/>
<xs:enumeration value="Ability Score"/>
<xs:enumeration value="ability modifier"/>
<xs:enumeration value="Ability Modifier"/>
<xs:enumeration value="saving throw"/>
<xs:enumeration value="Saving Throw"/>
<xs:enumeration value="skills"/>
<xs:enumeration value="Skills"/>
</xs:restriction>
</xs:simpleType>
@ -217,8 +228,8 @@
<xs:simpleType name="modifierValue">
<xs:restriction base="xs:string">
<xs:pattern value="([Pp]assive )?([Ss]trength|[Dd]exterity|[Cc]onstitution|[Ii]ntelligence|[Ww]isdom|[Cc]harisma|[Hh][Pp]) ?[+-]? ?([0-9]*|%0|prof)"/>
<xs:pattern value="([Mm]elee damage|[Mm]elee attacks|[Ww]eapon damage|[Ww]eapon attacks|[Rr]anged damage|[Rr]anged attacks|[Ss]pell attack|[Ss]pell [Dd][Cc]|[Ss]aving throws|[Aa][Cc]|[Ss]peed|[Pp]roficiency bonus|[Ii]nitiative) ?[+-]? ?([0-9]*|%0|prof)"/>
<xs:pattern value="([Pp]assive )?([Ss]trength( Score)?|[Dd]exterity( Score)?|[Cc]onstitution( Score)?|[Ii]ntelligence( Score)?|[Ww]isdom( Score)?|[Cc]harisma( Score)?|[Hh][Pp]) ?[+-]? ?([0-9]*|%0|prof)"/>
<xs:pattern value="([Mm]elee [Dd]amage|[Mm]elee [Aa]ttacks|[Ww]eapon [Dd]amage|[Ww]eapon [Aa]ttacks|[Rr]anged [Dd]amage|[Rr]anged [Aa]ttacks|[Ss]pell [Aa]ttack|[Ss]pell [Dd][Cc]|[Ss]aving [Tt]hrows|[Aa][Cc]|[Aa]rmor [Cc]lass|[Ss]peed|[Pp]roficiency [Bb]onus|[Ii]nitiative) ?[+-]? ?([0-9]*|%0|prof)"/>
<xs:pattern value="([Aa]thletics|[Aa]crobatics|[Aa]nimal [Hh]andling|[Aa]rcana|[Dd]eception|[Hh]istory|[Ii]nsight|[Ii]ntimidation|[Ii]nvestigation|[Mm]edicine|[Nn]ature|[Pp]erception|[Pp]erformance|[Pp]ersuasion|[Rr]eligion|[Ss]leight [Oo]f [Hh]and|[Ss]tealth|[Ss]urvival) ?[+-]? ?([0-9]*|%0|prof)"/>
</xs:restriction>
</xs:simpleType>
@ -246,7 +257,9 @@
<xs:element type="xs:string" name="name" minOccurs="0"/>
<xs:element type="xs:string" name="text" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="attackType" name="attack" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="skillList" name="proficiency" minOccurs="0" />
<xs:element type="xs:string" name="special" minOccurs="0"/>
<xs:element type="rechargeType" name="recharge" minOccurs="0"/>
</xs:choice>
</xs:complexType>
@ -339,6 +352,7 @@
<xs:choice maxOccurs="unbounded">
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="prerequisite"/>
<xs:element type="xs:string" name="special" minOccurs="0"/>
<xs:element type="xs:string" name="text" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="abilityAndSkillList" name="proficiency" minOccurs="0"/>
<xs:element type="modifierType" name="modifier" maxOccurs="unbounded" minOccurs="0"/>
@ -388,18 +402,8 @@
<xs:element type="autolevelType" name="autolevel"/>
<xs:element type="xs:string" name="armor"/>
<xs:element type="xs:string" name="weapons"/>
<xs:element name="tools">
<xs:complexType mixed="true">
<xs:choice maxOccurs="unbounded">
<xs:element type="featureType" name="feature" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="slotsType" name="slots" minOccurs="0"/>
</xs:choice>
<xs:attribute type="xs:integer" name="level" use="optional"/>
<xs:attribute type="xs:string" name="scoreImprovement" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="tools"/>
<xs:element type="resetEnum" name="slotsReset"/>
<xs:element type="rollFormula" name="wealth"/>
</xs:choice>
</xs:complexType>