You are here: Home > What's New > Upconversion

Upconversion

Oftentimes the rules for how some data is structured are:

If you don't have access to the person, or the book, or the source code then it can be difficult to make sense of the data and it is subject to misinterpretation.

Upconversion is about making structure explicit where it was previously implicit.

Take a simple example from mathematics:

    a + b * c

If you search through math books you can find this rule:

    Perform multiplication before addition. 

In the equation above that rule is implicit. If you don't have access to math books (and you forgot that rule from your math classes) then you may incorrectly process the equation.

The rule can be made explicit by adding some structuring symbols, namely parentheses:

    a + (b * c)

What was previously implicit has now been made explicit, i.e. the equation has been upconverted.

In the XML world we add markup to make the structure of data explicit. Consider this data:

    Origin of Wealth, Eric D. Beinhocker, 2006, 
    1-57851-777-X, Harvard Business School Press.

There are lots of implicit rules in how the data is structured:

If you don't know these implicit rules then it may be difficult to make sense of the data.

The structure can be made explicit by adding markup:

    <Book>
        <Title>Origin of Wealth</Title>
        <Author>Eric D. Beinhocker</Author>
        <Date>2006</Date>
        <ISBN>1-57851-777-X</ISBN>
        <Publisher>Harvard Business School Press</Publisher>
    </Book>

What was previously implicit has now been made explicit, i.e. the data has been upconverted.

Upconversion is also known as uptranslation.

Michael Kay has written an article on the facilities in XSLT 2.0 for doing upconversion.

Summary

Upconversion is about replacing external knowledge of the rules governing the structure by an explicit representation of the structure.

Acknowledgements

The following people contributed to the formation of this article:

Last Updated: August 22, 2009