The following shows a simple ScalaServerPage:
//a ScalaServePage to render a http://clerezza.org/2009/05/usermanager#UserPermissionPage
def um(s: Any) = new UriRef("http://clerezza.org/2009/05/usermanager#"+s)
def perm(s: Any) = new UriRef("http://clerezza.org/2008/10/permission#"+s)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Permissions for user {res/um("user")/FOAF.name}</title>
</head>
<body>
{for (permission <- res/um("permission")) yield
<div id="permission">
{permission/perm("javaPermissionEntry")*}
</div>
}
</body>
</html>
The following iterates over an rdf:List represented by the root-resource
//a ScalaServePage to render a http://clerezza.org/2009/05/renderletmanager#RenderletManagerPage
def typerendering(s: Any) = new UriRef("http://clerezza.org/2009/04/typerendering#"+s)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Listing renderlets</title>
</head>
<body>
{for (renderlet <- res!!) yield
<div id="renderlet">
type: {renderlet*}
</div>
}
</body>
</html>
You can sort rdf:List using the sort-method:
//sorting the URIs of a http://clerezza.org/2009/05/renderletmanager#RenderletManagerPage
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Listing renderlets</title>
</head>
<body>
{for (renderlet <- (res!!).sort((a,b) => ((a*) < (b*)))) yield
<div id="renderlet">
type: {renderlet*}
</div>
}
</body>
</html>
same for properties:
//a ScalaServePage to render a http://clerezza.org/2009/05/usermanager#UserPermissionPage
//sorting by java-permission-entry
def um(s: Any) = new UriRef("http://clerezza.org/2009/05/usermanager#"+s)
def perm(s: Any) = new UriRef("http://clerezza.org/2008/10/permission#"+s)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Permissions for user {res/um("user")/FOAF.name}</title>
</head>
<body>
{for (permission <- (res/um("permission"))
.sort((a,b) => (a/perm("javaPermissionEntry")*) <
(b/perm("javaPermissionEntry")*))) yield
<div id="permission">
{permission/perm("javaPermissionEntry")*}
</div>
}
</body>
</html>