Chapter 12. Conditional Processing

If you are familiar with programming or scripting languages, you have no doubt seen statements that allow a program to make decisions based on Boolean logic. Such statements execute when a given condition proves to be true or false.

Here’s a brief illustration. If you started computing before the mouse and the graphical user interface were around, like me, you might recognize the following statement written in FORTRAN 77:

IF(POPULATION .GT. 10000000) THEN
  PRINT *, NAME
END IF

In plain English, this statements says: if the value of the variable POPULATION is greater than 10,000,000, print the value associated with the NAME variable.

You could expand this statement to optionally perform a step if the first statement is false:

IF(POPULATION .GT. 10000000) THEN
  PRINT *, NAME
ELSE IF(POPULATION .LT. 10000000) THEN
  PRINT *, MSG
  PRINT *, NAME
END IF

In this statement, if the POPULATION is not greater than 10,000,000, and is less than 10,000,000, the program will print the value in the MSG variable as well as the value in NAME.

In Java, you can write an if statement like this:

if (population > 10000000)
    System.out.println(name)

Or, to handle the situation when the first statement is not true, you could write:

if (population > 10000000) {
    System.out.println(name);
} else if (population < 10000000) {
    System.out.println(msg);
    System.out.println(name);
}

XSLT likewise offers several elements that allow you to perform Boolean logic inside stylesheets using the if and ...

Get Learning XSLT now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.