---
source: rbx_xml/src/tests/formatting.rs
expression: ser_str
---
<roblox version="4">
<Item class="TestClass" referent="0">
<Properties>
<string name="Name">TestClass</string>
<Axes name="TestAxes">
<axes>5</axes>
</Axes>
<BinaryString name="TestBinaryString"><![CDATA[SGVsbG8sIHdvcmxkIQ==]]></BinaryString>
<bool name="TestBool">true</bool>
<CoordinateFrame name="TestCFrame">
<X>123</X>
<Y>456</Y>
<Z>789</Z>
<R00>987</R00>
<R01>654</R01>
<R02>432</R02>
<R10>210</R10>
<R11>0</R11>
<R12>-12345</R12>
<R20>765</R20>
<R21>234</R21>
<R22>123123</R22>
</CoordinateFrame>
<Color3 name="TestColor3">
<R>1</R>
<G>0.5</G>
<B>125600</B>
</Color3>
<ColorSequence name="TestColorSequence">0 0 0.5 1 0 1 1 0.5 0 0 </ColorSequence>
<ContentId name="TestContentId_None">
<null>
</null>
</ContentId>
<ContentId name="TestContentId_Url">
<url>Wow!</url>
</ContentId>
<Content name="TestContent_None">
<null>
</null>
</Content>
<Content name="TestContent_Url">
<uri>Wow!</uri>
</Content>
</Properties>
<Item class="TestClass" referent="1">
<Properties>
<string name="Name">TestClass</string>
<double name="TestDouble">INF</double>
<Faces name="TestFace">
<faces>42</faces>
</Faces>
<float name="TestFloat">NAN</float>
<Font name="TestFont">
<Family>
<url>Font Family</url>
</Family>
<Weight>100</Weight>
<Style>Normal</Style>
<CachedFaceId>
<null>
</null>
</CachedFaceId>
</Font>
<int name="TestInt">1337</int>
<int64 name="TestInt64">8675309</int64>
</Properties>
</Item>
<Item class="TestClass" referent="2">
<Properties>
<string name="Name">TestClass</string>
<NumberRange name="TestNumberRange">-1337 1337 </NumberRange>
<NumberSequence name="TestNumberSequence">0 10 20 1 30 40 </NumberSequence>
<OptionalCoordinateFrame name="TestOptionCFrame1">
</OptionalCoordinateFrame>
<OptionalCoordinateFrame name="TestOptionCFrame2">
<CFrame>
<X>100</X>
<Y>200</Y>
<Z>300</Z>
<R00>-100</R00>
<R01>-200</R01>
<R02>-300</R02>
<R10>123</R10>
<R11>456</R11>
<R12>-123</R12>
<R20>-456</R20>
<R21>inf</R21>
<R22>-inf</R22>
</CFrame>
</OptionalCoordinateFrame>
</Properties>
<Item class="TestClass" referent="3">
<Properties>
<string name="Name">TestClass</string>
<token name="TestEnum">1337</token>
<PhysicalProperties name="TestPhysicalProperties1">
<CustomPhysics>false</CustomPhysics>
</PhysicalProperties>
<PhysicalProperties name="TestPhysicalProperties2">
<CustomPhysics>true</CustomPhysics>
<Density>1</Density>
<Friction>-1</Friction>
<Elasticity>0.15625</Elasticity>
<FrictionWeight>-0.15625</FrictionWeight>
<ElasticityWeight>NAN</ElasticityWeight>
<AcousticAbsorption>1</AcousticAbsorption>
</PhysicalProperties>
<PhysicalProperties name="TestPhysicalProperties3">
<CustomPhysics>true</CustomPhysics>
<Density>1</Density>
<Friction>-1</Friction>
<Elasticity>0.15625</Elasticity>
<FrictionWeight>-0.15625</FrictionWeight>
<ElasticityWeight>NAN</ElasticityWeight>
<AcousticAbsorption>1337</AcousticAbsorption>
</PhysicalProperties>
<string name="TestProtectedString">Hello world, again!</string>
<Ray name="TestRay">
<origin>
<X>10</X>
<Y>20</Y>
<Z>30</Z>
</origin>
<direction>
<X>30</X>
<Y>20</Y>
<Z>10</Z>
</direction>
</Ray>
<Rect2D name="TestRect">
<min>
<X>1</X>
<Y>2</Y>
</min>
<max>
<X>0</X>
<Y>INF</Y>
</max>
</Rect2D>
<Ref name="TestRef1">0</Ref>
<Ref name="TestRef2">null</Ref>
<SharedString name="TestSharedString">7eXAsQ8uxJecabUvYeQv9Q==</SharedString>
<string name="TestString">Hello, world!</string>
<UDim name="TestUDim">
<S>1234.5</S>
<O>-123</O>
</UDim>
<UDim2 name="TestUDim2">
<XS>1234.5</XS>
<XO>-123</XO>
<YS>-1234.5</YS>
<YO>123</YO>
</UDim2>
<UniqueId name="TestUniqueId1">00000000000000000000000000000000</UniqueId>
<UniqueId name="TestUniqueId2">1234567890abcdef00c0ffeebadf00d0</UniqueId>
<Vector2 name="TestVector2">
<X>INF</X>
<Y>0</Y>
</Vector2>
<Vector3 name="TestVector3">
<X>0</X>
<Y>INF</Y>
<Z>123</Z>
</Vector3>
<Vector3int16 name="TestVector3int16">
<X>-10</X>
<Y>0</Y>
<Z>10</Z>
</Vector3int16>
</Properties>
</Item>
</Item>
</Item>
<SharedStrings>
<SharedString md5="7eXAsQ8uxJecabUvYeQv9Q==">SGVsbG8sIHdvcmxkIQ==</SharedString>
</SharedStrings>
</roblox>