【发布时间】:2020-07-23 20:11:37
【问题描述】:
以下是示例 XML:
<?xml version='1.0' encoding='UTF-8'?>
<wd:Report_Data xmlns:wd="urn:com.workday.report/Data_Split_File">
<wd:Report_Entry>
<wd:Flag>H</wd:Flag>
<wd:Userid>123456</wd:Userid>
<wd:FirstName>Alex</wd:FirstName>
<wd:LastName>Ruther</wd:LastName>
<wd:businessTitle>Tech Analyst</wd:businessTitle>
<wd:WorkerType wd:Descriptor=" Support_Worker ">
<wd:ID wd:type="WID">e258987456fc25845bbaf243f62fb910</wd:ID>
<wd:ID wd:type="Employee_Type_ID">Support_Worker</wd:ID>
</wd:WorkerType>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Flag>T</wd:Flag>
<wd:Userid>7891011</wd:Userid>
<wd:FirstName>Wafer</wd:FirstName>
<wd:MiddleName>Glader</wd:MiddleName>
<wd:LastName>Tiles</wd:LastName>
<wd:businessTitle>Tech Advisor</wd:businessTitle>
<wd:WorkerType wd:Descriptor=" Daily_Worker ">
<wd:ID wd:type="WID">e369852147fc564897bbaf243f62fb910</wd:ID>
<wd:ID wd:type="Employee_Type_ID">Daily_Worker</wd:ID>
</wd:WorkerType>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Flag>O</wd:Flag>
<wd:Userid>1213141</wd:Userid>
<wd:FirstName>Federal</wd:FirstName>
<wd:MiddleName>Mark</wd:MiddleName>
<wd:LastName>Coupon</wd:LastName>
<wd:businessTitle>Tech Analyst</wd:businessTitle>
<wd:WorkerType wd:Descriptor=" Hourly_Worker ">
<wd:ID wd:type="WID">e55898456fc25896bbaf243f62fb910</wd:ID>
<wd:ID wd:type="Employee_Type_ID">Hourly_Worker</wd:ID>
</wd:WorkerType>
</wd:Report_Entry>
</wd:Report_Data>
我正在尝试编写如下条件,使用标志“O”和工作类型过滤 XML “Daily_Worker”和“Hourly_Worker”,但在过滤工人类型时发现问题。
<xsl:if test="wd:Flag ='O' or wd:WorkerType/wd:ID/wd:type=Employee_Type_ID" != ' Support_Worker '">
我们如何过滤具有多个节点的工作类型?
【问题讨论】:
-
我修复了您的源 XML 以使其格式良好。如果您的真实 XML 与此不同,则必须更改您的 XML。
标签: xslt-1.0 xslt-2.0 xslt-3.0