awkでRSS
テキストファイルから何かを抽出して、RSSにするというときにawkでやってもいいなと思って、作ってみた。名前空間などは適当なものをコピーしたので、正しいのかは分からないけど、何となく動いているからいいか。
雛形をメモ:
BEGIN { print "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; print "<?xml-stylesheet href=\"rss.xsl\" type=\"text/xsl\" media=\"screen\"?>"; print "<!-- generator=\"awk RSS generator\" -->"; print "<rdf:RDF"; print " xmlns=\"http://purl.org/rss/1.0/\""; print " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""; print " xmlns:dc=\"http://purl.org/dc/elements/1.1/\""; print " xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\""; print " xmlns:admin=\"http://webns.net/mvcb/\""; print " xmlns:content=\"http://purl.org/rss/1.0/modules/content/\""; print ">"; print "<channel rdf:about=\"\">"; printf(" <title>%s</title>", title); printf(" <link>%s</link>", link); printf(" <dc:creator>%s</dc:creator>", creator); printf(" <description>%s</description>", description); print " <dc:language>ja</dc:language>"; print "</channel>"; } { printf("<item rdf:about=\"%s\"><title>%s</title><link>%s</link><description>%s</description><dc:date>%s</dc:date></item>\r\n", ); } END { print "</rdf:RDF>"; }