Skip to content

Instantly share code, notes, and snippets.

@rnelson
Created February 23, 2012 19:20
Show Gist options
  • Save rnelson/1894467 to your computer and use it in GitHub Desktop.
Save rnelson/1894467 to your computer and use it in GitHub Desktop.
Steve's Problem #1894467
#!/usr/bin/env ruby
require 'rexml/document'
# Open in.rdf and parse it as XML
xml = REXML::Document.new File.new('in.rdf')
# Go through every <rdf:Description> tag
xml.elements.each('//rdf:Description') do | description |
# Go through every <find> tag underneath the <rdf:Description>
# that we're currently looking at
description.elements.each('find') do | find |
# And set the value of the <rdf:Description>'s "about"
# attribute to the value of our <find> tag. This will
# run for each <find> node underneath the specific
# description tag; the last one found is what will
# be used
description.attributes['about'] = find.text
end
end
# Get the modified XML into a string...
fileContents = ''
xml.write fileContents
# ...and write it to out.rdf
File.open('out.rdf', 'w') do |f|
f.puts fileContents
end
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:iiidc="http://www.iii.com/metadata/dc/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:RDF>
<rdf:Description about="http://contentdm.unl.edu/u?/aawamt,5704">
<dc:creator>Bosch, Hieronymus, d. 1516</dc:creator>
<dc:title>Adoration of the Magi</dc:title>
<dc:date>ca. 1495</dc:date>
<dc:title></dc:title>
<dc:title></dc:title>
<Contributors></Contributors>
<dc:description></dc:description>
<dc:description>triptych</dc:description>
<dc:format></dc:format>
<dc:format>painting</dc:format>
<dc:title>Early Renaissance art and architecture</dc:title>
<dc:description>Holland and Flanders (Belgium)</dc:description>
<dc:coverage></dc:coverage>
<dc:coverage>15th century</dc:coverage>
<dc:coverage></dc:coverage>
<dc:coverage>Madrid (Spain)</dc:coverage>
<dc:coverage>Museo del Prado</dc:coverage>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source>Northern Renaissance art (Snyder)</dc:source>
<dc:source></dc:source>
<dc:title>American Archives of World Art, Master Textbook Collection</dc:title>
<dc:date>2005</dc:date>
<dc:publisher>American Archives of World Art, Inc.</dc:publisher>
<dc:coverage>New York</dc:coverage>
<dc:rights>Collection administered by Visual Resources manager, Architecture Library, (402) 472-1193</dc:rights>
<dc:identifier>10004</dc:identifier>
<iiidc:filename>5712.jpg</iiidc:filename>
</rdf:Description>
<rdf:Description about="">
<dc:creator>Cranach, Lucas, 1472-1553</dc:creator>
<dc:title>Saxon Prince, Portrait</dc:title>
<dc:date>ca. 1517</dc:date>
<dc:title></dc:title>
<dc:title></dc:title>
<Contributors></Contributors>
<dc:description></dc:description>
<dc:description></dc:description>
<dc:format></dc:format>
<dc:format>painting</dc:format>
<dc:title>High Renaissance art and architecture</dc:title>
<dc:description>Germany, Austria, and Switzerland</dc:description>
<dc:coverage></dc:coverage>
<dc:coverage>16th century</dc:coverage>
<dc:coverage></dc:coverage>
<dc:coverage>Washington (D.C.)</dc:coverage>
<dc:coverage>National Gallery of Art (U.S.)</dc:coverage>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source>Northern Renaissance art (Snyder)</dc:source>
<dc:source></dc:source>
<dc:title>American Archives of World Art, Master Textbook Collection</dc:title>
<dc:date>2005</dc:date>
<dc:publisher>American Archives of World Art, Inc.</dc:publisher>
<dc:coverage>New York</dc:coverage>
<dc:rights>Collection administered by Visual Resources manager, Architecture Library, (402) 472-1193</dc:rights>
<dc:identifier>1004</dc:identifier>
<find>http://contentdm.unl.edu/u?/aawamt,5705</find>
<iiidc:filename>5713.jpg</iiidc:filename>
</rdf:Description>
<rdf:Description about="">
<dc:creator></dc:creator>
<dc:title>Hatshepsut with beard, kneeling</dc:title>
<dc:date>1570-1314 B.C. (XVIII Dynasty)</dc:date>
<dc:title></dc:title>
<dc:title></dc:title>
<Contributors></Contributors>
<dc:description></dc:description>
<dc:description></dc:description>
<dc:format>red granite</dc:format>
<dc:format>sculpture</dc:format>
<dc:title>Egyptian art and architecture</dc:title>
<dc:description></dc:description>
<dc:coverage>New Kingdom (with Amarna Period)</dc:coverage>
<dc:coverage>1570-1085 B.C.</dc:coverage>
<dc:coverage>Deir el-Bahri Site (Egypt)</dc:coverage>
<dc:coverage>New York (N.Y.)</dc:coverage>
<dc:coverage>Metropolitan Museum of Art (New York, N.Y.)</dc:coverage>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source>Gardner's art through the ages (12th ed.)</dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:title>American Archives of World Art, Master Textbook Collection</dc:title>
<dc:date>2005</dc:date>
<dc:publisher>American Archives of World Art, Inc.</dc:publisher>
<dc:coverage>New York</dc:coverage>
<dc:rights>Collection administered by Visual Resources manager, Architecture Library, (402) 472-1193</dc:rights>
<dc:identifier>10046</dc:identifier>
<find>http://contentdm.unl.edu/u?/aawamt,5706</find>
<iiidc:filename>5714.jpg</iiidc:filename>
</rdf:Description>
<rdf:Description about="">
<dc:creator>Maillol, Aristide, 1861-1944</dc:creator>
<dc:title>The Mediterranean</dc:title>
<dc:date>1901</dc:date>
<dc:title></dc:title>
<dc:title></dc:title>
<Contributors></Contributors>
<dc:description></dc:description>
<dc:description></dc:description>
<dc:format>bronze</dc:format>
<dc:format>sculpture</dc:format>
<dc:title>European sculpture</dc:title>
<dc:description>France, Spain and Portugal</dc:description>
<dc:coverage></dc:coverage>
<dc:coverage>20th century</dc:coverage>
<dc:coverage></dc:coverage>
<dc:coverage>Paris (France)</dc:coverage>
<dc:coverage>Jardin des Tuileries (Paris, France)</dc:coverage>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source>History of art (Janson, rev. 6th ed.)</dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source></dc:source>
<dc:source>Art history (Stokstad, rev. 2nd ed.)</dc:source>
<dc:title>American Archives of World Art, Master Textbook Collection</dc:title>
<dc:date>2005</dc:date>
<dc:publisher>American Archives of World Art, Inc.</dc:publisher>
<dc:coverage>New York</dc:coverage>
<dc:rights>Collection administered by Visual Resources manager, Architecture Library, (402) 472-1193</dc:rights>
<dc:identifier>10133</dc:identifier>
<find>http://contentdm.unl.edu/u?/aawamt,5707</find>
<iiidc:filename>5715.jpg</iiidc:filename>
</rdf:Description>
</rdf:RDF>
</rdf:RDF>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment