A Strong Mathematical Background

This pattern-based approach is both new and old. It’s new in the sense that the idea of patterns has been applied to XML in RELAX and now in RELAX NG. It’s old because it is the adaptation of techniques and theories developed around regular expressions in the 1960s. The name “RELAX,” which stands for REgular LAnguage for XML, suggests this related nature. (“NG” stands for New Generation.) RELAX NG relies on both the strong mathematical theory underlying regular expressions and on additional work done by Murata Makoto, which adapts the mathematical concept of “hedges” to XML.

When I asked Murata Makoto, one of the fathers of RELAX NG, my first questions, he kindly pointed me to the details of his work. I was shocked to see that I had forgotten all the mathematics I had learned at school. I couldn’t understand a word of it. Fortunately, I can assure you that you won’t need to understand hedges or any of the other math behind RELAX NG. Nevertheless, it’s very comforting to know that the schema language you are using has an elegant mathematical background. It ensures that the design will work, and work well. While the math behind it is difficult, the results it produces are surprisingly intuitive.

In keeping with its mathematical foundation, RELAX NG patterns are defined as logical operations performed on sets of XML structures. This gives the specification a formalism that removes any possibility of ambiguous interpretation. The lack of ambiguity is incredibly ...

Get RELAX NG now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.