xml – XSL if else条件
发布时间:2020-12-16 01:56:07 所属栏目:百科 来源:网络整理
导读:我有一个要求,我想有if语句检查一个节点是否有属性或它只有字符串。 例如:节点的1具有找到的0个文件,并且另一个具有诸如 autoincludesystem_info mdate = '08 / 23/2011'mtime = '09:51'ampm?? ='PM'filesize = '64'filename ='AFP_p.tgp'/ 下面是两个节
我有一个要求,我想有if语句检查一个节点是否有属性或它只有字符串。
例如:节点的1具有找到的0个文件,并且另一个具有诸如< autoincludesystem_info mdate = '08 / 23/2011'mtime = '09:51'ampm?? ='PM'filesize = '64'filename ='AFP_p.tgp'/> 下面是两个节点的示例 <product> <autoIncludeUser>0 File(s) found</autoIncludeUser> <autoIncludeSystem> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='3,879' filename='AnalystsExpressionMacros.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='475' filename='base64Converter.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='<DIR>' filename='codePages' /> </autoIncludeSystem> <autoIncludeStudio>0 File(s) found</autoIncludeStudio> <externalLibrarySystem> <externalLibrarySystem_info mdate='08/23/2011' mtime='09:52' ampm='PM' filesize='196,608' filename='AFPtoXML_DP.dll' /> <externalLibrarySystem_info mdate='08/23/2011' mtime='09:52' ampm='PM' filesize='13,259' filename='ASN1toXSDRunner.jar' /> <externalLibrarySystem> </product> 如何识别一个节点是否只有字符串或属性,并且基于我可以分别获得字符串或attrib值。
您可以将整个xsl:choose指令替换为:
<xsl:apply-templates select="autoIncludeSystem"/> 然后添加两个模板: <xsl:template match="autoIncludeSystem[autoincludesystem_info/@*]> <!-- code for elements with attributes (xsl:when) --> </xsl:template> <xsl:template match="autoIncludeSystem[not(autoincludesystem_info/@*)]> <!-- code for elements without attributes (xsl:otherwise) --> </xsl:template> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |