我是XSLT的新手。請幫我解決一下這個。 按字段FORNAMN升序的ValidFrom對每個同事的EmploymentUpdateRequests進行排序,並將XML文件中的EmploymentUpdateRequests寫入。通過子節點的值排序XML父節點
我只能根據員工編號進行排序,該編號將按順序對所有相同的員工編號進行分組,但無法使用xslt根據有效的升序進行進一步排序。
請幫忙。
Input XML:
<EmploymentUpdateRequests>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020410</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value Format="yyyy-MM-dd">2016-10-19</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
<FieldValue Name="LANGUAGE" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value>el</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020413</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value Format="yyyy-MM-dd">2016-10-19</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020413</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-11-29</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value Format="yyyy-MM-dd">2016-11-29</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-11-29</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-11-29</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Juenker Robert</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020410</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-12-18</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-12-17</ValidUntil>
<Value Format="yyyy-MM-dd">2016-12-18</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-12-18</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-12-17</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-12-18</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-12-17</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020410</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-01-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-01-18</ValidUntil>
<Value Format="yyyy-MM-dd">2016-10-19</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-01-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-01-18</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-01-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-01-18</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
</EmploymentUpdateRequests>
預期輸出:
<EmploymentUpdateRequests>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020410</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-01-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-01-18</ValidUntil>
<Value Format="yyyy-MM-dd">2016-10-19</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-01-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-01-18</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-01-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-01-18</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020410</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value Format="yyyy-MM-dd">2016-10-19</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
<FieldValue Name="LANGUAGE" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-10-18</ValidUntil>
<Value>el</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020410</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-12-18</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-12-17</ValidUntil>
<Value Format="yyyy-MM-dd">2016-12-18</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-12-18</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-12-17</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-12-18</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2016-12-17</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020413</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value Format="yyyy-MM-dd">2016-10-19</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-10-19</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Juenker Roberts</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
<EmploymentUpdateRequest>
<CompanyNo>0017</CompanyNo>
<EmploymentNo>020413</EmploymentNo>
<Fields>
<FieldValue Name="EmpFrom" Type="Date">
<ValidFrom Format="yyyy-MM-dd">2016-11-29</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value Format="yyyy-MM-dd">2016-11-29</Value>
</FieldValue>
<FieldValue Name="FORNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-11-29</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Nicoleta Geta</Value>
</FieldValue>
<FieldValue Name="EFTERNAMN" Type="String">
<ValidFrom Format="yyyy-MM-dd">2016-11-29</ValidFrom>
<ValidUntil Format="yyyy-MM-dd">2099-12-31</ValidUntil>
<Value>Juenker Robert</Value>
</FieldValue>
</Fields>
</EmploymentUpdateRequest>
</EmploymentUpdateRequests>
此XML需要在預期在上面的例子中的方式進行排序。可以請一些人分享這個xslt樣本。
你能編輯你的問題來顯示你當前的XSLT嗎?謝謝! –