Quantcast
Channel: XSLT to format Wordpress WXR XML for importing in to Drupal via Feeds - Stack Overflow
Viewing all articles
Browse latest Browse all 2

XSLT to format Wordpress WXR XML for importing in to Drupal via Feeds

$
0
0

I'm trying to format a Wordpress WXR file using XSLT so I can import it into Drupal.

I'm aware of modules for Drupal that will import WXR files but I need the flexibility that the Feeds module can give as the imported data will be imported against different content types and I'll be pulling images and other attachments into the newly created Drupal pages. With this in mind the standard WordPress Migrate just won't cut it.

So, the WXR format has Wordpress posts and attachments as separate items within the feed and links the posts an attachments using an id. Attachments can be images, files (pdf,doc etc) and are found at the xpath wp:postmeta/wp:meta_key and have values of _thumbnail_id, _wp_attached_file

What I'd like to do is take various nodes from items of type attachment and put them within the cooresponding post item, where the id links them together

A fragment of the xml to be transformed... First item is post second is attachment. The

<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>

After the transform I would like

<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>

Maybe, there is a better approach? Maybe merge post and attachment where the id create a link between the nodes?

I'm new to XSLT and have read a few posts on identity transforms and I think thats the correct direction but I just don't have the experience to pull of what i need, assistance would be appreciated.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images