Drupal にインポートできるように、XSLT を使用して Wordpress WXR ファイルをフォーマットしようとしています。
WXR ファイルをインポートする Drupal 用のモジュールを認識していますが、インポートされたデータがさまざまなコンテンツ タイプに対してインポートされ、新しく作成された Drupal に画像やその他の添付ファイルをプルするため、Feeds モジュールが提供できる柔軟性が必要です。ページ。これを念頭に置いて、標準の WordPress Migrate ではうまくいきません。
そのため、WXR 形式では、Wordpress の投稿と添付ファイルitems
がフィード内で個別に保持され、ID を使用して投稿と添付ファイルがリンクされます。添付ファイルは画像、ファイル (pdf、doc など) であり、xpath で見つかりwp:postmeta/wp:meta_key
、_thumbnail_id、_wp_attached_file の値を持ちます。
私がやりたいのは、添付ファイル タイプのアイテムからさまざまなノードを取得し、それらを対応する投稿アイテム内に配置することです。ID はそれらをリンクします。
変換する xml のフラグメント... 最初の項目はpost
2 番目の項目ですattachment
。の
<item>
<title>Some groovy title</title>
<link>http://example.com/groovy-example</link>
<wp:post_id>2050</wp:post_id>
<wp:post_type>page</wp:post_type>
...
...
...
<wp:postmeta>
<wp:meta_key>_thumbnail_id</wp:meta_key>
<wp:meta_value>566</wp:meta_value>
</wp:postmeta>
</item>
...
...
...
<item>
<title>My fantastic attachment</title>
<link>http://www.example.com/fantastic-attachment</link>
<wp:post_id>566</wp:post_id>
<wp:post_type>attachment</wp:post_type>
...
...
...
<wp:attachment_url>http://www.example.com/wp-content/uploads/2012/12/fantastic.jpg</wp:attachment_url>
<wp:postmeta>
<wp:meta_key>_wp_attached_file</wp:meta_key>
<wp:meta_value>2012/12/fantastic.jpg</wp:meta_value>
</wp:postmeta>
</item>
変換後、私はしたいです
<item>
<title>Some groovy title</title>
<link>http://example.com/groovy-example</link>
<wp:post_id>2050</wp:post_id>
<wp:post_type>page</wp:post_type>
...
...
...
<wp:postmeta>
<wp:meta_key>_thumbnail_id</wp:meta_key>
<wp:meta_value>566</wp:meta_value>
<wp:meta_url>http://www.example.com/wp-content/uploads/2012/12/fantastic.jpg</wp:attachment_url>
</wp:postmeta>
</item>
たぶん、より良いアプローチがありますか?IDがノード間のリンクを作成する投稿と添付ファイルをマージしますか?
私は XSLT を初めて使用し、ID 変換に関するいくつかの投稿を読みましたが、それは正しい方向だと思いますが、必要なものを引き出す経験がありません。支援をいただければ幸いです。