XSLT Sort Issues
970002Nov 29 2012 — edited Nov 30 2012I have an XML document that give me a list of PO lines and orders. When I get the PIX message I want to sort it by PO number and then PO Line. For some reason my syntax below isn't working. I need to sort by Reference2 then Reference4. I tried to just get 4 to work but that wasn't working either.
<xsl:template match="/">
<xsl:for-each select="tXML/Message/PIX">
<xsl:sort select="PIXFields/Reference4"/>
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<tXML>
<Message>
<PIX>
<TransactionType>603</TransactionType>
<TransactionCode>02</TransactionCode>
<TransactionNumber>10731</TransactionNumber>
<SequenceNumber>1</SequenceNumber>
<PIXFields>
<DateCreated>11/29/12 13:25 EST</DateCreated>
<ReferenceCode1>104</ReferenceCode1>
<Reference1>ASN1769527</Reference1>
<ReferenceCode2>108</ReferenceCode2>
<Reference2>1769527</Reference2>
<ReferenceCode3>107</ReferenceCode3>
<ReferenceCode4>43</ReferenceCode4>
<Reference4>7.000</Reference4>
</PIXFields>
</PIX>
<PIX>
<TransactionType>603</TransactionType>
<TransactionCode>02</TransactionCode>
<TransactionNumber>10731</TransactionNumber>
<SequenceNumber>2</SequenceNumber>
<PIXFields>
<DateCreated>11/29/12 13:25 EST</DateCreated>
<ReferenceCode1>104</ReferenceCode1>
<Reference1>ASN1769527</Reference1>
<ReferenceCode2>108</ReferenceCode2>
<Reference2>1769527</Reference2>
<ReferenceCode3>107</ReferenceCode3>
<ReferenceCode4>43</ReferenceCode4>
<Reference4>7.000</Reference4>
</PIXFields>
</PIX>
<PIX>
<TransactionType>603</TransactionType>
<TransactionCode>02</TransactionCode>
<TransactionNumber>10731</TransactionNumber>
<SequenceNumber>3</SequenceNumber>
<PIXFields>
<DateCreated>11/29/12 13:25 EST</DateCreated>
<ReferenceCode1>104</ReferenceCode1>
<Reference1>ASN1769527</Reference1>
<ReferenceCode2>108</ReferenceCode2>
<Reference2>1769527</Reference2>
<ReferenceCode3>107</ReferenceCode3>
<ReferenceCode4>43</ReferenceCode4>
<Reference4>3.000</Reference4>
</PIXFields>
</PIX>
<PIX>
<TransactionType>603</TransactionType>
<TransactionCode>02</TransactionCode>
<TransactionNumber>10731</TransactionNumber>
<SequenceNumber>4</SequenceNumber>
<PIXFields>
<DateCreated>11/29/12 13:25 EST</DateCreated>
<ReferenceCode1>104</ReferenceCode1>
<Reference1>ASN1769527</Reference1>
<ReferenceCode2>108</ReferenceCode2>
<Reference2>1769527</Reference2>
<ReferenceCode3>107</ReferenceCode3>
<ReferenceCode4>43</ReferenceCode4>
<Reference4>6.000</Reference4>
</PIXFields>
</PIX>
<PIX>
<TransactionType>603</TransactionType>
<TransactionCode>02</TransactionCode>
<TransactionNumber>10731</TransactionNumber>
<SequenceNumber>5</SequenceNumber>
<PIXFields>
<DateCreated>11/29/12 13:25 EST</DateCreated>
<ReferenceCode1>104</ReferenceCode1>
<Reference1>ASN1769527</Reference1>
<ReferenceCode2>108</ReferenceCode2>
<Reference2>1769527</Reference2>
<ReferenceCode3>107</ReferenceCode3>
<ReferenceCode4>43</ReferenceCode4>
<Reference4>10.000</Reference4>
</PIXFields>
</PIX>
<PIX>
<TransactionType>603</TransactionType>
<TransactionCode>02</TransactionCode>
<TransactionNumber>10731</TransactionNumber>
<SequenceNumber>6</SequenceNumber>
<PIXFields>
<DateCreated>11/29/12 13:25 EST</DateCreated>
<ReferenceCode1>104</ReferenceCode1>
<Reference1>ASN1769527</Reference1>
<ReferenceCode2>108</ReferenceCode2>
<Reference2>1769527</Reference2>
<ReferenceCode3>107</ReferenceCode3>
<ReferenceCode4>43</ReferenceCode4>
<Reference4>2.000</Reference4>
</PIXFields>
</PIX>
</Message>
</tXML>