syndicate_utils/tests/xslt.pr

63 lines
1.4 KiB
Plaintext

<require-service <daemon xslt_actor>>
? <built xslt_actor ?path ?sum> [
<daemon xslt_actor {
argv: [$path]
protocol: application/syndicate
env: { BUILD_SUM: $sum }
}>
]
let ?ds = dataspace
? <service-object <daemon xslt_actor> ?cap> $cap [
<xslt { dataspace: $ds }>
]
let ?stylesheet = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">
<xsl:output method=\"xml\" indent=\"yes\" encoding=\"UTF-8\"/>
<xsl:template match=\"/persons\">
<html>
<head>
<title>Testing XML Example</title>
</head>
<body>
<h1>Persons</h1>
<ul>
<xsl:apply-templates select=\"person\">
<xsl:sort select=\"family-name\"/>
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match=\"person\">
<li>
<xsl:value-of select=\"family-name\"/>
<xsl:text>, </xsl:text>
<xsl:value-of select=\"name\"/>
</li>
</xsl:template>
</xsl:stylesheet>
"
let ?input = "<?xml version=\"1.0\"?>
<persons>
<person username=\"JS1\">
<name>John</name>
<family-name>Smith</family-name>
</person>
<person username=\"MI1\">
<name>Morka</name>
<family-name>Minicus</family-name>
</person>
</persons>
"
$ds [
? <xslt-transform $stylesheet $input ?outputs> [
$log ! <log "-" { xslt-outputs: $outputs }>
]
]