所以我在这里有这个功能
<xsl:function name="fn:role-rank" as="xs:integer">
<xsl:param name="role" as="xs:string"/>
<xsl:sequence select="index-of(('Faculty', 'Adjunct Faculty', 'Staff'), $role)"/>
</xsl:function>
......并且做的是按照他们的头衔安排员工..首先展示教师,然后是辅助教员,然后是员工。它是唯一的问题,如果有人的标题不同于那三个分页符。
我希望它能做的是,如果有人拥有不同的头衔,那么下一步就是工作人员。
非常感谢任何帮助!
答案 0 :(得分:1)
您可以检查返回计数加上未找到的任何role
的已知值序列中的1:
<xsl:function name="fn:role-rank" as="xs:integer">
<xsl:param name="role" as="xs:string"/>
<xsl:variable name="known-titles"
as="xs:string*"
select="('Faculty', 'Adjunct Faculty', 'Staff')"/>
<xsl:sequence select="(index-of($known-titles, $role),
count($known-titles) + 1)[1]"/>
</xsl:function>
答案 1 :(得分:1)
还有一种旧技术,即在要搜索的序列的末尾放置所需值的副本:
"Given request user1
When method post
Then status 201
Given path response.id
When method get"
Then response == {id:'123', name:'Bill'} etc.