我想使用XSLT格式化一個Wordpress WXR文件,所以我可以將它導入到Drupal。XSLT格式的Wordpress WXR XML通過飼料導入到Drupal
我知道模塊爲Drupal將導入WXR文件,但我需要的靈活性,飼料模塊可以給導入的數據將導入不同的內容類型,我會拉圖像和其他附件到新創建的Drupal頁面。考慮到這一點,標準的WordPress Migrate不會削減它。
因此,WXR格式將Wordpress帖子和附件作爲單獨的items
作爲Feed內的鏈接,並使用ID鏈接帖子附件。附件可以是圖像,文件(pdf,doc等),可在xpath wp:postmeta/wp:meta_key
找到,並具有值_thumbnail_id,_wp_attached_file
我想要做的是從類型附件中的各種節點,並把它們放在其中id將它們鏈接在一起
要轉換的xml片段...第一項是post
第二項是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的新手,已經閱讀了一些關於身份轉換的文章,我認爲這是正確的方向,但我沒有經驗來拉我需要的東西,我將不勝感激。