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>