Not sure.
May be because it can be done.

Two examples for XML’s:
Long version:
<map>
<entity>
<entity_id></entity_id>
<classname></classname>
CLASSNAME_SPECIFIC_KEY_VALUE_PAIRS
<brush>
<brush_id></brush_id>
<plane>
<point>
<x></x>
<y></y>
<z></z>
</point>
...
<texture>
<path></path>
<x_offset></x_offset>
<y_offset></y_offset>
<z_offset></z_offset>
<rotation_angle></rotation_angle>
<x_scale></x_scale>
<y_scale></y_scale>
<4></4>
<5></5>
</texture>
</plane>
</brush>
<patchDef2>
<texture>
<path></path>
<x_offset></x_offset>
<y_offset></y_offset>
<z_offset></z_offset>
<rotation_angle></rotation_angle>
<x_scale></x_scale>
<y_scale></y_scale>
</texture>
<bezier_point>
<x></x>
<y></y>
<z></z>
<u></u>
<v></v>
</bezier_point>
...
</patchDef2>
</entity>
</map>
Short version:
<map>
<entity id="" classname="" CLASSNAME_SPECIFIC_KEY_VALUE_PAIRS>
<brush id="">
<plane>
<point x="" y="" z="" />
...
<texture path="" x_offset="" y_offset="" z_offset="" rotation_angle="" x_scale="" y_scale="" 4="" 5="" />
</plane>
</brush>
<patchDef2 id="">
<texture path="" x_offset="" y_offset="" z_offset="" rotation_angle="" x_scale="" y_scale="" />
<bezier_point x="" y="" z="" u="" v="" />
...
</patchDef2>
</entity>
</map>
Also not sure what all the information in the map files mean.
For example the last two numbers in the texture section of a brush.