1

xslt を使用して、次の xml を必要な形式に変換するのを手伝ってください

clock In、Clock Out、Break Start、Break End などの各要素には、個別の親として TASDATA 要素が必要です。

実際の XML:

<?xml version="1.0" encoding="UTF-8"?>
<tXML>
  <Header>
    <Source>TASSRC</Source>
    <Action_Type>Create</Action_Type>
    <Batch_ID>TASBTID</Batch_ID>
    <Reference_ID>TASRFID</Reference_ID>
    <User_ID>TASUSR</User_ID>
    <Password>TASPWD</Password>
    <Message_Type>TAS</Message_Type>
    <Company_ID>810</Company_ID>
    <Purpose_Code>TAS</Purpose_Code>
    <Msg_Locale>en.US</Msg_Locale>
    <Version>1.0</Version>
    <Sequence_Number>TAS&amp;</Sequence_Number>
  </Header>
  <Message>
    <TimeAndAttendance>
      <TASData>
        <ClockIn>
          <TranNumber>000000001</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <EmpClockIn>2012-08-06T05:04:00</EmpClockIn>
        </ClockIn>
        <BreakStart>
          <TranNumber>000000002</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <BreakStartTime>2012-08-06T11:05:00</BreakStartTime>
          <Activity>UNPAIDBRK</Activity>
        </BreakStart>
        <BreakEnd>
          <TranNumber>000000003</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <BreakStartTime>2012-08-06T11:05:00</BreakStartTime>
          <BreakEndTime>2012-08-06T11:31:00</BreakEndTime>
          <Activity>UNPAIDBRK</Activity>
        </BreakEnd>
        <ClockOut>
          <TranNumber>000000004</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <EmpClockOut>2012-08-06T15:29:00</EmpClockOut>
        </ClockOut>
      </TASData>
    </TimeAndAttendance>
  </Message>
</tXML>

必要な XML:

<?xml version="1.0" encoding="UTF-8"?>
<tXML>
  <Header>
    <Source>TASSRC</Source>
    <Action_Type>Create</Action_Type>
    <Batch_ID>TASBTID</Batch_ID>
    <Reference_ID>TASRFID</Reference_ID>
    <User_ID>TASUSR</User_ID>
    <Password>TASPWD</Password>
    <Message_Type>TAS</Message_Type>
    <Company_ID>810</Company_ID>
    <Purpose_Code>TAS</Purpose_Code>
    <Msg_Locale>en.US</Msg_Locale>
    <Version>1.0</Version>
    <Sequence_Number>TAS&amp;</Sequence_Number>
  </Header>
  <Message>
    <TimeAndAttendance>
      <TASData>
        <ClockIn>
          <TranNumber>000000001</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <EmpClockIn>2012-08-06T05:04:00</EmpClockIn>
        </ClockIn>
      </TASData>
      <TASData>
        <BreakStart>
          <TranNumber>000000002</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <BreakStartTime>2012-08-06T11:05:00</BreakStartTime>
          <Activity>UNPAIDBRK</Activity>
        </BreakStart>
      </TASData>
      <TASData>
        <BreakEnd>
          <TranNumber>000000003</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <BreakStartTime>2012-08-06T11:05:00</BreakStartTime>
          <BreakEndTime>2012-08-06T11:31:00</BreakEndTime>
          <Activity>UNPAIDBRK</Activity>
        </BreakEnd>
      </TASData>
      <TASData>
        <ClockOut>
          <TranNumber>000000004</TranNumber>
          <Warehouse>810</Warehouse>
          <EmployeeUserId>173633</EmployeeUserId>
          <EmpClockOut>2012-08-06T15:29:00</EmpClockOut>
        </ClockOut>
      </TASData>
    </TimeAndAttendance>
  </Message>
</tXML>
4

1 に答える 1