Appendix
CyberArk to FortiSIEM Log Converter XSL
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href='./Syslog/RFC5424Changes.xsl'/>
<xsl:output method="text" version="1.0" encoding="UTF-8" />
<xsl:template match="/">
<xsl:apply-imports />
<xsl:for-each select="syslog/audit_record">
<xsl:text>CYBERARK: Product="</xsl:text>
<xsl:value-of select="Product" />
<xsl:text>"</xsl:text>
<xsl:text>;Version="</xsl:text>
<xsl:value-of select="Version" />
<xsl:text>"</xsl:text>
<xsl:text>;Hostname="</xsl:text>
<xsl:value-of select="Hostname" />
<xsl:text>"</xsl:text>
<xsl:text>;MessageID="</xsl:text>
<xsl:value-of select="MessageID" />
<xsl:text>"</xsl:text>
<xsl:text>;Message="</xsl:text>
<xsl:value-of select="Message" />
<xsl:text>"</xsl:text>
<xsl:choose>
<xsl:when test="Desc!=''">
<xsl:text>;Desc="</xsl:text>
<xsl:value-of select="Desc" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Action!=''">
<xsl:text>;Action="</xsl:text>
<xsl:value-of select="Action" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Location!=''">
<xsl:text>;Location="</xsl:text>
<xsl:value-of select="Location" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:text>;Issuer="</xsl:text>
<xsl:value-of select="Issuer" />
<xsl:text>"</xsl:text>
<xsl:choose>
<xsl:when test="Station!=''">
<xsl:text>;Station="</xsl:text>
<xsl:value-of select="Station" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="File!=''">
<xsl:text>;File="</xsl:text>
<xsl:value-of select="File" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Safe!=''">
<xsl:text>;Safe="</xsl:text>
<xsl:value-of select="Safe" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Category!=''">
<xsl:text>;Category="</xsl:text>
<xsl:value-of select="Category" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="RequestId!=''">
<xsl:text>;RequestId="</xsl:text>
<xsl:value-of select="RequestId" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Reason!=''">
<xsl:text>;Reason="</xsl:text>
<xsl:value-of select="Reason" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="SeverityCategory!=''">
<xsl:text>;Severity="</xsl:text>
<xsl:value-of select="Severity" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="GatewayStation!=''">
<xsl:text>;GatewayStation="</xsl:text>
<xsl:value-of select="GatewayStation" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="SourceUser!=''">
<xsl:text>;SourceUser="</xsl:text>
<xsl:value-of select="SourceUser" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="TargetUser!=''">
<xsl:text>;TargetUser="</xsl:text>
<xsl:value-of select="TargetUser" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="TicketID!=''">
<xsl:text>;TicketID="</xsl:text>
<xsl:value-of select="TicketID" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="LogonDomain!=''">
<xsl:text>;LogonDomain="</xsl:text>
<xsl:for-each select="CAProperties/CAProperty">
<xsl:if test="@Name='LogonDomain'">
<xsl:value-of select="@Value" />
</xsl:if>
</xsl:for-each>
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Address!=''">
<xsl:text>;Address="</xsl:text>
<xsl:for-each select="CAProperties/CAProperty">
<xsl:if test="@Name='Address'">
<xsl:value-of select="@Value" />
</xsl:if>
</xsl:for-each>
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="CPMStatus!=''">
<xsl:text>;CPMStatus="</xsl:text>
<xsl:for-each select="CAProperties/CAProperty">
<xsl:if test="@Name='CPMStatus'">
<xsl:value-of select="@Value" />
</xsl:if>
</xsl:for-each>
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="Database!=''">
<xsl:text>;Database="</xsl:text>
<xsl:for-each select="CAProperties/CAProperty">
<xsl:if test="@Name='Database'">
<xsl:value-of select="@Value" />
</xsl:if>
</xsl:for-each>
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="DeviceType!=''">
<xsl:text>;DeviceType="</xsl:text>
<xsl:for-each select="CAProperties/CAProperty">
<xsl:if test="@Name='DeviceType'">
<xsl:value-of select="@Value" />
</xsl:if>
</xsl:for-each>
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="ExtraDetails!=''">
<xsl:text>;ExtraDetails="</xsl:text>
<xsl:value-of select="ExtraDetails" />
<xsl:text>"</xsl:text>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet>