Not sure whether I understand correctly. The following XSL, outputs the width and height values, grouped by the Pared section, which is ordered by Direction then Angle (numeric, ascending).
Just be careful, in your XML example, I had to separate some of the gbXML
's attributes with a space (otherwise it's not valid XML).
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:ns0="http://www.gbxml.org/schema">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:for-each select='//ns0:Pared' >
<xsl:sort select=".//ns0:Direction" data-type='number' order="ascending"/>
<xsl:sort select=".//ns0:Angle" data-type='number' order="ascending"/>
-- Pared: <xsl:value-of select="@id" />
(<xsl:value-of select=".//ns0:Width" />,0.00)
(<xsl:value-of select=".//ns0:Width" />,<xsl:value-of select=".//ns0:Height" />)
(0.00,<xsl:value-of select=".//ns0:Height" />)
(0.00,0.00)
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Gives
-- Pared: Pa-1
(15.200000,0.00)
(15.200000,3.657818)
(0.00,3.657818)
(0.00,0.00)
-- Pared: Pa-2
(14.200000,0.00)
(14.200000,2.598076)
(0.00,2.598076)
(0.00,0.00)