Hi All,
I have a requirement to split an incoming XML document based on a child node value. Here is snippet of my source XML.
I want the output to be split into 3 XMLs, based on ARR_ID. For each unique ARR_ID a separate XML has to be generated.
xml1
xml2
xml3
Any suggestions how this can be done using XSLT. I read about the grouping concept in XSLT from below link
But not sure how the XML can be split..
I have a requirement to split an incoming XML document based on a child node value. Here is snippet of my source XML.
Code:
<Select_Groupid_Collection> <Select_Groupid_Output> <USER_NAME>User1</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SE</DOC_TYPE> <ARR_ID>ARR1</ARR_ID> </Select_Groupid_Output> <Select_Groupid_Output> <USER_NAME>User2</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SF</DOC_TYPE> <ARR_ID>ARR2</ARR_ID> </Select_Groupid_Output> <Select_Groupid_Output> <USER_NAME>User3</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SF</DOC_TYPE> <ARR_ID>ARR1</ARR_ID> </Select_Groupid_Output> <Select_Groupid_Output> <USER_NAME>User4</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SF</DOC_TYPE> <ARR_ID>ARR3</ARR_ID> </Select_Groupid_Output> <Select_Groupid_Output> <USER_NAME>User5</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SE</DOC_TYPE> <ARR_ID>ARR2</ARR_ID> </Select_Groupid_Output> </Select_Groupid_Collection>
xml1
Code:
<Select_Groupid_Collection> <Select_Groupid_Output> <USER_NAME>User1</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SE</DOC_TYPE> <ARR_ID>ARR1</ARR_ID> </Select_Groupid_Output> <Select_Groupid_Output> <USER_NAME>User3</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SF</DOC_TYPE> <ARR_ID>ARR1</ARR_ID> </Select_Groupid_Output> </Select_Groupid_Collection>
Code:
<Select_Groupid_Collection> <Select_Groupid_Output> <USER_NAME>User2</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SF</DOC_TYPE> <ARR_ID>ARR2</ARR_ID> </Select_Groupid_Output> <Select_Groupid_Output> <USER_NAME>User5</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SE</DOC_TYPE> <ARR_ID>ARR2</ARR_ID> </Select_Groupid_Output> </Select_Groupid_Collection>
Code:
<Select_Groupid_Collection> <Select_Groupid_Output> <USER_NAME>User4</USER_NAME> <DOC_DATE>2010-10-31T00:00:00.000-05:00</DOC_DATE> <DOC_TYPE>SF</DOC_TYPE> <ARR_ID>ARR3</ARR_ID> </Select_Groupid_Output> </Select_Groupid_Collection>
But not sure how the XML can be split..
Comment