EDN Admin
Well-known member
Hi Here is a sample xml
<ns0D_Approved_Time xmlns:ns0=" http://DD_Approval_Time http://DD_Approval_Time <br/>
<Transmittal_Info><br/>
<Local_Timestamp>1999-05-31T13:20:00.000-05:00</Local_Timestamp><br/>
<Normalized_Timestamp><br/>
<UTC_Offset>10</UTC_Offset><br/>
<Year>10</Year><br/>
<Month>10</Month><br/>
<Day>10</Day><br/>
<Hour24>10</Hour24><br/>
<Minute>10</Minute><br/>
<Second>10</Second><br/>
<Milliseconds>10</Milliseconds><br/>
</Normalized_Timestamp><br/>
<ID>ID_0</ID><br/>
</Transmittal_Info><br/>
<Approved_Time><br/>
<Transaction_ID>Transaction_ID_0</Transaction_ID><br/>
<Project_Number>Project_Number_0</Project_Number><br/>
<Task_Name>Task_Name_0</Task_Name><br/>
<Task_Number>Task_Number_0</Task_Number><br/>
<Performance_Date>1999-05-31</Performance_Date><br/>
<Resource><br/>
<Resource_Client_ID>Resource_Client_ID_0</Resource_Client_ID><br/>
<Resource_Name>Resource_Name_0</Resource_Name><br/>
<Resource_Role>Resource_Role_0</Resource_Role><br/>
<Resource_Rate>10.4</Resource_Rate><br/>
</Resource><br/>
<Hours_Worked>10.4</Hours_Worked><br/>
<Performance_Week>1999-05-31</Performance_Week><br/>
<Expense_Total>10.4</Expense_Total><br/>
<Purchase_Order_ID>Purchase_Order_ID_0</Purchase_Order_ID><br/>
<Control_Number>Control_Number_01</Control_Number><br/>
<Department>Department_0</Department><br/>
<Region>Region_0</Region><br/>
<ViewPoint_ID>ViewPoint_ID_0</ViewPoint_ID><br/>
</Approved_Time><br/>
<Approved_Time><br/>
<Transaction_ID>Transaction_ID_0</Transaction_ID><br/>
<Project_Number>Project_Number_0</Project_Number><br/>
<Task_Name>Task_Name_0</Task_Name><br/>
<Task_Number>Task_Number_0</Task_Number><br/>
<Performance_Date>1999-05-31</Performance_Date><br/>
<Resource><br/>
<Resource_Client_ID>Resource_Client_ID_1</Resource_Client_ID><br/>
<Resource_Name>Resource_Name_0</Resource_Name><br/>
<Resource_Role>Resource_Role_0</Resource_Role><br/>
<Resource_Rate>10.4</Resource_Rate><br/>
</Resource><br/>
<Hours_Worked>10.4</Hours_Worked><br/>
<Performance_Week>1999-05-31</Performance_Week><br/>
<Expense_Total>10.4</Expense_Total><br/>
<Purchase_Order_ID>Purchase_Order_ID_0</Purchase_Order_ID><br/>
<Control_Number>Control_Number_02</Control_Number><br/>
<Department>Department_0</Department><br/>
<Region>Region_0</Region><br/>
<ViewPoint_ID>ViewPoint_ID_0</ViewPoint_ID><br/>
</Approved_Time><br/>
<br/>
</ns0D_Approved_Time>
and here is my xsl
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform http://www.w3.org/1999/XSL/Transform " xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" version="1.0 <br/>
<xslutput indent="yes" omit-xml-declaration="yes" version="1.0" method="xml"/><br/>
<xsl:key name="product" match="/*[local-name()=DD_Approved_Time and namespace-uri()=http://DD_Approval_Time]/*[local-name()=Approved_Time and namespace-uri()=]/*[local-name()=Resource and namespace-uri()=]/*[local-name()=Resource_Client_ID
and namespace-uri()=]/text()" use="." /><br/>
<xsl:template match="/ <br/>
<ns0:Insert xmlns:ns0=" http://Microsoft.LobServices.OracleDB/2007/03/DDDIRECT/Table/DDNA_OTL_INTF_HDR http://Microsoft.LobServices.OracleDB/2007/03/DDDIRECT/Table/DDNA_OTL_INTF_HDR <br/>
<ns0:RECORDSET><br/>
<xsl:for-each select="/*[local-name()=DD_Approved_Time and namespace-uri()=http://DD_Approval_Time]/*[local-name()=Approved_Time and namespace-uri()=]/*[local-name()=Resource and namespace-uri()=]/*[local-name()=Resource_Client_ID
and namespace-uri()=]/text()[generate-id()=generate-id(key(product,.)[1])]
<br/>
<ns0DNA_OTL_INTF_HDRRECORDINSERT><br/>
<ns0:ORACLE_PERSON_IDENTIFIER><br/>
<xsl:value-of select="."/><br/>
</ns0:ORACLE_PERSON_IDENTIFIER><br/>
<ns0:TIMECARD_COMMENTS><br/>
<xsl:value-of select="Resource_Name"/> --
<br/>
</ns0:TIMECARD_COMMENTS>
<br/>
</ns0DNA_OTL_INTF_HDRRECORDINSERT><br/>
</xsl:for-each><br/>
</ns0:RECORDSET><br/>
</ns0:Insert><br/>
</xsl:template><br/>
</xsl:stylesheet>
The key works in that it eliminates duplicates and gets me a distinct nodes for Resource_Client_ID. What I need to do now is for each <Approved_Time> node belonging to the distinct node in the for-each is get at other elements. Is this possible - it
seems so but I just cant get it to work. <hr class="sig Biztalk Developer
View the full article
<ns0D_Approved_Time xmlns:ns0=" http://DD_Approval_Time http://DD_Approval_Time <br/>
<Transmittal_Info><br/>
<Local_Timestamp>1999-05-31T13:20:00.000-05:00</Local_Timestamp><br/>
<Normalized_Timestamp><br/>
<UTC_Offset>10</UTC_Offset><br/>
<Year>10</Year><br/>
<Month>10</Month><br/>
<Day>10</Day><br/>
<Hour24>10</Hour24><br/>
<Minute>10</Minute><br/>
<Second>10</Second><br/>
<Milliseconds>10</Milliseconds><br/>
</Normalized_Timestamp><br/>
<ID>ID_0</ID><br/>
</Transmittal_Info><br/>
<Approved_Time><br/>
<Transaction_ID>Transaction_ID_0</Transaction_ID><br/>
<Project_Number>Project_Number_0</Project_Number><br/>
<Task_Name>Task_Name_0</Task_Name><br/>
<Task_Number>Task_Number_0</Task_Number><br/>
<Performance_Date>1999-05-31</Performance_Date><br/>
<Resource><br/>
<Resource_Client_ID>Resource_Client_ID_0</Resource_Client_ID><br/>
<Resource_Name>Resource_Name_0</Resource_Name><br/>
<Resource_Role>Resource_Role_0</Resource_Role><br/>
<Resource_Rate>10.4</Resource_Rate><br/>
</Resource><br/>
<Hours_Worked>10.4</Hours_Worked><br/>
<Performance_Week>1999-05-31</Performance_Week><br/>
<Expense_Total>10.4</Expense_Total><br/>
<Purchase_Order_ID>Purchase_Order_ID_0</Purchase_Order_ID><br/>
<Control_Number>Control_Number_01</Control_Number><br/>
<Department>Department_0</Department><br/>
<Region>Region_0</Region><br/>
<ViewPoint_ID>ViewPoint_ID_0</ViewPoint_ID><br/>
</Approved_Time><br/>
<Approved_Time><br/>
<Transaction_ID>Transaction_ID_0</Transaction_ID><br/>
<Project_Number>Project_Number_0</Project_Number><br/>
<Task_Name>Task_Name_0</Task_Name><br/>
<Task_Number>Task_Number_0</Task_Number><br/>
<Performance_Date>1999-05-31</Performance_Date><br/>
<Resource><br/>
<Resource_Client_ID>Resource_Client_ID_1</Resource_Client_ID><br/>
<Resource_Name>Resource_Name_0</Resource_Name><br/>
<Resource_Role>Resource_Role_0</Resource_Role><br/>
<Resource_Rate>10.4</Resource_Rate><br/>
</Resource><br/>
<Hours_Worked>10.4</Hours_Worked><br/>
<Performance_Week>1999-05-31</Performance_Week><br/>
<Expense_Total>10.4</Expense_Total><br/>
<Purchase_Order_ID>Purchase_Order_ID_0</Purchase_Order_ID><br/>
<Control_Number>Control_Number_02</Control_Number><br/>
<Department>Department_0</Department><br/>
<Region>Region_0</Region><br/>
<ViewPoint_ID>ViewPoint_ID_0</ViewPoint_ID><br/>
</Approved_Time><br/>
<br/>
</ns0D_Approved_Time>
and here is my xsl
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform http://www.w3.org/1999/XSL/Transform " xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" version="1.0 <br/>
<xslutput indent="yes" omit-xml-declaration="yes" version="1.0" method="xml"/><br/>
<xsl:key name="product" match="/*[local-name()=DD_Approved_Time and namespace-uri()=http://DD_Approval_Time]/*[local-name()=Approved_Time and namespace-uri()=]/*[local-name()=Resource and namespace-uri()=]/*[local-name()=Resource_Client_ID
and namespace-uri()=]/text()" use="." /><br/>
<xsl:template match="/ <br/>
<ns0:Insert xmlns:ns0=" http://Microsoft.LobServices.OracleDB/2007/03/DDDIRECT/Table/DDNA_OTL_INTF_HDR http://Microsoft.LobServices.OracleDB/2007/03/DDDIRECT/Table/DDNA_OTL_INTF_HDR <br/>
<ns0:RECORDSET><br/>
<xsl:for-each select="/*[local-name()=DD_Approved_Time and namespace-uri()=http://DD_Approval_Time]/*[local-name()=Approved_Time and namespace-uri()=]/*[local-name()=Resource and namespace-uri()=]/*[local-name()=Resource_Client_ID
and namespace-uri()=]/text()[generate-id()=generate-id(key(product,.)[1])]
<br/>
<ns0DNA_OTL_INTF_HDRRECORDINSERT><br/>
<ns0:ORACLE_PERSON_IDENTIFIER><br/>
<xsl:value-of select="."/><br/>
</ns0:ORACLE_PERSON_IDENTIFIER><br/>
<ns0:TIMECARD_COMMENTS><br/>
<xsl:value-of select="Resource_Name"/> --
<br/>
</ns0:TIMECARD_COMMENTS>
<br/>
</ns0DNA_OTL_INTF_HDRRECORDINSERT><br/>
</xsl:for-each><br/>
</ns0:RECORDSET><br/>
</ns0:Insert><br/>
</xsl:template><br/>
</xsl:stylesheet>
The key works in that it eliminates duplicates and gets me a distinct nodes for Resource_Client_ID. What I need to do now is for each <Approved_Time> node belonging to the distinct node in the for-each is get at other elements. Is this possible - it
seems so but I just cant get it to work. <hr class="sig Biztalk Developer
View the full article