我正在尝试获取LandLine_ExtId属性操作的基础的最大值和最小值。返回操作值 = DEL 的Landline_ExtId的最大值为错误
XML 输入
<Landline_ExtId action='add'>771534777880</Landline_ExtId>
<Landline_ExtId action='add'>771534777881</Landline_ExtId>
<Landline_ExtId action='add'>771534777882</Landline_ExtId>
<Landline_ExtId action='add'>771534777883</Landline_ExtId>
<Landline_ExtId action='add'>771534777884</Landline_ExtId>
<Landline_ExtId action='add'>771534777885</Landline_ExtId>
<Landline_ExtId action='add'>771534777886</Landline_ExtId>
<Landline_ExtId action='add'>771534777887</Landline_ExtId>
<Landline_ExtId action='add'>771534777888</Landline_ExtId>
<Landline_ExtId action='add'>771534777889</Landline_ExtId>
<Landline_ExtId action='del'>551534882800</Landline_ExtId>
<Landline_ExtId action='del'>551534882801</Landline_ExtId>
<Landline_ExtId action='del'>551534882802</Landline_ExtId>
<Landline_ExtId action='del'>551534882803</Landline_ExtId>
<Landline_ExtId action='del'>551534882804</Landline_ExtId>
<Landline_ExtId action='del'>551534882805</Landline_ExtId>
<Landline_ExtId action='del'>551534882806</Landline_ExtId>
<Landline_ExtId action='del'>551534882807</Landline_ExtId>
<Landline_ExtId action='del'>551534882808</Landline_ExtId>
<Landline_ExtId action='del'>551534882809</Landline_ExtId>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:element name="getMaxOld">
<xsl:value-of select="/Data/Landline_ExtId[not(. < /Data/Landline_ExtId[@action='del'])][1]"/>
</xsl:element>
<xsl:element name="getMinOld">
<xsl:value-of select="/Data/Landline_ExtId[not(. > /Data/Landline_ExtId[@action='del'])][1]"/>
</xsl:element>
<xsl:element name="getMaxNew">
<xsl:value-of select="/Data/Landline_ExtId[not(. < /Data/Landline_ExtId[@action='add'])][1]"/>
</xsl:element>
<xsl:element name="getMinNew">
<xsl:value-of select="/Data/Landline_ExtId[not(. > /Da ta/Landline_ExtId[@action='add'])][1]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
我得到了错误的 GetMaxOld 值。而不是551534882809,771534777880被返回
在查找最小值和最大值时缺少谓词[@action='del']
,请参阅下一步:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<data>
<getMaxOld>
<xsl:value-of select="/Data/Landline_ExtId[@action='del'][not(. < /Data/Landline_ExtId[@action='del'])][1]"/>
</getMaxOld>
<getMinOld>
<xsl:value-of select="/Data/Landline_ExtId[@action='del'][not(. > /Data/Landline_ExtId[@action='del'])][1]"/>
</getMinOld>
<getMaxNew>
<xsl:value-of select="/Data/Landline_ExtId[@action='add'][not(. < /Data/Landline_ExtId[@action='add'])][1]"/>
</getMaxNew>
<getMinNew>
<xsl:value-of select="/Data/Landline_ExtId[@action='add'][not(. > /Data/Landline_ExtId[@action='add'])][1]"/>
</getMinNew>
</data>
</xsl:template>
</xsl:stylesheet>
在此 XML 上应用时:
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<Landline_ExtId action='add'>771534777880</Landline_ExtId>
<Landline_ExtId action='add'>771534777881</Landline_ExtId>
<Landline_ExtId action='add'>771534777882</Landline_ExtId>
<Landline_ExtId action='add'>771534777883</Landline_ExtId>
<Landline_ExtId action='add'>771534777884</Landline_ExtId>
<Landline_ExtId action='add'>771534777885</Landline_ExtId>
<Landline_ExtId action='add'>771534777886</Landline_ExtId>
<Landline_ExtId action='add'>771534777887</Landline_ExtId>
<Landline_ExtId action='add'>771534777888</Landline_ExtId>
<Landline_ExtId action='add'>771534777889</Landline_ExtId>
<Landline_ExtId action='del'>551534882800</Landline_ExtId>
<Landline_ExtId action='del'>551534882801</Landline_ExtId>
<Landline_ExtId action='del'>551534882802</Landline_ExtId>
<Landline_ExtId action='del'>551534882803</Landline_ExtId>
<Landline_ExtId action='del'>551534882804</Landline_ExtId>
<Landline_ExtId action='del'>551534882805</Landline_ExtId>
<Landline_ExtId action='del'>551534882806</Landline_ExtId>
<Landline_ExtId action='del'>551534882807</Landline_ExtId>
<Landline_ExtId action='del'>551534882808</Landline_ExtId>
<Landline_ExtId action='del'>551534882809</Landline_ExtId>
</Data>
它为您提供下一个输出:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<getMaxOld>551534882809</getMaxOld>
<getMinOld>551534882800</getMinOld>
<getMaxNew>771534777889</getMaxNew>
<getMinNew>771534777880</getMinNew>
</data>