<head>内の<link>について

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
Ushishi
記事: 5
登録日時: 2007年8月24日(金) 14:20

<head>内の<link>について

投稿記事 by Ushishi » 2008年1月19日(土) 00:29

いつもお世話になっております。

早速ですが、HTMLのhead部分を

コード: 全て選択

<head>
  <title>マイリスト</title>
  <meta name="description" content="マイリストの概要" />
  <meta name="keywords" content="マイリストのキーワード" />
  <link rel="start" title="目次" href="../index.html" />
  <link rel="chapter" title="第1章" href="./index.php?eid=00001" />
  <link rel="chapter" title="第2章" href="./index.php?eid=00002" />
  <link rel="chapter" title="第3章" href="./index.php?eid=00003" />
</head>
というような出力をしたい(link要素のリンクタイプ:chapter部分をlistのように出力したい)
と思い、

index.phpのhead部分

コード: 全て選択

<head>
  <title>マイリスト</title>
  <meta name="description" content="マイリストの概要" />
  <meta name="keywords" content="マイリストのキーワード" />
  <link rel="start" title="目次" href="../index.html" />
  <cmsd:entrylist name="mylist" design="chapter_list" />
</head>
<link rel="chapter" title="〜" href="〜" /> の部分を <cmsd:entrylist name="mylist" design="chapter_list" /> で置き換えて、そのデザイン定義のXSLを

mylist.list.chapter_list.design.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="xml" encoding="EUC-JP" omit-xml-declaration="yes" indent="yes" />
  <xsl:template match="/entrylist">
    <xsl:for-each select="entry">
      <link rel="chapter" title="{mylist_title}" href="index.php{@href}" />
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>
というふうに書いたのですが、結果は、

コード: 全て選択

<head>
  <title>マイリスト</title>
  <meta name="description" content="マイリストの概要" />
  <meta name="keywords" content="マイリストのキーワード" />
  <link rel="start" title="目次" href="../index.html" />
  <link rel="chapter" title="第1章" href="./index.php?eid=00001" ></li>
  <link rel="chapter" title="第2章" href="./index.php?eid=00002" ></li>
  <link rel="chapter" title="第3章" href="./index.php?eid=00003" ></li>
</head>
のように <link rel="chapter" title="〜" href="〜"></li> となりました。???

<xsl:output method="html" />としても、 <link rel="chapter" title="〜" href="〜"> となりました。(<link />となっていない)

できれば、XHTMLで書きたいので、 <link rel="chapter" title="〜" href="〜" /> としたいと思っています。
もしかしたら、head部分にCMSDを適用すべきではないのかもしれませんが、それは可能でしょうか。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: <head>内の<link>について

投稿記事 by webmaster » 2008年1月21日(月) 17:51

 Ushishiさん、ご連絡ありがとうございます。
 申し訳ありません、CMSDの不具合でした。m(__;)m

 include/xmlutil.php.inc を、EUC-JPが使えるテキストエディタで開いて
頂き、350行目付近を次のように修正してみてください。

コード: 全て選択

			// <div />となってしまった出力を<div></div>のようにする。
			$resultStr = preg_replace( '/<(div|td|th|li|span) ([^>]*)\/>/', '<$1$2></$1>', $resultStr );
 この修正は次のバージョンに含まれる予定です。
 ご迷惑をおかけして申し訳ありませんでした。

Ushishi
記事: 5
登録日時: 2007年8月24日(金) 14:20

投稿記事 by Ushishi » 2008年1月26日(土) 02:56

無事に表示することができました。

今後ともよろしくお願いします。ありがとうございました。

返信