如何修复 BizTalk 形状中的 xpath 函数 min() "as an invalid token"?
How to fix xpath function min() "as an invalid token" in BizTalk shape?
我有一个 BizTalk 表达式形状的 Xpath 代码,它是 return 这个错误:
'min(/[local-name()='EmployeeUDM_Response' and namespace-uri()='http://Securitas/ESB/Schemas/v2/EmployeeUDM']/[local-name()='Return']/[local-name()='Employee']/[local-name()='Contracts']/[local-name()='Contract']/[local-name()='EmployementStartDate']/xs:dateTime(.))' has an invalid token.
我之前多次遇到这个错误,但那是因为我放错了路径
Xpath 代码:
xpath("min(/*[local-name()='EmployeeUDM_Response' and namespace-uri()='http://Securitas/ESB/Schemas/v2/EmployeeUDM']/*[local-name()='Return']/*[local-name()='Employee']/*[local-name()='Contracts']/*[local-name()='Contract']/*[local-name()='EmployementStartDate']/xs:dateTime(.))")
XML 文件:
- <Employee date="date_0" rostarproject="rostarproject_1" xmlns:ns0="http://Securitas.ESB.HR.EmployeeUDMToRostar.MDSRequest_Schema">
<UPN>UPN_0</UPN>
<SAMAccountName>SAMAccountName_0</SAMAccountName>
<Number>Number_0</Number>
<SagaNumber>SagaNumber_0</SagaNumber>
<SurNameFull>SurNameFull_0</SurNameFull>
<FirstName>FirstName_0</FirstName>
<GivenName>GivenName_0</GivenName>
<Gender>Gender_0</Gender>
<DateOfBirth>DateOfBirth_0</DateOfBirth>
<EmailPrivate>EmailPrivate_0</EmailPrivate>
<PhoneMobilePrivate>PhoneMobilePrivate_0</PhoneMobilePrivate>
<PhonePrivate>PhonePrivate_0</PhonePrivate>
<EmployementStartDate>EmployementStartDate_0</EmployementStartDate>
<EmployementEndDate>EmployementEndDate_0</EmployementEndDate>
- <Contracts>
- <Contract>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Type>Type_0</Type>
<DissimelarCAO>DissimelarCAO_0</DissimelarCAO>
<PhaseID>PhaseID_0</PhaseID>
<PB_CAO>PB_CAO_0</PB_CAO>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Type>Type_0</Type>
<DissimelarCAO>DissimelarCAO_0</DissimelarCAO>
<PhaseID>PhaseID_0</PhaseID>
<PB_CAO>PB_CAO_0</PB_CAO>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Type>Type_0</Type>
<DissimelarCAO>DissimelarCAO_0</DissimelarCAO>
<PhaseID>PhaseID_0</PhaseID>
<PB_CAO>PB_CAO_0</PB_CAO>
</Contract>
</Contracts>
- <Functions>
- <Function>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Position>Position_0</Position>
<CostCenterCode>CostCenterCode_0</CostCenterCode>
<CostCenter>CostCenter_0</CostCenter>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Position>Position_0</Position>
<CostCenterCode>CostCenterCode_0</CostCenterCode>
<CostCenter>CostCenter_0</CostCenter>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Position>Position_0</Position>
<CostCenterCode>CostCenterCode_0</CostCenterCode>
<CostCenter>CostCenter_0</CostCenter>
</Function>
</Functions>
- <Adresses>
- <Adress>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<StreetNumber>StreetNumber_0</StreetNumber>
<StreetNumberAddition>StreetNumberAddition_0</StreetNumberAddition>
<Street>Street_0</Street>
<ZipCode>ZipCode_0</ZipCode>
<City>City_0</City>
<Country>Country_0</Country>
<Type>Type_0</Type>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<StreetNumber>StreetNumber_0</StreetNumber>
<StreetNumberAddition>StreetNumberAddition_0</StreetNumberAddition>
<Street>Street_0</Street>
<ZipCode>ZipCode_0</ZipCode>
<City>City_0</City>
<Country>Country_0</Country>
<Type>Type_0</Type>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<StreetNumber>StreetNumber_0</StreetNumber>
<StreetNumberAddition>StreetNumberAddition_0</StreetNumberAddition>
<Street>Street_0</Street>
<ZipCode>ZipCode_0</ZipCode>
<City>City_0</City>
<Country>Country_0</Country>
<Type>Type_0</Type>
</Adress>
</Adresses>
- <Wages>
- <Wage>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<DissimelarZipCode>DissimelarZipCode_0</DissimelarZipCode>
<MAXKM>MAXKM_0</MAXKM>
<RightTravelHours>RightTravelHours_0</RightTravelHours>
<RightTravelExpense>RightTravelExpense_0</RightTravelExpense>
<RightAdditions>RightAdditions_0</RightAdditions>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<DissimelarZipCode>DissimelarZipCode_0</DissimelarZipCode>
<MAXKM>MAXKM_0</MAXKM>
<RightTravelHours>RightTravelHours_0</RightTravelHours>
<RightTravelExpense>RightTravelExpense_0</RightTravelExpense>
<RightAdditions>RightAdditions_0</RightAdditions>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<DissimelarZipCode>DissimelarZipCode_0</DissimelarZipCode>
<MAXKM>MAXKM_0</MAXKM>
<RightTravelHours>RightTravelHours_0</RightTravelHours>
<RightTravelExpense>RightTravelExpense_0</RightTravelExpense>
<RightAdditions>RightAdditions_0</RightAdditions>
</Wage>
</Wages>
- <Roosters>
- <Rooster>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<WeekAmountOfHours>WeekAmountOfHours_0</WeekAmountOfHours>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<WeekAmountOfHours>WeekAmountOfHours_0</WeekAmountOfHours>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<WeekAmountOfHours>WeekAmountOfHours_0</WeekAmountOfHours>
</Rooster>
</Roosters>
</ns0:Employee>
我希望 XML 的输出最旧 'EmployementStartDate'
min()
在 XPath 2.0 中可用但在 XPath 1.0 中不可用(尽管它可能在 Biztalk 中可用?)
你需要把所有地方的/[local-name()='x']
改成/*[local-name()='x']
。
构造 XXX/xs:date-time(.)
还需要 XPath 2.0。
我有一个 BizTalk 表达式形状的 Xpath 代码,它是 return 这个错误:
'min(/[local-name()='EmployeeUDM_Response' and namespace-uri()='http://Securitas/ESB/Schemas/v2/EmployeeUDM']/[local-name()='Return']/[local-name()='Employee']/[local-name()='Contracts']/[local-name()='Contract']/[local-name()='EmployementStartDate']/xs:dateTime(.))' has an invalid token.
我之前多次遇到这个错误,但那是因为我放错了路径
Xpath 代码:
xpath("min(/*[local-name()='EmployeeUDM_Response' and namespace-uri()='http://Securitas/ESB/Schemas/v2/EmployeeUDM']/*[local-name()='Return']/*[local-name()='Employee']/*[local-name()='Contracts']/*[local-name()='Contract']/*[local-name()='EmployementStartDate']/xs:dateTime(.))")
XML 文件:
- <Employee date="date_0" rostarproject="rostarproject_1" xmlns:ns0="http://Securitas.ESB.HR.EmployeeUDMToRostar.MDSRequest_Schema">
<UPN>UPN_0</UPN>
<SAMAccountName>SAMAccountName_0</SAMAccountName>
<Number>Number_0</Number>
<SagaNumber>SagaNumber_0</SagaNumber>
<SurNameFull>SurNameFull_0</SurNameFull>
<FirstName>FirstName_0</FirstName>
<GivenName>GivenName_0</GivenName>
<Gender>Gender_0</Gender>
<DateOfBirth>DateOfBirth_0</DateOfBirth>
<EmailPrivate>EmailPrivate_0</EmailPrivate>
<PhoneMobilePrivate>PhoneMobilePrivate_0</PhoneMobilePrivate>
<PhonePrivate>PhonePrivate_0</PhonePrivate>
<EmployementStartDate>EmployementStartDate_0</EmployementStartDate>
<EmployementEndDate>EmployementEndDate_0</EmployementEndDate>
- <Contracts>
- <Contract>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Type>Type_0</Type>
<DissimelarCAO>DissimelarCAO_0</DissimelarCAO>
<PhaseID>PhaseID_0</PhaseID>
<PB_CAO>PB_CAO_0</PB_CAO>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Type>Type_0</Type>
<DissimelarCAO>DissimelarCAO_0</DissimelarCAO>
<PhaseID>PhaseID_0</PhaseID>
<PB_CAO>PB_CAO_0</PB_CAO>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Type>Type_0</Type>
<DissimelarCAO>DissimelarCAO_0</DissimelarCAO>
<PhaseID>PhaseID_0</PhaseID>
<PB_CAO>PB_CAO_0</PB_CAO>
</Contract>
</Contracts>
- <Functions>
- <Function>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Position>Position_0</Position>
<CostCenterCode>CostCenterCode_0</CostCenterCode>
<CostCenter>CostCenter_0</CostCenter>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Position>Position_0</Position>
<CostCenterCode>CostCenterCode_0</CostCenterCode>
<CostCenter>CostCenter_0</CostCenter>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<Position>Position_0</Position>
<CostCenterCode>CostCenterCode_0</CostCenterCode>
<CostCenter>CostCenter_0</CostCenter>
</Function>
</Functions>
- <Adresses>
- <Adress>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<StreetNumber>StreetNumber_0</StreetNumber>
<StreetNumberAddition>StreetNumberAddition_0</StreetNumberAddition>
<Street>Street_0</Street>
<ZipCode>ZipCode_0</ZipCode>
<City>City_0</City>
<Country>Country_0</Country>
<Type>Type_0</Type>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<StreetNumber>StreetNumber_0</StreetNumber>
<StreetNumberAddition>StreetNumberAddition_0</StreetNumberAddition>
<Street>Street_0</Street>
<ZipCode>ZipCode_0</ZipCode>
<City>City_0</City>
<Country>Country_0</Country>
<Type>Type_0</Type>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<StreetNumber>StreetNumber_0</StreetNumber>
<StreetNumberAddition>StreetNumberAddition_0</StreetNumberAddition>
<Street>Street_0</Street>
<ZipCode>ZipCode_0</ZipCode>
<City>City_0</City>
<Country>Country_0</Country>
<Type>Type_0</Type>
</Adress>
</Adresses>
- <Wages>
- <Wage>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<DissimelarZipCode>DissimelarZipCode_0</DissimelarZipCode>
<MAXKM>MAXKM_0</MAXKM>
<RightTravelHours>RightTravelHours_0</RightTravelHours>
<RightTravelExpense>RightTravelExpense_0</RightTravelExpense>
<RightAdditions>RightAdditions_0</RightAdditions>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<DissimelarZipCode>DissimelarZipCode_0</DissimelarZipCode>
<MAXKM>MAXKM_0</MAXKM>
<RightTravelHours>RightTravelHours_0</RightTravelHours>
<RightTravelExpense>RightTravelExpense_0</RightTravelExpense>
<RightAdditions>RightAdditions_0</RightAdditions>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<DissimelarZipCode>DissimelarZipCode_0</DissimelarZipCode>
<MAXKM>MAXKM_0</MAXKM>
<RightTravelHours>RightTravelHours_0</RightTravelHours>
<RightTravelExpense>RightTravelExpense_0</RightTravelExpense>
<RightAdditions>RightAdditions_0</RightAdditions>
</Wage>
</Wages>
- <Roosters>
- <Rooster>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<WeekAmountOfHours>WeekAmountOfHours_0</WeekAmountOfHours>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<WeekAmountOfHours>WeekAmountOfHours_0</WeekAmountOfHours>
<StartDate>StartDate_0</StartDate>
<EndDate>EndDate_0</EndDate>
<WeekAmountOfHours>WeekAmountOfHours_0</WeekAmountOfHours>
</Rooster>
</Roosters>
</ns0:Employee>
我希望 XML 的输出最旧 'EmployementStartDate'
min()
在 XPath 2.0 中可用但在 XPath 1.0 中不可用(尽管它可能在 Biztalk 中可用?)
你需要把所有地方的/[local-name()='x']
改成/*[local-name()='x']
。
构造 XXX/xs:date-time(.)
还需要 XPath 2.0。