Last active
September 3, 2024 05:20
-
-
Save Dekkonot/690231f6974f5867c4ce0287adfb6616 to your computer and use it in GitHub Desktop.
XML Schema for Roblox's XML files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:group name="DataTypes"> | |
<xs:choice> | |
<xs:element name="Axes"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Axes"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="BinaryString"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="BinaryString"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="BrickColor"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="BrickColor"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="bool"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="bool"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ColorSequence"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="ColorSequence"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Color3"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Color3"> | |
<xs:attributeGroup ref="DataTypeAttributes"></xs:attributeGroup> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Color3uint8"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="Color3uint8"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Content"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Content"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="CoordinateFrame"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="CoordinateFrame"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="double"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="double"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Faces"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Faces"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="float"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="float"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Font"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Font"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="NumberRange"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="NumberRange"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="NumberSequence"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="NumberSequence"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="int"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="int"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="int64"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="int64"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Ref"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="Ref"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PhysicalProperties"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="PhysicalProperties"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ProtectedString" xml:space="preserve"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="ProtectedString"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Ray"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Ray"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Rect2D"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Rect2D"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="SharedString"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="SharedString"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="string"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="string"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="token"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="token"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UDim"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="UDim"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UDim2"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="UDim2"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UniqueId"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="UniqueId"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Vector3"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Vector3"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Vector3int16"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Vector3int16"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Vector2"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Vector2"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Vector2int16"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="Vector2int16"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="OptionalCoordinateFrame"> | |
<xs:complexType> | |
<xs:complexContent> | |
<xs:extension base="OptionalCoordinateFrame"> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:choice> | |
</xs:group> | |
<xs:complexType name="Axes"> | |
<xs:annotation> | |
<xs:documentation> Represents an Axes value. </xs:documentation> | |
</xs:annotation> | |
<xs:all minOccurs="1" maxOccurs="1"> | |
<xs:element name="axes"> | |
<xs:simpleType> | |
<xs:restriction base="xs:unsignedByte"> | |
<xs:maxInclusive value="7" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
</xs:all> | |
</xs:complexType> | |
<xs:simpleType name="BinaryString"> | |
<xs:annotation> | |
<xs:documentation> Represents a property that's serialized to and from binary data. | |
Examples include tags and attributes. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:base64Binary" /> | |
</xs:simpleType> | |
<xs:simpleType name="bool"> | |
<xs:annotation> | |
<xs:documentation> Represents a `true` or `false` value. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:boolean" /> | |
</xs:simpleType> | |
<xs:simpleType name="BrickColor"> | |
<xs:annotation> | |
<xs:documentation>Represents a BrickColor value. The data of this tag is the | |
BrickColor's `Value`.</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:unsignedInt" /> | |
</xs:simpleType> | |
<xs:complexType name="Color3"> | |
<xs:annotation> | |
<xs:documentation>Represents a Color3 value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="R" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `R` component of the Color3 value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="G" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `G` component of the Color3 value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="B" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `B` component of the Color3 value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="Color3uint8"> | |
<xs:annotation> | |
<xs:documentation> Represents a non-HDR Color3 value where each component is packed into | |
an integer. The upper 8-bits are not used, and the lower 24 are occupied by the `R`, | |
`G`, and `B` components of the Color3 as integers between 0 and 255.</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:unsignedInt" /> | |
</xs:simpleType> | |
<xs:simpleType name="ColorSequence"> | |
<xs:annotation> | |
<xs:documentation> Represents a ColorSequence value. The contents of this element are | |
each Keypoint of the value in sequence with the attributes in the order `Time`, | |
`Value.R`, `Value.G`, `Value.B`, and an unused `Envelope`. </xs:documentation> | |
</xs:annotation> | |
<!-- TODO Figure out if it's viable to restrict this to be a multiple of 5 elements--> | |
<xs:list itemType="xs:float" /> | |
</xs:simpleType> | |
<xs:complexType name="Content"> | |
<xs:annotation> | |
<xs:documentation>Represents an external linked asset as a URI.</xs:documentation> | |
</xs:annotation> | |
<xs:choice minOccurs="1" maxOccurs="1"> | |
<xs:element name="url"> | |
<xs:annotation> | |
<xs:documentation>The URI of the linked asset</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:anyURI"> | |
<xs:pattern | |
value="(rbxassetid|rbxasset|rbxthumb|rbxhttp|http|https)://.+" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:element name="null"> | |
<xs:annotation> | |
<xs:documentation>An empty value</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:maxLength value="0" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
</xs:choice> | |
</xs:complexType> | |
<xs:complexType name="CoordinateFrame"> | |
<xs:annotation> | |
<xs:documentation> Represents a CFrame value. </xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="X" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `X` component of the CFrame value. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Y" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Y` component of the CFrame value. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Z" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Z` component of the CFrame value. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R00" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `X` component of the CFrame's RightVector. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R01" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `X` component of the CFrame's UpVector. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R02" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `X` component of the CFrame's LookVector with its sign | |
inverted.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R10" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Y` component of the CFrame's RightVector. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R11" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Y` component of the CFrame's UpVector. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R12" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Y` component of the CFrame's LookVector with its sign | |
inverted.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R20" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Z` component of the CFrame's RightVector. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R21" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Z` component of the CFrame's UpVector. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="R22" minOccurs="1" maxOccurs="1" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation> The `Z` component of the CFrame's LookVector with its sign | |
inverted.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="double"> | |
<xs:annotation> | |
<xs:documentation> Represented a 64-bit IEEE-754 floating point number. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:double" /> | |
</xs:simpleType> | |
<xs:complexType name="Faces"> | |
<xs:annotation> | |
<xs:documentation> Represents a Faces value. </xs:documentation> | |
</xs:annotation> | |
<xs:all minOccurs="1" maxOccurs="1"> | |
<xs:element name="faces"> | |
<xs:simpleType> | |
<xs:restriction base="xs:unsignedByte"> | |
<xs:maxInclusive value="63" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
</xs:all> | |
</xs:complexType> | |
<xs:simpleType name="float"> | |
<xs:annotation> | |
<xs:documentation> Represents a 32-bit IEEE-754 floating point number. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:float" /> | |
</xs:simpleType> | |
<xs:complexType name="Font"> | |
<xs:annotation> | |
<xs:documentation>Represents a Font value.</xs:documentation> | |
</xs:annotation> | |
<xs:all> | |
<xs:element name="CachedFaceId" type="Content" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation>The location of a locally stored cache font file</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Family" type="Content"> | |
<xs:annotation> | |
<xs:documentation>The location of the Font's family information</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Style"> | |
<xs:annotation> | |
<xs:documentation> The 'Style' of the Font.</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Normal" /> | |
<xs:enumeration value="Italic" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:element name="Weight"> | |
<xs:annotation> | |
<xs:documentation>The weight the font has. This must correspond to a value from | |
the `FontWeight` enum on Roblox.</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:unsignedInt"> | |
<xs:enumeration value="100" /> | |
<xs:enumeration value="200" /> | |
<xs:enumeration value="300" /> | |
<xs:enumeration value="400" /> | |
<xs:enumeration value="500" /> | |
<xs:enumeration value="600" /> | |
<xs:enumeration value="700" /> | |
<xs:enumeration value="800" /> | |
<xs:enumeration value="900" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
</xs:all> | |
</xs:complexType> | |
<xs:simpleType name="int"> | |
<xs:annotation> | |
<xs:documentation> Represents a 32-bit signed integer. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:int" /> | |
</xs:simpleType> | |
<xs:simpleType name="int64"> | |
<xs:annotation> | |
<xs:documentation> Represents a 64-bit signed integer. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:long" /> | |
</xs:simpleType> | |
<xs:simpleType name="NumberRange"> | |
<xs:annotation> | |
<xs:documentation>Represents a NumberRange value. The value of this element is two | |
floats seperated by a space that represent the `Min` and `Max` of the value.</xs:documentation> | |
</xs:annotation> | |
<xs:restriction> | |
<xs:simpleType> | |
<xs:list itemType="xs:float" /> | |
</xs:simpleType> | |
<xs:length value="2" /> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="NumberSequence"> | |
<xs:annotation> | |
<xs:documentation> Represents a NumberSequence value. The contents of this element are | |
each Keypoint of the value in sequence with the attributes in the order `Time`, | |
`Value`, and `Envelope. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction> | |
<xs:simpleType> | |
<!-- TODO figure out if it's viable to make this the right number of elements--> | |
<xs:list itemType="xs:float" /> | |
</xs:simpleType> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="Ref"> | |
<xs:annotation> | |
<xs:documentation> Represents a link to an Instance. This should be equivalent to the | |
`referent` attribute of an `Item` somewhere in the file. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string" /> | |
</xs:simpleType> | |
<xs:complexType name="PhysicalProperties"> | |
<xs:annotation> | |
<xs:documentation>Represents a PhysicalProperties value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence maxOccurs="1" minOccurs="1"> | |
<xs:element name="CustomPhysics" minOccurs="1" maxOccurs="1" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation>Whether or not the PhysicalProperties is custom or not.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<!-- Instance where XSD 1.1 might be useful--> | |
<xs:sequence minOccurs="0" maxOccurs="1"> | |
<xs:element name="Density" type="xs:float" minOccurs="1" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation>The `Density` component of the value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Friction" type="xs:float" minOccurs="1" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation>The `Friction` component of the value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Elasticity" type="xs:float" minOccurs="1" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation>The `Elasticity` component of the value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="FrictionWeight" type="xs:float" minOccurs="1" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation>The `FrictionWeight` component of the value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="ElasticityWeight" type="xs:float" minOccurs="1" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation>The `ElasticityWeight` component of the value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="ProtectedString"> | |
<xs:annotation> | |
<xs:documentation> Represents a string value that needs additional security in-engine. | |
This element should only used for the `Source` property of Scripts. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string" /> | |
</xs:simpleType> | |
<xs:complexType name="Ray"> | |
<xs:annotation> | |
<xs:documentation>Represents a Ray value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="origin" type="Vector3"> | |
<xs:annotation> | |
<xs:documentation>The `origin` of the Ray value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="direction" type="Vector3"> | |
<xs:annotation> | |
<xs:documentation>The `direction` of the Ray value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Rect2D"> | |
<xs:annotation> | |
<xs:documentation> Represents a Rect2D value. </xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="min" type="Vector2"> | |
<xs:annotation> | |
<xs:documentation>The `min` of the Rect2D value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="max" type="Vector2"> | |
<xs:annotation> | |
<xs:documentation>The `min` of the Rect2D value.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="SharedString"> | |
<xs:annotation> | |
<xs:documentation> Represents a SharedString from a repository at the end of the file. | |
Used to reduce the file size and offset the memory footprint for large string | |
properties. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string" /> | |
</xs:simpleType> | |
<xs:simpleType name="string"> | |
<xs:annotation> | |
<xs:documentation>Represents a string. Strings containing binary data or characters that | |
are forbidden in XML should be wrapped in CDATA</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string" /> | |
</xs:simpleType> | |
<xs:simpleType name="token"> | |
<xs:annotation> | |
<xs:documentation> Represents a Roblox enumeration. </xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:unsignedInt" /> | |
</xs:simpleType> | |
<xs:complexType name="UDim"> | |
<xs:annotation> | |
<xs:documentation>Represents a UDim value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="S" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `Scale` component of the UDim.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="O" type="xs:int"> | |
<xs:annotation> | |
<xs:documentation>The `Offset` component of the UDim.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="UDim2"> | |
<xs:annotation> | |
<xs:documentation>Represents a UDim2 value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="XS" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `Scale` component of the UDim2's `X` component.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="XO" type="xs:int"> | |
<xs:annotation> | |
<xs:documentation>The `Offset` component of the UDim2's `X` component.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="YS" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `Scale` component of the UDim2's `Y` component.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="YO" type="xs:int"> | |
<xs:annotation> | |
<xs:documentation>The `Offset` component of the UDim2's `Y` component.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="UniqueId"> | |
<xs:annotation> | |
<xs:documentation>Represents a UniqueId value.</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:hexBinary"> | |
<xs:length value="16" /> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Vector2"> | |
<xs:annotation> | |
<xs:documentation>Represents a Vector2 value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="X" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `X` component of the Vector2.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Y" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `Y` component of the Vector2.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Vector2int16"> | |
<xs:annotation> | |
<xs:documentation>Represents a Vector2int16 value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="X" type="xs:short"> | |
<xs:annotation> | |
<xs:documentation>The `X` component of the Vector2int16.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Y" type="xs:short"> | |
<xs:annotation> | |
<xs:documentation>The `Y` component of the Vector2int16.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Vector3"> | |
<xs:annotation> | |
<xs:documentation> Represents a Vector3 value. </xs:documentation> | |
</xs:annotation> | |
<xs:sequence minOccurs="1" maxOccurs="1"> | |
<xs:element name="X" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `X` component of the Vector3.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Y" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `Y` component of the Vector3.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Z" type="xs:float"> | |
<xs:annotation> | |
<xs:documentation>The `Z` component of the Vector3.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Vector3int16"> | |
<xs:annotation> | |
<xs:documentation>Represents a Vector3int16 value.</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="X" type="xs:short"> | |
<xs:annotation> | |
<xs:documentation>The `X` component of the Vector3int16.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Y" type="xs:short"> | |
<xs:annotation> | |
<xs:documentation>The `Y` component of the Vector3int16.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="Z" type="xs:short"> | |
<xs:annotation> | |
<xs:documentation>The `Z` component of the Vector3int16.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<!-- | |
I'm unhappy with this data type but also suspicious so it goes down here for now. | |
--> | |
<xs:complexType name="OptionalCoordinateFrame"> | |
<xs:annotation> | |
<xs:documentation> A CFrame value that is Optional and may or may not be present. </xs:documentation> | |
</xs:annotation> | |
<xs:sequence minOccurs="0" maxOccurs="1"> | |
<xs:element name="CFrame" type="CoordinateFrame" /> | |
</xs:sequence> | |
<xs:attributeGroup ref="DataTypeAttributes" /> | |
</xs:complexType> | |
<!-- Helper group --> | |
<xs:attributeGroup name="DataTypeAttributes"> | |
<xs:attribute name="name" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation>The name of the property this element represents.</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:attributeGroup> | |
<!-- The structure of the file --> | |
<xs:element name="roblox"> | |
<xs:annotation> | |
<xs:documentation>A Roblox place or model file</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="Meta" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> Represents a key-value pair of metadata for the file. | |
Currently, only `ExplicitAutoJoints` is used and it should be `true`. </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="name" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation>tThe key portion of the metadata's | |
key-value pair.</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="UniqueMetadata"> | |
<xs:selector xpath="." /> | |
<xs:field xpath="@name" /> | |
</xs:unique> | |
</xs:element> | |
<xs:element name="External" minOccurs="0" maxOccurs="unbounded" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> Purpose unknown. Valid values are `nil` and `null`. </xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element ref="Item" minOccurs="1" maxOccurs="unbounded" /> | |
<xs:element ref="SharedStrings" minOccurs="0" maxOccurs="1" /> | |
</xs:sequence> | |
<xs:attribute name="version" use="required"> | |
<xs:annotation> | |
<xs:documentation> The version of Roblox's format that this document is. This | |
should be `4`. </xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:unsignedInt"> | |
<xs:pattern value="4"></xs:pattern> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
</xs:complexType> | |
<xs:unique name="UniqueReferent"> | |
<xs:selector xpath=".//Item" /> | |
<xs:field xpath="@referent" /> | |
</xs:unique> | |
<xs:key name="SharedStringDefinition"> | |
<xs:selector xpath="./SharedStrings/SharedString" /> | |
<xs:field xpath="@md5" /> | |
</xs:key> | |
<xs:keyref name="SharedStringUse" refer="SharedStringDefinition"> | |
<xs:selector xpath=".//Properties/SharedString" /> | |
<xs:field xpath="." /> | |
</xs:keyref> | |
</xs:element> | |
<xs:element name="Item"> | |
<xs:annotation> | |
<xs:documentation> A single Roblox Instance, alongside all of its properties and | |
descendants. </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element ref="Properties" minOccurs="1" maxOccurs="1" /> | |
<xs:element ref="Item" minOccurs="0" maxOccurs="unbounded" /> | |
</xs:sequence> | |
<xs:attribute name="referent" type="xs:string" use="required"> | |
<!-- We should not allow a referent to be "null" but that's not within our power at | |
this time unless we switch to XSD 1.1 --> | |
<xs:annotation> | |
<xs:documentation> A UID used by Roblox to represent this Instance when setting | |
properties with the `Instance` type. </xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="class" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation> The class of the Instance represented by this `Item`. </xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Properties"> | |
<xs:annotation> | |
<xs:documentation> A list of all properties on an Instance. Any property not listed here | |
will be set to a default value, which varies from property to property. Also, not | |
every property will deserialize. </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:group ref="DataTypes" minOccurs="0" maxOccurs="unbounded" /> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:unique name="UniquePropertyName"> | |
<xs:selector xpath="./*" /> | |
<xs:field xpath="@name" /> | |
</xs:unique> | |
</xs:element> | |
<xs:element name="SharedStrings"> | |
<xs:annotation> | |
<xs:documentation> A repository for storing SharedString values as key-value pairs that | |
are referenced in the file above. </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="SharedString" minOccurs="1" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation>An individual SharedString. The contents of this element | |
represent the value of the SharedString and the `md5` attribute | |
represents the key used by properties.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:token"> | |
<xs:attribute name="md5" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation>The key that's used by SharedString | |
properties to refer to this SharedString. Despite the | |
name, this value may be anything and the hash is not | |
checked by Roblox.</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:unique name="UniqueSharedString"> | |
<xs:selector xpath="./SharedString" /> | |
<xs:field xpath="@md5" /> | |
</xs:unique> | |
</xs:element> | |
</xs:schema> |
I wrote this file from scratch, it wasn't extracted. @phoriah
I wrote this file from scratch, it wasn't extracted. @phoriah
Oh, okay. I assume http://www.roblox.com/roblox.xsd isn't possible to extract then?
Not that I'm aware of. As far as I know that file doesn't exist and hasn't for a very long time.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@Dekkonot Hello, Can you please tell me how you extracted this file?
Sorry for bothering & Thanks in advance!