php‎ > ‎

phpでxmlを返してxslファイルでテンプレートを適用する

とくに難しいことはしていないが、サーバーによってはHeaderを強制されている場合があるので注意は必要。共通的に利用できる他の方法があるならその方がいいように思う。

index.php
<?php
header ("Content-Type: text/xml; charset=UTF-8");
print('<?xml version="1.0" encoding="UTF-8"?>');
print('<?xml-stylesheet type="text/xsl" href="./ss.xsl"?>');
print('<aaa><bbb><ename>111</ename></bbb><bbb><ename>222</ename></bbb></aaa>');
?>

ss.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="UTF-8"/>

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template> 

<xsl:template match="aaa">
<HTML>
<BODY>
<xsl:apply-templates/>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="bbb">
<xsl:value-of select="ename"/><BR/>
</xsl:template> 

</xsl:stylesheet>
Comments