rbx_xml 3.0.0

Implementation of Roblox's XML file formats, rbxlx and rbxmx
Documentation
---
source: rbx_xml/src/tests/mod.rs
expression: encoded_text
---
<roblox version="4">
  <Item class="Folder" referent="0">
    <Properties>
      <string name="Name">Folder</string>
      <BinaryString name="AttributesSerialize"></BinaryString>
      <int64 name="SourceAssetId">-1</int64>
      <BinaryString name="Tags"></BinaryString>
    </Properties>
    <Item class="Part" referent="1">
      <Properties>
        <string name="Name">A</string>
        <bool name="Anchored">false</bool>
        <BinaryString name="AttributesSerialize"></BinaryString>
        <float name="BackParamA">-0.5</float>
        <float name="BackParamB">0.5</float>
        <token name="BackSurface">0</token>
        <token name="BackSurfaceInput">0</token>
        <float name="BottomParamA">-0.5</float>
        <float name="BottomParamB">0.5</float>
        <token name="BottomSurface">0</token>
        <token name="BottomSurfaceInput">0</token>
        <CoordinateFrame name="CFrame">
          <X>-6</X>
          <Y>0.5000011</Y>
          <Z>-11</Z>
          <R00>1</R00>
          <R01>0</R01>
          <R02>0</R02>
          <R10>0</R10>
          <R11>1</R11>
          <R12>0</R12>
          <R20>0</R20>
          <R21>0</R21>
          <R22>1</R22>
        </CoordinateFrame>
        <bool name="CanCollide">true</bool>
        <bool name="CanQuery">true</bool>
        <bool name="CanTouch">true</bool>
        <bool name="CastShadow">true</bool>
        <int name="CollisionGroupId">0</int>
        <Color3uint8 name="Color3uint8">10724005</Color3uint8>
        <PhysicalProperties name="CustomPhysicalProperties">
          <CustomPhysics>false</CustomPhysics>
        </PhysicalProperties>
        <token name="formFactorRaw">1</token>
        <float name="FrontParamA">-0.5</float>
        <float name="FrontParamB">0.5</float>
        <token name="FrontSurface">0</token>
        <token name="FrontSurfaceInput">0</token>
        <float name="LeftParamA">-0.5</float>
        <float name="LeftParamB">0.5</float>
        <token name="LeftSurface">0</token>
        <token name="LeftSurfaceInput">0</token>
        <bool name="Locked">false</bool>
        <bool name="Massless">false</bool>
        <token name="Material">256</token>
        <CoordinateFrame name="PivotOffset">
          <X>0</X>
          <Y>0</Y>
          <Z>0</Z>
          <R00>1</R00>
          <R01>0</R01>
          <R02>0</R02>
          <R10>0</R10>
          <R11>1</R11>
          <R12>0</R12>
          <R20>0</R20>
          <R21>0</R21>
          <R22>1</R22>
        </CoordinateFrame>
        <float name="Reflectance">0</float>
        <float name="RightParamA">-0.5</float>
        <float name="RightParamB">0.5</float>
        <token name="RightSurface">0</token>
        <token name="RightSurfaceInput">0</token>
        <int name="RootPriority">0</int>
        <Vector3 name="RotVelocity">
          <X>0</X>
          <Y>0</Y>
          <Z>0</Z>
        </Vector3>
        <token name="shape">1</token>
        <Vector3 name="size">
          <X>4</X>
          <Y>1</Y>
          <Z>2</Z>
        </Vector3>
        <int64 name="SourceAssetId">-1</int64>
        <BinaryString name="Tags"></BinaryString>
        <float name="TopParamA">-0.5</float>
        <float name="TopParamB">0.5</float>
        <token name="TopSurface">0</token>
        <token name="TopSurfaceInput">0</token>
        <float name="Transparency">0</float>
        <Vector3 name="Velocity">
          <X>0</X>
          <Y>0</Y>
          <Z>0</Z>
        </Vector3>
      </Properties>
      <Item class="WeldConstraint" referent="2">
        <Properties>
          <string name="Name">WeldConstraint</string>
          <BinaryString name="AttributesSerialize"></BinaryString>
          <CoordinateFrame name="CFrame0">
            <X>4</X>
            <Y>1</Y>
            <Z>-4</Z>
            <R00>1</R00>
            <R01>0</R01>
            <R02>0</R02>
            <R10>0</R10>
            <R11>1</R11>
            <R12>0</R12>
            <R20>0</R20>
            <R21>0</R21>
            <R22>1</R22>
          </CoordinateFrame>
          <Ref name="Part0Internal">1</Ref>
          <Ref name="Part1Internal">3</Ref>
          <int64 name="SourceAssetId">-1</int64>
          <int name="State">3</int>
          <BinaryString name="Tags"></BinaryString>
        </Properties>
      </Item>
    </Item>
    <Item class="Part" referent="3">
      <Properties>
        <string name="Name">B</string>
        <bool name="Anchored">false</bool>
        <BinaryString name="AttributesSerialize"></BinaryString>
        <float name="BackParamA">-0.5</float>
        <float name="BackParamB">0.5</float>
        <token name="BackSurface">0</token>
        <token name="BackSurfaceInput">0</token>
        <float name="BottomParamA">-0.5</float>
        <float name="BottomParamB">0.5</float>
        <token name="BottomSurface">0</token>
        <token name="BottomSurfaceInput">0</token>
        <CoordinateFrame name="CFrame">
          <X>-2</X>
          <Y>1.5000011</Y>
          <Z>-15</Z>
          <R00>1</R00>
          <R01>0</R01>
          <R02>0</R02>
          <R10>0</R10>
          <R11>1</R11>
          <R12>0</R12>
          <R20>0</R20>
          <R21>0</R21>
          <R22>1</R22>
        </CoordinateFrame>
        <bool name="CanCollide">true</bool>
        <bool name="CanQuery">true</bool>
        <bool name="CanTouch">true</bool>
        <bool name="CastShadow">true</bool>
        <int name="CollisionGroupId">0</int>
        <Color3uint8 name="Color3uint8">10724005</Color3uint8>
        <PhysicalProperties name="CustomPhysicalProperties">
          <CustomPhysics>false</CustomPhysics>
        </PhysicalProperties>
        <token name="formFactorRaw">1</token>
        <float name="FrontParamA">-0.5</float>
        <float name="FrontParamB">0.5</float>
        <token name="FrontSurface">0</token>
        <token name="FrontSurfaceInput">0</token>
        <float name="LeftParamA">-0.5</float>
        <float name="LeftParamB">0.5</float>
        <token name="LeftSurface">0</token>
        <token name="LeftSurfaceInput">0</token>
        <bool name="Locked">false</bool>
        <bool name="Massless">false</bool>
        <token name="Material">256</token>
        <CoordinateFrame name="PivotOffset">
          <X>0</X>
          <Y>0</Y>
          <Z>0</Z>
          <R00>1</R00>
          <R01>0</R01>
          <R02>0</R02>
          <R10>0</R10>
          <R11>1</R11>
          <R12>0</R12>
          <R20>0</R20>
          <R21>0</R21>
          <R22>1</R22>
        </CoordinateFrame>
        <float name="Reflectance">0</float>
        <float name="RightParamA">-0.5</float>
        <float name="RightParamB">0.5</float>
        <token name="RightSurface">0</token>
        <token name="RightSurfaceInput">0</token>
        <int name="RootPriority">0</int>
        <Vector3 name="RotVelocity">
          <X>0</X>
          <Y>0</Y>
          <Z>0</Z>
        </Vector3>
        <token name="shape">1</token>
        <Vector3 name="size">
          <X>4</X>
          <Y>1</Y>
          <Z>2</Z>
        </Vector3>
        <int64 name="SourceAssetId">-1</int64>
        <BinaryString name="Tags"></BinaryString>
        <float name="TopParamA">-0.5</float>
        <float name="TopParamB">0.5</float>
        <token name="TopSurface">0</token>
        <token name="TopSurfaceInput">0</token>
        <float name="Transparency">0</float>
        <Vector3 name="Velocity">
          <X>0</X>
          <Y>0</Y>
          <Z>0</Z>
        </Vector3>
      </Properties>
    </Item>
  </Item>
</roblox>