

|
RSS 1.0形式のXMLタグを解析しHTMLに変換するXSLTサンプルソース。 |
|
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:purl="http://purl.org/rss/1.0/"
version="1.0">
<xsl:template match="/">
<html><head><title>RSS/RDF</title></head><body>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#ddddee">
<tr>
<th colspan="3" bgcolor="#ddddee">
<xsl:value-of select="/rdf:RDF/purl:channel/purl:title" />
</th>
</tr>
<xsl:apply-templates select="/rdf:RDF/purl:item" />
</table>
</body></html>
</xsl:template>
<xsl:template match="purl:item">
<xsl:variable name="itemUrl" select="purl:link" />
<tr>
<td>
<xsl:value-of select="concat(substring(dc:date,0,11),' ',substring(dc:date,12,5))"/>
</td>
<td><xsl:value-of select="dc:subject"/></td>
<td>
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$itemUrl" /></xsl:attribute>
<xsl:attribute name="target">_blank</xsl:attribute>
<xsl:value-of select="purl:title"/>
</xsl:element>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
|

|
こちらはHTML。 |
|
<html>
<head>
<script language="JavaScript"><!--
function viewList(xmlFile,xslFile) {
if (window.ActiveXObject) {
// IE
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var xsltDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xsltDoc.async = false;
xmlDoc.load(xmlFile);
xsltDoc.load(xslFile);
document.getElementById("viewArea").innerHTML = xmlDoc.transformNode(xsltDoc);
}else if (document.implementation && document.implementation.createDocument) {
// FireFox
var xmlDoc = document.implementation.createDocument("", "", null);
var xsltDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xsltDoc.async = false;
xmlDoc.load(xmlFile);
xsltDoc.load(xslFile);
var xsltPro = new XSLTProcessor();
xsltPro.importStylesheet(xsltDoc);
document.getElementById("viewArea").innerHTML = "";
document.getElementById("viewArea").appendChild(xsltPro.transformToFragment(xmlDoc, document));
}else{
alert("このブラウザでは実行できません")
}
}
--></script>
</head>
<body onload="viewList('index.xml','rss.xsl')">
<div id="viewArea" align="center"></div>
</body>
</html>
|


|
上記サンプルのソースコード … Download (59KB) |