[Contents] [Prev] [Next] [Index] [Report an Error]

Example: Generating a Custom Error Message

Using a commit script, write a custom error message that appears when the description statement is not included at the [edit interfaces t1-fpc/pic/port] hierarchy level:

XSLT Syntax

<?xml version="1.0" standalone="yes"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:junos="http://xml.juniper.net/junos/*/junos"
    xmlns:xnm="http://xml.juniper.net/xnm/1.1/xnm"
    xmlns:jcs="http://xml.juniper.net/junos/commit-scripts/1.0">

    <xsl:import href="../import/junos.xsl"/>

    <xsl:template match="configuration">
        <xsl:variable name="interface" select="interfaces/interface"/>
        <xsl:for-each select="$interface[starts-with(name, 't1-')]">
            <xsl:variable name="ifname" select="."/>
            <xsl:if test="not(description)">
                <xnm:error>
                    <xsl:call-template name="jcs:edit-path"/>
                    <xsl:call-template name="jcs:statement"/>
                    <message>Missing a description for this T1 interface.</message>
                </xnm:error>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

SLAX Syntax

version 1.0;

ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";

import "../import/junos.xsl";
match configuration {
    var $interface = interfaces/interface;

    for-each ($interface[starts-with(name, 't1-')]) {
        var $ifname = .;

        if (not(description)) {
            <xnm:error> {
                call jcs:edit-path();
                call jcs:statement();
                <message> "Missing a description for this T1 interface.";
            }
        }
    }
}

[Contents] [Prev] [Next] [Index] [Report an Error]