XSL変換を実行しようとしています。しかし、属性の置換は機能しません。私はこのXSLを持っています:XSLTの属性値を置換する
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8"
doctype-public="-//WAPFORUM//DTD WML 1.1//EN"
doctype-system="http://www.wapforum.org/DTD/wml_1.1.xml"/>
<xsl:template match="/">
<wml xml:lang="da">
<card id="FrontPage" title="{head/title}">
Why doesn't the title get inserted?
<p id="changed">The server processed this Jan 1st. 2009.</p>
</card></wml>
</xsl:template></xsl:stylesheet>
そして、変換されるXMLはXHTML 1.0 Transitionalドキュメントです。ドキュメントには当然html/head/title要素が含まれています。私は、カード要素のtitle属性に挿入されたタイトル要素のテキストコンテンツをしたい:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DMI - The weather on Faroe Islands</title>
(...)
私はPHP 5.2.0とlibxsltのバージョン1.1.19を使用しています。
名前空間の問題を発見するための+1。 – Tomalak