Webkurs
Templates
Den viktigste prinsippielle forskjellen mellom de to måtene å lage vevstedet på (WXT og .NET) er måten innholdet plasseres i templaten (Masterpage).
WXT
I WXT gjøres dette i en byggeprosess der XPATH-uttrykk brukes til å hente inn innhold til en template og produsere faste sider. Mekanismen er Processing Instructions som er lovlige XML-uttrykk. I en template
<div> <?_wxt import xpath="//div[@id='mainblock']/*"?> </div>
I en innholdsfil finner vi matcen slik:
<div class="mainblock"> <p> innhold..... </p> </div>
WXT har altså en strategi der templaten er utgangspunktet og innholdet hentes inn.
.Net
I .Net gjøres jobben dynamisk ved hjelp av webkontrollene: asp:contentplaceholder på masterpage og asp:Content på innholdsside. Sistenevnte referer til en placeholder i Masterpage.
På en masterpage:
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder>
På en innholdsside:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <p> Innhold ... </p> </asp:Content>
Vi ser at referansen går motsatt vei.
Sitemap
En annen forskjell er at i WXT lages vevstedstrukturen i det XML-skriptet som driver hele byggeprosessen, mens i .Net lages strukturen i en sitemap, som også er en XML-fil, som brukes under den dynamiske byggingen.
WXT
Et skript i WXT inneholder i prinsipp alt som er nødvendig for å bygge. Vi ser at skriptet nedenfor innholder definisjoner av det som er kalt propertie. Slike XML-fragmenter kan hentes inn og plasseres hvor som helst på sidene og opptrer som en slags konstanter. Vi ser også at vi definerer templates. Skriptet i WXT ser slik ut.:
<?xml version="1.0" encoding="ISO-8859-1"?>
<script version="1.0">
<property name="pub_address">
<a href="http://www.it.hiof.no/~borres/dnkurs">
http://www.it.hiof.no/~borres/dnkurs
</a>
</property>
<property name="fagref">
<a href="http://www.it.hiof.no/~borres/dn">BS: .Net/C#</a><br/>
<a href="http://www.it.hiof.no/~borres/ml">BS: XML etc.</a><br/>
</property>
<property name="forum">
<a href="http://webboard.hiof.no/"
title="external link" class="external" >WebBoard</a><br/>
</property>
<property name="navigare">
<div style="text-align:right">
<span class="prev"><?_wxt xref pageid="_prev" image="gfx/prev.gif"?></span>
<span class="home"><?_wxt xref pageid="_home" image="gfx/home.gif"?></span>
<span class="next"><?_wxt xref pageid="_next" image="gfx/next.gif"?></span>
</div>
</property>
<group name=".Net" location="_scriptpath">
<addressing tagname="script" attribute="src"/>
<description>Kursgjennomføring .Net</description>
<commons name="gfx" location="../common/kurssites/gfx/"/>
<template name="P" location="../common/kurssites/templates/p_template.xml"/>
<template name="I" location="../common/kurssites/templates/i_template.xml"/>
<property name="keywords">.net,c#</property>
<page name="Om kurset" template="P" location="pages/p-kurs.html">
<description>Kursplan, samlinger og frister</description>
<content location="blocks\b-kurs.xml"/>
</page>
<page name="Aktuelt" template="I" location="index.html">
<description>Informasjon om aktuell kursgjennomføring</description>
<content location="blocks\b-aktuelt.xml"/>
</page>
<page name="Ressurser" template="P" location="pages/p-ressusrer.html">
<description>Ressurser i kurset</description>
<content location="blocks\b-ressurser.xml"/>
</page>
<page name="Arbeidsform" template="P" location="pages/p-oppgave.html">
<description>Beskrivelse av prosjektarbeidet i kurset</description>
<content location="blocks\b-oppgave.xml"/>
</page>
</group>
</script>
.Net
siteMap i .Net ser slik ut:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="" description="" >
<siteMapNode url="Omkurset.aspx" title="Om kurset" description="" />
<siteMapNode url="Default.aspx" title="Velkommen" description="" />
<siteMapNode url="Arbeidsform.aspx" title="Arbeidsform" description="" />
<siteMapNode url="Ressurser.aspx" title="Ressurser" description="" />
</siteMapNode>
</siteMap>