XSL si la condition else

J'ai une exigence où j'aimerais avoir si d'autre instruction pour vérifier si un nœud possède les attributs d'ou il vient de chaîne.

Par exemple: 1 du nœud a 0 File(s) found et l'autre a attribs comme <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' />

Ci-dessous est un échantillon de deux nœuds

<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='&lt;DIR&gt;' 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>

Comment puis-je déterminer si un nœud a juste les cordes ou les attribs et, d'après ce que je peux obtenir les valeurs String ou attrib values respectivement.

  • Bonne question, +1. Voir ma réponse pour un seul XPath 1.0 expression qui met en œuvre le voulait if then else logique. 🙂 J'ai fourni une transformation XSLT-vérification et une explication détaillée.
  • Ajout également d'une XPath 2.0 solution.
  • Après avoir pris un coup d'oeil à votre XML, vous devez utiliser xs:dateTime et xs:long au lieu de la merde, American-style de types.
InformationsquelleAutor abi1964 | 2011-08-30