drupal.stackexchange.comのすばらしいユーザーの好意により、動的なDrupalページ用にHTMLに変換したXMLフィードがあります。ただし、問題は、XMLフィードに、知る必要がある可能性のあるすべてのものがリストされていることです。私の要件は、各ページが特定の情報のサブセットをレンダリングすることです。
基本的に、それは分解する必要があるプレゼンテーションスケジュールです。
私のフィード例は次のとおりです。
<track name="Track 1">
<session name="Session 1" starttime="2012-06-06 10:45" endtime="2012-06-06 12:45">
<presentation name="Presentation 1">
<author>Name 1</author>
<author>Name 2</author>
<abstract>summary of this presentation</abstract>
</presentation>
<presentation name="Presentation 2">
...presentation info
</presentation>
</session>
<session name="Session 2" starttime="2012-06-06 10:45" endtime="2012-06-06 12:45">
<presentation name="Presentation 3">
...presentation info
</presentation>
<presentation name="Presentation 4">
...presentation info
</presentation>
</session>
<session name="Session 3" starttime="2012-06-07 08:45" endtime="2012-06-07 10:45">
<presentation name="Presentation 5">
...presentation info
</presentation>
<presentation name="Presentation 6">
...presentation info
</presentation>
</session>
</track>
ご覧のとおり、この手続き全体のすべての情報を取得します。すべてのトラック、セッション、プレゼンテーションがすべて1つのフィードに含まれています。今のところ、問題なく動的ページに解析できます。
基本的に、これが私がそれを取得したいものです(dateTimeの解析を無視します...私はすでにそれを持っています):
<h2>Track 1</h2>
<h3>Session 1</h3>
<ul>
<li><a href="presentation-1.html">Presentation 1</a></li>
<li><a href="presentation-2.html">Presentation 2</a></li>
</ul>
<h3>Sessoin 2</h3>
<ul>
<li><a href="presentation-3.html">Presentation 3</a></li>
<li><a href="presentation-4.html">Presentation 4</a></li>
</ul>
次に、プレゼンテーションリンクの1つをクリックすると、新しいページに移動します。
<h2>Presentation 1</h2>
<p>Presented by Name 1, Name 2</p>
<p>summary of this presentation</p>
したがって、ここで2つの問題があります...この方法でフィードを分割する方法が正確にわかりません。これは、Drupal6モジュール内で実行する必要があります。サンプルフィードのスニペットを表示しています...取得するフィードは非常に大きく、この方法で分割する必要があるためです。
私が持っているDrupalコードは次のとおりです。
function _xml_import_generate()
{
$path = drupal_get_path('module', 'xml_import');
$xsl = new DOMDocument();
$xsl->load("{$path}/xml_import.xsl");
$xslt = new XSLTProcessor();
$xslt->importStyleSheet($xsl);
$xml = new DOMDocument();
$xml->load("myfeed.xml");
return (string) $xslt->transformToXML($xml);
}