end
end
+
+log 0, 'remove empty notes/web links sections'
+[
+ 'Notes',
+ 'Web links',
+ 'Web link',
+].each do |title|
+ xml.xpath("//title[text()='%s']" % title).each do |node|
+ p = node.parent
+ node.remove
+ if p.content =~ /^\s*$/
+ p.remove
+ else
+ raise RuntimeError, 'Non-empty «%s» found' % title
+ end
+ end
+end
+
log 0, 'remove title from dedication'
xml.css('dedication title')[0].content = ""
xml.xpath('//colophon/para').remove
s = xml.xpath('//colophon')[0]
s.first_element_child.after(<<'XML')
-<para>Made With Creative Commons</para>
+<para>Made with Creative Commons</para>
<para>by Paul Stacey & Sarah Hinchliff Pearson</para>
XML
+log 0, 'remove title from colophon'
+xml.css('colophon title')[0].content = ""
+
log 0, 'change CC logo images to informalfigure'
xml.css('figure mediaobject imageobject imagedata[width="40.0%"]').each do |id|
f = id.parent.parent.parent
f.name = 'informalfigure'
end
+log 0, 'assigning IDs to formal figures'
+seq = 1
+xml.css('figure').each do |fig|
+ fig['id'] = 'fig-%d' % seq
+ seq = seq + 1
+end
+
log 0, 'Writing processed file'
# Unable to figure out API way to replace DOCTYPE
data = xml.to_xml().gsub!(/DOCTYPE article/, 'DOCTYPE book')