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 choose instruction elements. An if element works similarly to an if statement in Java, and a choose element, with its children when and otherwise, works like an if-else statement. I'll start out by exploring ways to use the if element. For more information on if and choose, see Section 9 of the XSLT specification. |