Bonjour,
j'utilise Xalan-c pour transformer la sortie XML de nmap -sn -PR -X - 192.168.1.0/24 avec cette feuille de style XSLT, constituée de ce que j'ai trouvé sur le net (#laCréature ), parce que je ne pratique pas XSL tous les jours.
sans l'appel à la fonction, le code fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?xml version="1.1"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:foo="http://example.com/foo"> <xsl:output method="text" encoding="utf-8"/> <xsl:variable name="spaces" select="' '" /> <xsl:function name="foo:Fonc"> <xsl:param name="prm" /> <xsl:value-of select="substring( concat($prm, $spaces), 1 , 18)"/> </xsl:function> <xsl:template match="nmaprun"> <xsl:apply-templates select="host"> <xsl:sort select="concat(address/@addrtype,address/@addr)" order="ascending" /> </xsl:apply-templates> </xsl:template> <xsl:template match="host"> <xsl:value-of select="foo:Fonc(hostnames/hostname/@name)"/> <!--ça, "ça marche" <xsl:value-of select="substring( concat(hostnames/hostname/@name, $spaces), 1 , 18)"/>--> </xsl:template> </xsl:stylesheet>
avec cet appel, la sortie est Erreur de segmentation (core dumped).
sauriez-vous me montrer et/ou m'expliquer mon erreur ?
Partager