Beste tweakers,
Ik ben momenteel bezig met het maken van een xslt die een xml omzet naar html. Omdat de oorspronkelijk xml ook html opmaak bevat, hebben we vaak last van "opmaak artifacten". Ik wil die nu proberen weg te poetsen via een simpel javascriptje.
Via deze link heb ik iets gevonden wat mij bruikbaar lijkt. Alleen ik struikel weer eens over namespaces heen en ik krijg het niet gevonden waar ik een afslag mis.
Dit is de code:
de foutmelding die ik krijg: Namespace 'http://www.example.com/results' does not contain any functions
Ik heb al lopen spelen met namespaces maar ik die exact hetzelfde als het voorbeeld van de site. Ik weet dat ik version="1.0" niet heb staan in de xsl:stylesheet tag, maar daarop kreeg ik dat de xsl invalide is, en had ik voor deze toevoeging er ook niet in staan... Ik ben clueless op het moment... Alvast enorm bedankt!
PSje: ik weet dat ik via CSS ook stijlen kan negeren en dat heb ik zelfs al werkende, maar daar kleven wat nadelen aan, waardoor ik liever deze methode gebruik
Ik ben momenteel bezig met het maken van een xslt die een xml omzet naar html. Omdat de oorspronkelijk xml ook html opmaak bevat, hebben we vaak last van "opmaak artifacten". Ik wil die nu proberen weg te poetsen via een simpel javascriptje.
Via deze link heb ik iets gevonden wat mij bruikbaar lijkt. Alleen ik struikel weer eens over namespaces heen en ik krijg het niet gevonden waar ik een afslag mis.
Dit is de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:result="http://www.example.com/results" extension-element-prefixes="result">
<xsl:output method="html" encoding="UTF-8"/>
<lxslt:component prefix="result" elements="rules" functions="stripStyles">
<lxslt:script lang="javascript">
function stripStyles (strToStrip) {return "it works!";}
</lxslt:script>
</lxslt:component>
<xsl:template match="items[@td_type='testset']">
... hoop dingen die niet relevant zijn...
</xsl:template>
<xsl:template match="item[contains(@title, 'Test Set ID (')]">
...snip...
<xsl:for-each select="subitems[@title='Contained Tests']/item">
..snip...
<xsl:for-each select="subitems/item">
<td><xsl:value-of select="result:stripStyles(string(item_field[@dbid='ds_description']))"/></td> |
de foutmelding die ik krijg: Namespace 'http://www.example.com/results' does not contain any functions
Ik heb al lopen spelen met namespaces maar ik die exact hetzelfde als het voorbeeld van de site. Ik weet dat ik version="1.0" niet heb staan in de xsl:stylesheet tag, maar daarop kreeg ik dat de xsl invalide is, en had ik voor deze toevoeging er ook niet in staan... Ik ben clueless op het moment... Alvast enorm bedankt!
PSje: ik weet dat ik via CSS ook stijlen kan negeren en dat heb ik zelfs al werkende, maar daar kleven wat nadelen aan, waardoor ik liever deze methode gebruik