blob: 9f7c303504028d253d764d687183779d2ce9cdb3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
d = Dir.glob("xml/*.xml")
ids = []
# collect symbols
d.each do |file|
f = File.new(file)
buf = f.read
ids << buf.scan(/.*id="(.*)".*/)
end
ids = ids.flatten
#resolve symbols
d.each do |file|
f = File.new(file,"r+")
buf = f.read
p file
ids.each do |id|
if "xml/"+id+".xml" == file
next
end
re = Regexp.compile('([^"\w\d])('+id+')([^"\w\d])')
buf.gsub!(re, '\1<link linkend="\2">\2</link>\3')
buf.gsub!(/(<\/link>)+/, '\1')
buf.gsub!(/(<link[^>]*>)+/, '\1')
end
f.rewind
f.write buf
f.rewind
end
|