Progressive Dokumente lassen sich mit dem Handler pxml.ashx aufrufen, welcher den folgenden Aufbau hat:

http(s)://[Hostname]/(Webanwendung)/pxml.ashx?id=[Pfad zum Datenobjekt]&method=[Methode](&[Parameter]=[Wert])*

In dem folgenden Beispiel wird die progressive XML Methode test mit dem Parameter language aufgerufen:

https://learn.onion.net/preview/pxml.ashx?id=onion://data/objects/1&method=test&language=de

Bei progressiven Dokumenten wird der Inhalt erst zum Zeitpunkt der Nutzung aufgebaut. Dies ermöglicht den Aufbau von beliebig tiefen Element. An dem folgenden Beispiel wird die Nutzung der Dokumente erläutert.

Ein Buch wird wie in der folgenden XML dargestellt abgelegt.

<book>
<name>XML: Extensible Markup Language von Anfang an</name>
<author>Helmut Erlenkötter</author>
<release>Helmut Vonhoegen</release>
<similar>onion://data/objects/14153</similar>
<similar>onion://data/objects/14155</similar>
</book>

Das XML Objekt des Buches enthält genau einen Namen, welcher der Titel des Buches ist, einen Autor und einen Veröffentlichungstermin. Darüber hinaus kann das Objekt beliebig viele Verlinkungen auf ähnliche Bücher beinhalten.

Aus diesen Informationen wird nun ein progressives Dokument aufgebaut.

Die Informationen des Buches sollen direkt angezeigt werden, die Informationen ähnlicher Bücher sollen jedoch erst bei Bedarf zur Verfügung stehen. Für diesen Zweck wird die XML Methode book mit dem folgenden Inhalt angelegt.

<xsl:stylesheet xmlns:pro="http://onionworks.net/2004/xml/progressive" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:onion="http://onionworks.net/2004/data" version="1.0">
<xsl:template match="/">
<book title="{book/name}" author="{book/author}" release="{book/release}">
<xsl:for-each select="book/similar">
<similar pro:mode="embed" pro:href="{c.xlink(.,'book')}" />
</xsl:for-each>
</book>
</xsl:template>
</xsl:stylesheet>

Diese Methode legt das Root-Element object mit den Attributen title, author und release an. Unter dem Element object befinden sich Elemente vom Typ similiar in der Anzahl der ähnlichen Bücher. Damit diese Elemente erst beim Bedarf aufgebaut werden, sind die Attribute pro:mode und pro:href notwendig. Dazu ist die Namensraumerweiterung xmlns:pro="http://onionworks.net/2004/xml/progressive" notwendig.

Das Attribute pro:mode kann die Werte replace oder embed enthalten. Der Wert replace führt zu einer Überschreibung des Elementes. Der Wert embed führt jedoch zum Anhang der neuen Daten. Dem Attribute pro:href ist der mit der Methode c.xlink erstellte link auf das zu öffende Objekt und deren Methode zu übergeben.

Beim Ausführen der Methode book erhält man zu Beginn das folgende XML:

<book title="XML: Extensible Markup Language von Anfang an" author="Helmut Erlenkötter" release="2003">
<similar pro:mode="embed" pro:href="onion://data/objects/14153#book" />
<similar pro:mode="embed" pro:href="onion://data/objects/14155#book" />
</book>

Werden die ähnlichen Bücher benötigt, so werden diese zu diesem Zeitpunkt aufgebaut. In dem folgenden Beispiel wurden die Daten des ersten ähnlichen Buches benötigt:

<book title="XML: Extensible Markup Language von Anfang an" author="Helmut Erlenkötter" release="2003">
<similar pro:mode="embed" pro:href="onion://data/objects/14153#book">
<book title="Einstieg in XML: Aktuelle Standards: XML Schema, XSL, XLink (Galileo Computing)" author="Helmut Vonhoegen" release="2009">
<similar pro:mode="embed" pro:href="onion://data/objects/14155#book" />
<similar pro:mode="embed" pro:href="onion://data/objects/14151#book" />
</book>
</similar>
<similar pro:mode="embed" pro:href="onion://data/objects/14155#book" />
</book>

Die Daten des ersten ähnlichen Buches stehen nun zur Verfügung und können genutzt werden.