Portal-to-Go's primære funktion er at konvertere XML-dokumenter så de kan vises på en vilkårlig enhed. XML-dokumenter er dog en fællesbetegnelse for en masse forskellige typer dokumenter, og det er ikke muligt at kende alle typer. Portal-to-Go har derfor sin egen type XML-dokumenter med egne tags (DTD), og forstår kun dem.
Et PtG-XML-dokument består af en række grafiske elementer der skal vises på modtager-apparatet. Det kan eksempelvis være en tekst-stump, et indtastningsfelt, et billede eller en menu. Man bygger sin side op af disse simple objekter og PtG sørger for at de vises rigtigt på de forskellige enheder. Herunder vises de objekter/tags man kan bruge i et PtG-XML-dokument (DTD'en):
Nogle objekter skal være inde i andre. Eksempelvis skal et simpleMenuItem være i en simpleMenu. Hvis man placerer objekter forkert vil XML-dokumentet blive afvist.
Her er et lille eksempel på en side, vist som XML, som det hierarki af oplysninger XML'en beskriver, og en simpel oversættelse til HTML. Siden indeholder en menu med to punkter og et indtastningsfelt.
<?xml version = '1.0' encoding = 'UTF-8'?>
<SimpleResult>
<SimpleMenu name="test-menu" title="">
<SimpleMenuItem target="targetURL 1">
menu-punkt 1
</SimpleMenuItem>
<SimpleMenuItem target="targetURL 2">
menu-punkt 2
</SimpleMenuItem>
</SimpleMenu>
<SimpleForm name="test-form" target="targetURL">
<SimpleFormItem name="form-item name" emptyok="true" value="defaultValue" title="text">
text
</SimpleFormItem>
</SimpleForm>
</SimpleResult>
|
XML-dokumentet beskriver en struktur af oplysninger. Der er et SimpleResult der indeholder en SimpleMenu og en SimpleForm, som igen indeholder nogle Items, som har nogle attributter. Det kan tegnes som en træstruktur af informationer.
Portal-to-Go konverterer så XML'en til det ønskede format, eksempelvis HTML. Der er dog mange måder man kan ønske sin HTML skal se ud, så dette er bare et simpelt eksempel. Man kunne i sit XSL tilføje en masse smarte visuelle effekter og billeder. Dette er altså bare et simpelt eksempel.
<A HREF="targetURL 1">menu-punkt 1</A><BR> <A HREF="targetURL 2">menu-punkt 2</A><BR> <FORM> <INPUT TYPE="text" VALUE="defaultValue"> <INPUT TYPE="submit" VALUE="OK"> </FORM> |
menu-punkt 1 menu-punkt 2 |
Det kan umiddelbart virke besværligt, at siderne skal skrives i XML og konverteres til HTML via XSL. Men hvis man eksempelvis har 1000 sider, er det noget nemmere at tilføje et nyt stylesheet end at ændre på samtlige sider. Man vil samtidig kunne få vist siderne på den gamle måde, uden at skulle have begge versioner liggende, og optage plads. Siderne kan vises på eksempelvis 10 forskellige måder, men siderne ligger der kun een gang.
Det er standarderne XML og XSL, der gør det muligt at præsentere sider forskelligt. Portal-to-Go er bare en implementation af det system, der hjælper programmøren med noget af det hårde arbejde.