2017-11-21 8 views
0

の一部ではないI次のXMLがありますXSLTは、選択したときに、リスト

<?xml version="1.0" encoding="UTF-8"?> 
<pi:Payroll_Extract_Employees xmlns:pi="urn:com.workday/picof"> 
    <pi:company> 
     <pi:employee> 
     <pi:name>John</pi:name> 
     <pi:division>Accounting</pi:division> 
     </pi:employee> 
     <pi:employee> 
     <pi:name>Will</pi:name> 
     <pi:division>IT</pi:division> 
     </pi:employee> 
     <pi:employee> 
     <pi:name>Robert</pi:name> 
     <pi:division>Finance</pi:division> 
     </pi:employee> 
    </pi:company> 
</pi:Payroll_Extract_Employees> 

私は会計やIT部門では動作しないすべての従業員を反復するために、各ループを使用したいと思いますが。私はそのために、このコードを使用します

<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pi="urn:com.workday/picof"> 
    <xsl:output method="text"/> 

    <xsl:template match="pi:Payroll_Extract_Employees/pi:company"> 

     <xsl:for-each select="pi:employee[pi:division !=('Accounting','IT')]"> 
      <xsl:value-of select="pi:name"/> 
     </xsl:for-each> 

    </xsl:template> </xsl:stylesheet> 

をしかし、それはすべての従業員を出力し、それは私が欲しいものを手に入れるために、それぞれの文の中での選択を変更することが可能です。そこに否定を使用したいと思います。

答えて

0

AccountingでもITでもないことを表現するために"pi:employee[not(pi:division =('Accounting','IT'))]を使用してください。

関連する問題