diff options
Diffstat (limited to 'sample')
34 files changed, 8290 insertions, 204 deletions
diff --git a/sample/all-ruby-quine.rb b/sample/all-ruby-quine.rb new file mode 100644 index 0000000000..7686121468 --- /dev/null +++ b/sample/all-ruby-quine.rb @@ -0,0 +1,24 @@ + eval($s=("t='eval($s=('+d=34.chr;s=3 + 2.chr+$s*i=8;v=$VERSION||eval('begin;v=V + ERSION;rescue;v||RUBY_VERSION;end');f=('?'*8 + +'A|'+'?'*20+'G?c'+'?'*15+'A@CXx@~@_`OpGxCxp@~pO + xS|O~G?c?q?xC`AP|q?x_|C_xC_xO@H@cG?G?qA|_|_`GCpOxC|H +NFccqq@`_|OF@`?q?x_@x_x_`GB`O``O~G?C@qCxCxP@D@|G~C?pO|C? + pO|C?AP|A~HNN`ccxC|Q@L@B"+"GpGpc@p?x_`GB`???_@FO|OB@ + xC|P`@?c?q?HPx@~@_`G@`????@L^`?q?x?xq@|_|O~GC` + xA~@_@GBD').unpack('c*');w=4+v.length*u= + 15;r=10.chr;j=0;while-24+w*u>i=1+i + ;x=i%w;x>0||t=t+d+'+'+r+d;k= + i/w%12>2&&x%u>3&&x%u+i + /w*11-34+('-._'. + index(c=v[ + x/u,1] + )||c.hex +3)*99| + |0; k=f [k/6 ][k% + 6]; t=t +s[ + k*j =k+ j,1 + ]end;pr int (t+ + d+' ).s pli + t.j oin [0, + 609 ])# Y.E. '+r) + ").split .join)# diff --git a/sample/coverage.rb b/sample/coverage.rb index 8e8d6167e2..42ba89fd50 100644 --- a/sample/coverage.rb +++ b/sample/coverage.rb @@ -49,7 +49,7 @@ at_exit do end end - open(cfile, "w") do |out| + File.open(cfile, "w") do |out| covs.zip(sources, pcovs).each_with_index do |(cov, line, pcov), idx| cov += pcov || 0 if cov cov = (cov ? (cov == 0 ? "#####" : cov.to_s) : "-").rjust(9) diff --git a/sample/dir.rb b/sample/dir.rb index 0c55078973..81257cd917 100644 --- a/sample/dir.rb +++ b/sample/dir.rb @@ -1,12 +1,7 @@ # directory access # list all files but .*/*~/*.o -dirp = Dir.open(".") -for f in dirp - case f - when /\A\./, /~\z/, /\.o\z/ - # do not print - else - print f, "\n" +Dir.foreach(".") do |file| + unless file.start_with?('.') or file.end_with?('~', '.o') + puts file end end -dirp.close diff --git a/sample/drb/README.rdoc b/sample/drb/README.rdoc index fcb4182410..e6b457bc5c 100644 --- a/sample/drb/README.rdoc +++ b/sample/drb/README.rdoc @@ -1,6 +1,6 @@ = Sample scripts -* array and iteretor +* array and iterator * darray.rb --- server * darrayc.rb --- client diff --git a/sample/from.rb b/sample/from.rb index db1299c869..0e5a08de5f 100644 --- a/sample/from.rb +++ b/sample/from.rb @@ -62,7 +62,7 @@ def from_main if File.exist?(file) atime = File.atime(file) mtime = File.mtime(file) - open(file, "r") do |f| + File.open(file, "r") do |f| until f.eof? header = {} f.each_line do |line| diff --git a/sample/mine.rb b/sample/mine.rb index a841d1a60a..77e0204bf6 100755 --- a/sample/mine.rb +++ b/sample/mine.rb @@ -1,6 +1,8 @@ #! /usr/bin/ruby -Ku # -*- coding: utf-8 -*- +require 'io/console' + class Board def clr print "\e[2J" @@ -143,8 +145,8 @@ class Board end bd=Board.new(10,10,10) -system("stty raw -echo") -begin + +IO.console.raw do loop do case STDIN.getc when ?n # new game @@ -170,7 +172,5 @@ begin bd.reset end end -ensure - system("stty -raw echo") end print "\n" diff --git a/sample/mpart.rb b/sample/mpart.rb index a88eba0ef6..eeb895d3de 100644 --- a/sample/mpart.rb +++ b/sample/mpart.rb @@ -2,11 +2,29 @@ # split into multi part # usage: mpart.rb [-nnn] file.. +class MPart < File + def self.new(basename, extname, part, parts) + super(sprintf("%s.%s%02d", basename, extname, part), "w"). + begin_mpart(basename, part, parts) + end + + def begin_mpart(basename, part, parts) + printf("%s part%02d/%02d\n", basename, part, parts) + write("BEGIN--cut here--cut here\n") + self + end + + def close + write("END--cut here--cut here\n") + super + end +end + lines = 1000 if (ARGV[0] =~ /^-(\d+)$/ ) - lines = $1.to_i; - ARGV.shift; + lines = $1.to_i + ARGV.shift end basename = ARGV[0] @@ -14,31 +32,23 @@ extname = "part" part = 1 line = 0 +ofp = nil fline = 0 -for i in ifp = open(basename) - fline = fline + 1 -end -ifp.close +File.foreach(basename) {fline += 1} parts = fline / lines + 1 -for i in ifp = open(basename) +File.foreach(basename) do |i| if line == 0 - ofp = open(sprintf("%s.%s%02d", basename, extname, part), "w") - printf(ofp, "%s part%02d/%02d\n", basename, part, parts) - ofp.write("BEGIN--cut here--cut here\n") + ofp = MPart.new(basename, extname, part, parts) end ofp.write(i) - line = line + 1 - if line >= lines and !ifp.eof? - ofp.write("END--cut here--cut here\n") + line += 1 + if line >= lines ofp.close - part = part + 1 + part += 1 line = 0 end end -ofp.write("END--cut here--cut here\n") ofp.close - -ifp.close diff --git a/sample/net-imap.rb b/sample/net-imap.rb deleted file mode 100644 index b93ecb746e..0000000000 --- a/sample/net-imap.rb +++ /dev/null @@ -1,167 +0,0 @@ -require 'net/imap' -require "getoptlong" - -$stdout.sync = true -$port = nil -$user = ENV["USER"] || ENV["LOGNAME"] -$auth = "login" -$ssl = false -$starttls = false - -def usage - <<EOF -usage: #{$0} [options] <host> - - --help print this message - --port=PORT specifies port - --user=USER specifies user - --auth=AUTH specifies auth type - --starttls use starttls - --ssl use ssl -EOF -end - -begin - require 'io/console' -rescue LoadError - def _noecho(&block) - system("stty", "-echo") - begin - yield STDIN - ensure - system("stty", "echo") - end - end -else - def _noecho(&block) - STDIN.noecho(&block) - end -end - -def get_password - print "password: " - begin - return _noecho(&:gets).chomp - ensure - puts - end -end - -def get_command - printf("%s@%s> ", $user, $host) - if line = gets - return line.strip.split(/\s+/) - else - return nil - end -end - -parser = GetoptLong.new -parser.set_options(['--debug', GetoptLong::NO_ARGUMENT], - ['--help', GetoptLong::NO_ARGUMENT], - ['--port', GetoptLong::REQUIRED_ARGUMENT], - ['--user', GetoptLong::REQUIRED_ARGUMENT], - ['--auth', GetoptLong::REQUIRED_ARGUMENT], - ['--starttls', GetoptLong::NO_ARGUMENT], - ['--ssl', GetoptLong::NO_ARGUMENT]) -begin - parser.each_option do |name, arg| - case name - when "--port" - $port = arg - when "--user" - $user = arg - when "--auth" - $auth = arg - when "--ssl" - $ssl = true - when "--starttls" - $starttls = true - when "--debug" - Net::IMAP.debug = true - when "--help" - usage - exit - end - end -rescue - abort usage -end - -$host = ARGV.shift -unless $host - abort usage -end - -imap = Net::IMAP.new($host, :port => $port, :ssl => $ssl) -begin - imap.starttls if $starttls - class << password = method(:get_password) - alias to_str call - end - imap.authenticate($auth, $user, password) - while true - cmd, *args = get_command - break unless cmd - begin - case cmd - when "list" - for mbox in imap.list("", args[0] || "*") - if mbox.attr.include?(Net::IMAP::NOSELECT) - prefix = "!" - elsif mbox.attr.include?(Net::IMAP::MARKED) - prefix = "*" - else - prefix = " " - end - print prefix, mbox.name, "\n" - end - when "select" - imap.select(args[0] || "inbox") - print "ok\n" - when "close" - imap.close - print "ok\n" - when "summary" - unless messages = imap.responses["EXISTS"][-1] - puts "not selected" - next - end - if messages > 0 - for data in imap.fetch(1..-1, ["ENVELOPE"]) - print data.seqno, ": ", data.attr["ENVELOPE"].subject, "\n" - end - else - puts "no message" - end - when "fetch" - if args[0] - data = imap.fetch(args[0].to_i, ["RFC822.HEADER", "RFC822.TEXT"])[0] - puts data.attr["RFC822.HEADER"] - puts data.attr["RFC822.TEXT"] - else - puts "missing argument" - end - when "logout", "exit", "quit" - break - when "help", "?" - print <<EOF -list [pattern] list mailboxes -select [mailbox] select mailbox -close close mailbox -summary display summary -fetch [msgno] display message -logout logout -help, ? display help message -EOF - else - print "unknown command: ", cmd, "\n" - end - rescue Net::IMAP::Error - puts $! - end - end -ensure - imap.logout - imap.disconnect -end diff --git a/sample/trick2015/kinaba/entry.rb b/sample/trick2015/kinaba/entry.rb index aa077dc240..2a75888ef5 100644 --- a/sample/trick2015/kinaba/entry.rb +++ b/sample/trick2015/kinaba/entry.rb @@ -54,8 +54,8 @@ while 0x00012345 >= $counter srand +big && $counter >> 0b1 Enumerable - Fixnum - Bignum + String + Struct Math Complex Comparable diff --git a/sample/trick2018/02-mame/entry.rb b/sample/trick2018/02-mame/entry.rb index cc4ef9cbc4..ced791aa3d 100644 --- a/sample/trick2018/02-mame/entry.rb +++ b/sample/trick2018/02-mame/entry.rb @@ -1,11 +1,11 @@ '';eval(r=%q(->z{r="'';eval(r=\ -%q(#{r}))[%q`#{z}`]";i=-040;30. +%q(#{r}))[%q`#{z}`]";i=-040;31. times{|n|(15+n%2*15-n/2).times{ r<<r[i+=(1.-n&2)*(32-n%2*31)]}} i=r[524,0]=?\0;eval(r[479..-1]) c['"']}))[%q`GFEDCBA"+"[e\"'"'t kE*;;\";" TRICK2018 ";tb,;{{r -2E0$ob[us@*0)[90,336])_#i\n}s#i +2E0$ob[us@*0)[90,336])#_i\n}s#i 0H}>["t]];};o[1,?\n*8];ex"-}eac 1Hl<1[-1]*2*t=n%2];o[14-n,0)mvk 8M$<4,?\n];15.times{|n|;o[35ie2 diff --git a/sample/trick2022/01-tompng/Gemfile b/sample/trick2022/01-tompng/Gemfile new file mode 100644 index 0000000000..982b9de67f --- /dev/null +++ b/sample/trick2022/01-tompng/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'matrix' diff --git a/sample/trick2022/01-tompng/Gemfile.lock b/sample/trick2022/01-tompng/Gemfile.lock new file mode 100644 index 0000000000..8bb3c69025 --- /dev/null +++ b/sample/trick2022/01-tompng/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + matrix (0.4.2) + +PLATFORMS + x86_64-darwin-20 + +DEPENDENCIES + matrix + +BUNDLED WITH + 2.3.3 diff --git a/sample/trick2022/01-tompng/authors.markdown b/sample/trick2022/01-tompng/authors.markdown new file mode 100644 index 0000000000..26ebe24da6 --- /dev/null +++ b/sample/trick2022/01-tompng/authors.markdown @@ -0,0 +1,3 @@ +* Tomoya Ishida (tompng) + * tomoyapenguin@gmail.com + * cctld: jp diff --git a/sample/trick2022/01-tompng/entry.rb b/sample/trick2022/01-tompng/entry.rb new file mode 100644 index 0000000000..97beacc684 --- /dev/null +++ b/sample/trick2022/01-tompng/entry.rb @@ -0,0 +1,40 @@ + eval((s=%~c=(0..35 + ).map{s[2*_1+1]}*'';class$Inte + ger;def$quXinclude(Math ;spXo(a)=self* + a.pow(87X=h=32.chr;g=PI/480;ls=(sp*31X,89)%89; + def$abX+'eval((s=%'+(n=? .next)+s*88.chr+[nXs()=[a + =self%X+'.split(',sp*25+'?'+88.chr+');(0..36).mapX89,89- + a].miX{s[2*_1].split}',sp*31+".join.tr('$',$/)))"]*$/)Xn;end + ;reqX.split$/;trap(:INT){puts;exit};q=->t,i{a,y=((t+i*99)Xuire + 'matrX%960). ivmod(80);[(a*(7+i)+i*23)%79+(y+a)/(5+i%4)%2,39Xix';1 + 5.tiX-y/2]};p=->t,u{a=->b,c{(0..5).sum{(u%2-1)*E**(t*(b+c*_1)*gXmes{ + |i,*X.i+ i*u+=5+sin(u*u))}};x,z=a[5,3]. 5,3].rect;x+=y.Xv|z= + *?!Xi a[19,4];z+=w;r=(4+(x.abs+z.i).ab };t=(0..959).fX..? + W,?Xind{|t|(0..29).all?{x,y=q[t,_1];(x 2||h=ls[y][x]X[,* + ?]..X[/[^!-}]/]}};h=($**h+h).chr;eval( []} ->(x,yX?};a + =(0X,a,b){x=x*36+39.5;y=19.5-y*18;b*=1 |i|((yX..1 + 34)X-b).ceil..y+b).map{|j|((x-i)/a+(y j)/ .times{X.ma + p{zXx,z=p[t,_1];l=u```=0;while``````(l<1)``; u+```=0 ;d=x-y;X.in +dex(Xl+=(d.abs+(z-w``)``.i).ab``s*1.``1 ;x``,z=y``,w;o[v``=``x.r d.imag/Xc[i+ +15*Xd.abs*l*sin(2*``l-t``*g*80``-_1) l*(``1-l)/``6,a``=l*( -l)**2*0.X_1] +)};X7,a*2]&&o[v,z,``0.0``3,l**`` ``times``{|i``|(8+i).times{|Xw=* +MatXj|o[sin(i)/2+````` ```sin( `/2.0`````````)*j/200,j*0.0Xrix +[*(X5-1,0.02,0.1]``}} ``. q[t,``_1];m``[y][x]= };i=-X0.. +44).X1;$><<(['%%','[H .map{|j|(0..79).map{|k|x=(Xmap{ + |i,X -39.5)/35.8;y=( i+=1;m[j][k]?h:c[i]):ls[j]X*b| + v<<X[k];}*''}*$/<<0) 1)%9 te"`")#qv.jSaL{=;q(Q}4fXa.z + ip(Xjs(:#tK`Jm))FKO /A9(2'%iorvf7 eEa0uV xv+Q@qUU](L@&Py .1v'X0.. + ).suXydSEH{-GI|-5(,z G5evpq,[b50 D[ t {on,I?VStS`?G@LoqFCXm{|j + ,k|Xj1.QnxKz!mH%o# )b2Seut,]! 48 lBieJGi 5jeNPD#b}H3X-(p + =(iXaVz#8*+US,hgF 5#6]y-` 4hy HN hF75WjD!0IxJ$sX+k) + .powX+UP"cNUE9- G< tHvV;Ib <-s U T ? vlE xylg=x#X(i+k + ,88)XV9u$9lKb9 @C do7+-w >l { v9 { P l ga%]AK<e&'X+1)* + (j||(X4ifK/6S+ k} @@*a} 6rS xn"Q[M 8 `|g>$#BrjXb<<p; + 0))}XtbDp'Kc t2 Dat9C s C rL+ g,j]Tf B< eMI+zzkWX;b}] + .lup.XtVP<ak IM E/+)B jwv uB (Twqed D* dyf_dT7Xsolve + (v);13Xn:8 #_ RiSTO, [Fk m O]O#"+ a_ cT_.X5.time + s{c[i+X e5 T`FBEC q*f 2 o@{a<eUG aW PX15*_1] + =z[a[_1]X z_@`nll 7F1 2 [=^uS0z^ 6X||w.shif + t]}};eval(Xfg K#R N bp-E_Xc)~.split( + ?X);(0..36).map{s[2*_1].split} + .join.tr('$',$/))) diff --git a/sample/trick2022/01-tompng/remarks.markdown b/sample/trick2022/01-tompng/remarks.markdown new file mode 100644 index 0000000000..70601908b7 --- /dev/null +++ b/sample/trick2022/01-tompng/remarks.markdown @@ -0,0 +1,51 @@ +### Remarks + +Just run it with no argument: + + ruby entry.rb + +Or run it with one non-ascii half-width character argument: + + ruby entry.rb ⬮ + ruby entry.rb 𓆡 + +I confirmed the following implementations/platforms: + +* ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19] +* ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin20] + +### Description + +This program is an aquatic quine. +Some characters in the code are overwritten with `" "`, but this program can restore the missing parts. +Every frame of this animation is an executable ruby program that let fishes start swimming again from their current position. + +### Internals + +#### Error Correction + +Error correction is performed for each block of length 135. +It consists of 89 kinds of characters(`[*('!'..'W'), '[', *(']'..'}')]`) and satisfies the following constraint. + +``` +matrix(size: 45x135) * block_vector(size: 135) % 89 == zero_vector(size: 45) +``` + +To restore the missing characters in the block, we need to solve a linear equation problem in modulo 89. +This can be achieved by using bundled gem 'matrix' and overwriting some methods. + +```ruby +require 'matrix' +matrix = Matrix[[3, 1, 4], [1, 5, 9], [2, 6, 5]] +class Integer + def quo(x) = self * x.pow(87, 89) % 89 # Fermat's little theorem. 89 is a prime number. + def abs() = [self % 89, 89 - self % 89].min # To avoid division by multiple of 89. +end +answer = matrix.lup.solve([1, 2, 3]) #=> Vector[24, 42, 83] +(matrix * answer).map { _1 % 89 } #=> Vector[1, 2, 3] +``` + +#### Resuming Animation + +The entire animation of this fish tank is a loop of 960 frames. +This program uses position of the floating bubbles to detect current frame number from the executed source code. diff --git a/sample/trick2022/02-tompng/authors.markdown b/sample/trick2022/02-tompng/authors.markdown new file mode 100644 index 0000000000..26ebe24da6 --- /dev/null +++ b/sample/trick2022/02-tompng/authors.markdown @@ -0,0 +1,3 @@ +* Tomoya Ishida (tompng) + * tomoyapenguin@gmail.com + * cctld: jp diff --git a/sample/trick2022/02-tompng/entry.rb b/sample/trick2022/02-tompng/entry.rb new file mode 100644 index 0000000000..2e2e2bcf74 --- /dev/null +++ b/sample/trick2022/02-tompng/entry.rb @@ -0,0 +1,32 @@ + q=->{!sleep _1/1e2};p=( + c=0..2).map{[_1/9r ,0,5**_1.i/3,1,0]} + require'socket';puts'op' "en http://localhost:#{( + w=TCPServer.new$*[0]||0).addr[1]}";Thread.new{q[2];f=[-1 + ]*s=3;t=Time.now.to_f;p.select!{0<_1[3]=[_1[3]+_1[4]/8.0,1 + ].min};9.times{h=p.map{[2**(_1*t.i)/_4**0.5/(1+Math.sin(2*t- + 9*_1%2)**32/16),_2+_4*( _3-_2)]};r=[s*3/2,84].min;g=->{x,y= +(s*(1+_1+1i)/2).rect;x<0 ||x>=s-1||y<0||y>=s-1?0:((l=f[y+1])[ +x+1]*(a=x%1)+(1-a)*l[x] )*(b=y%1)+(1-b)*((l=f[y])[x+1]*a+(1- +a)*l[x])};f=(1..r).map {|y|(1..r).map{|x|z=1.5+1.5i-3.0*(y +.i+x)/r;[h.sum{g[_1.*z +_2]}*0.9,1].min}};s=r};c=f.flatten +redo};loop{s=w.accept ; Thread.new{r=s.gets;h='HTTP/1.1 '+ +"200 OK\r\nContent-" 'T' "ype:text/html\r\n\r\n";r['/ ']?s. + <<(h+'<style>ifram' 'e{' 'opacity:0;height:0;}input{wid'+ + 'th:252px;}</styl' 'e>' '<form target="i"><input src="'+ + "g#{rand}\" type" '="im' 'age"><iframe name="i"></ifra'+ + 'me></form>'):r ['/g'] ?(h[/:.+l/]=?:'image/gif';s<< + h+'GIF8' '7a'+[84, + 84,246,0,*(0..383).map {15*_1. /(383r)**(3-_1% + 3)*17}].pack('v3c*'); loop{ s<<[67434785,5, + 44,84,84,7,c.map{_1* 127} .each_slice(126 + ).map{[127,128,*_1 ] .pack'c*'}*'', + 1,129].pack('V3x' 'v2na*c2x');q[ + 5];q.[]1while(r ==r=c)}):(x,y, + z=r.scan(/\d+/).map{_1.to_f/ + 126-1};z&&p<<[rand-0.5,( + z=x+y.i)*1.5,z/(z. + abs+0.9),0,-p[ + -3][4]=-1] + s.<<h);s + .close + }} diff --git a/sample/trick2022/02-tompng/remarks.markdown b/sample/trick2022/02-tompng/remarks.markdown new file mode 100644 index 0000000000..3b2d3fd84b --- /dev/null +++ b/sample/trick2022/02-tompng/remarks.markdown @@ -0,0 +1,32 @@ +### Remarks + +1. Run it with `ruby entry.rb 8080` + +2. Open "http://localhost:8080" + +3. Click on the screen and interact with it + +I confirmed the following implementations/platforms: + +* Ruby Version + * ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin20] +* Browser + * Chrome(macOS, Android) + * Firefox(macOS) + * Edge(macOS) + +### Description + +This program is an HTTP server that provides a fractal creature playground. +You can see the heartbeat of a mysterious fractal creature. Clicking on the screen will change the shape of the creature. +Surprisingly, this interactive webpage is built without JavaScript. + +### Internals + +Fractal: Iterated function system +Rendering from server: Streaming animated GIF +Sending click event to server: `<input type="image" src="streaming.gif">` with `<form target="invisible_iframe">` + +### Limitations + +Does not work on Safari and iOS. diff --git a/sample/trick2022/03-mame/authors.markdown b/sample/trick2022/03-mame/authors.markdown new file mode 100644 index 0000000000..0e420fdf5d --- /dev/null +++ b/sample/trick2022/03-mame/authors.markdown @@ -0,0 +1,3 @@ +* Yusuke Endoh + * mame@ruby-lang.org + * cctld: jp diff --git a/sample/trick2022/03-mame/entry.rb b/sample/trick2022/03-mame/entry.rb new file mode 100644 index 0000000000..f24595dfa9 --- /dev/null +++ b/sample/trick2022/03-mame/entry.rb @@ -0,0 +1,27 @@ +2022;"# + +.chars} {puts'TRICK+2022' + \ { ; +#';$><< b + ?! +};#{s=' ' # 0 +! s[0]? ( b=$<.read ;' +} ub( ,''} +';a= ''<<32 +b.lines {puts( ?.. *( +b.size) .gsub(/./) { +b.sub!( /^#$`\K(\S) + /x,a)?$1:a } + .rstrip)}): + ( [ 12,1,12,11]. +cycle { | i | t = ( s * + +10<< +10)* +10+ %(\e[A)* +10 +10. times{t[i* + _1 ] = 'TRICK+2022'[ + _1 ] };$><<t + sleep 1}) + }" diff --git a/sample/trick2022/03-mame/remarks.markdown b/sample/trick2022/03-mame/remarks.markdown new file mode 100644 index 0000000000..c38279f016 --- /dev/null +++ b/sample/trick2022/03-mame/remarks.markdown @@ -0,0 +1,96 @@ +Execute the program normally. + +``` +$ ruby entry.rb +``` + +It shakes a string. + +... Wait! This is not all. + +Next, please apply "leftward gravity" to each letter in the file. +IOW, if there is a space to the left of a letter, move it to the left. +Here, you may want to use the following command. + +``` +$ sed "s/ //g" entry.rb | tee up.rb +``` + +This program applies "upward gravity" to each letter in an input text. +The following demo will help you understand what this means. + +``` +$ cat test.txt +$ ruby up.rb test.txt +``` + +Now, here's where we come in. +Please apply "upward gravity" to entry.rb. + +``` +$ ruby up.rb entry.rb | tee left.rb +``` + +I think that you already noticed that. +This program applies "leftward gravity" to an input text. + +``` +$ cat test.txt +$ ruby left.rb test.txt +``` + +`sed` is no longer required to create `up.rb`; just use `left.rb`. + +``` +$ ruby left.rb entry.rb > up.rb +``` + +We've come to the final stage. +Please apply `left.rb` to `left.rb`. + +``` +$ ruby left.rb left.rb | tee horizontal.rb +$ ruby horizontal.rb +``` + +Of course, it is also possible to apply `up.rb` to `up.rb`. + +``` +$ ruby up.rb up.rb | tee vertical.rb +$ ruby vertical.rb +``` + +Can you tell how they work? Enjoy analyzing! + + + +--- +Code reading tips (spoiler) + +Some code fragments are highly reused between the programs. +For example, note that this program has one code fragment to input a text +(`b=$>.read`); `up.rb` and `left.rb` share and use this code fragment. +Also, `horizontal.rb` and `vertical.rb` share the fragment `puts'TRICK+2022'`. +Sometimes letters in very distant places are reused all over the place. + +Can you tell how it detects if it is already aligned or not yet? +Here is a simplified version of the gimmick to switch behavior when +left-aligned: + +``` +"\ #{puts('not left-aligned yet')} + # {puts('left-aligned')}" +``` + +And for top-aligned: + +``` +"# +xx{puts('top-aligned')} +x#{puts('not top-aligned yet')} +" +``` + +It is also necessary to detect "top-left-aligned" and "left-top-aligned". +I made tons of subtle adjustments and trial-and-error to create the program. +I no longer know precisely how it works. diff --git a/sample/trick2022/03-mame/test.txt b/sample/trick2022/03-mame/test.txt new file mode 100644 index 0000000000..18802153a9 --- /dev/null +++ b/sample/trick2022/03-mame/test.txt @@ -0,0 +1,13 @@ +T + R + I + C + K + | + | + | + | + 2 + 0 + 2 + 2 diff --git a/sample/trick2022/README.md b/sample/trick2022/README.md new file mode 100644 index 0000000000..3b2af6f86b --- /dev/null +++ b/sample/trick2022/README.md @@ -0,0 +1,14 @@ +This directory contains the award-winning entries of +the 4th Transcendental Ruby Imbroglio Contest for rubyKaigi (TRICK 2022). + +THESE ARE BAD EXAMPLES! You must NOT use them as a sample code. + +* 01-tompng/entry.rb: "Best fishbowl" -- Tomoya Ishida (tompng) +* 02-tompng/entry.rb: "Most interactive code" -- Tomoya Ishida (tompng) +* 03-mame/entry.rb: "Most anti-gravity" -- Yusuke Endoh + +These files are licensed under MIT license. + +For the contest outline and other winning entries, see: + +https://github.com/tric/trick2022 diff --git a/sample/uumerge.rb b/sample/uumerge.rb index 2576bcb864..1b81582c24 100644 --- a/sample/uumerge.rb +++ b/sample/uumerge.rb @@ -15,7 +15,7 @@ while line = gets() if out_stdout out = STDOUT else - out = open($file, "w") if $file != "" + out = File.open($file, "w") if $file != "" end out.binmode break diff --git a/sample/win32ole/excel1.rb b/sample/win32ole/excel1.rb new file mode 100644 index 0000000000..4fe1d0c2a9 --- /dev/null +++ b/sample/win32ole/excel1.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: false +require 'win32ole' + +application = WIN32OLE.new('Excel.Application') + +application.visible = true +workbook = application.Workbooks.Add(); +worksheet = workbook.Worksheets(1); + +=begin +worksheet.Range("A1:D1").value = ["North","South","East","West"]; +worksheet.Range("A2:B2").value = [5.2, 10]; + +worksheet.Range("C2").value = 8; +worksheet.Range("D2").value = 20; +=end + +worksheet.Range("A1:B2").value = [["North","South"], + [5.2, 10]]; + +vals = WIN32OLE_VARIANT.new([["East","West"], + [8, 20]], + WIN32OLE::VARIANT::VT_ARRAY) +worksheet.Range("C1:D2").value = vals + +range = worksheet.Range("A1:D2"); +range.Select +chart = workbook.Charts.Add; + +workbook.saved = true; + +print "Now quit Excel... Please enter." +gets + +application.ActiveWorkbook.Close(0); +application.Quit(); + diff --git a/sample/win32ole/excel2.rb b/sample/win32ole/excel2.rb new file mode 100644 index 0000000000..47a5715f84 --- /dev/null +++ b/sample/win32ole/excel2.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: false +require 'win32ole' + +# -4100 is the value for the Excel constant xl3DColumn. +ChartTypeVal = -4100; + +# Creates OLE object to Excel +excel = WIN32OLE.new("excel.application") + +# Create and rotate the chart +excel.visible = true; +excel.Workbooks.Add(); +excel.Range("a1").value = 3; +excel.Range("a2").value = 2; +excel.Range("a3").value = 1; +excel.Range("a1:a3").Select(); +excelchart = excel.Charts.Add(); +excelchart.type = ChartTypeVal; + +i = 0 +i.step(180, 10) do |rot| + excelchart.rotation=rot; + sleep 0.1 +end +# Done, bye + +print "Now quit Excel... Please enter." +gets + +excel.ActiveWorkbook.Close(0); +excel.Quit(); diff --git a/sample/win32ole/excel3.rb b/sample/win32ole/excel3.rb new file mode 100644 index 0000000000..72aee2a929 --- /dev/null +++ b/sample/win32ole/excel3.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: false +require 'win32ole' + +#application = WIN32OLE.new('Excel.Application.5') +application = WIN32OLE.new('Excel.Application') + +application.visible = true +workbook = application.Workbooks.Add(); +sheet = workbook.Worksheets(1); +sheetS = workbook.Worksheets +puts "The number of sheets is #{sheetS.count}" +puts "Now add 2 sheets after of `#{sheet.name}`" +sheetS.add({'count'=>2, 'after'=>sheet}) +puts "The number of sheets is #{sheetS.count}" + +print "Now quit Excel... Please enter." +gets + +application.ActiveWorkbook.Close(0); +application.Quit(); + diff --git a/sample/win32ole/ie.rb b/sample/win32ole/ie.rb new file mode 100644 index 0000000000..4db64eed30 --- /dev/null +++ b/sample/win32ole/ie.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: false +require 'win32ole' +url = 'http://www.ruby-lang.org/' +ie = WIN32OLE.new('InternetExplorer.Application') +ie.visible = true +ie.gohome +print "Now navigate Ruby home page... Please enter." +gets +ie.navigate(url) +print "Now quit Internet Explorer... Please enter." +gets +ie.Quit() diff --git a/sample/win32ole/ieconst.rb b/sample/win32ole/ieconst.rb new file mode 100644 index 0000000000..363a4f8153 --- /dev/null +++ b/sample/win32ole/ieconst.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: false +require 'win32ole' + +ie = WIN32OLE.new('InternetExplorer.Application') +=begin +WIN32OLE.const_load(ie) +WIN32OLE.constants.sort.each do |c| + puts "#{c} = #{WIN32OLE.const_get(c)}" +end +=end + +module IE_CONST +end + +WIN32OLE.const_load(ie, IE_CONST) +IE_CONST.constants.sort.each do |c| + puts "#{c} = #{IE_CONST.const_get(c)}" +end + +#------------------------------------------------------------ +# Remark!!! CONSTANTS has not tested enoughly!!! +# CONSTANTS is alpha release. +# If there are constants which first letter is not [a-zA-Z], +# like a '_Foo', then maybe you can access the value by +# using CONSTANTS['_Foo'] +#------------------------------------------------------------ +IE_CONST::CONSTANTS.each do |k, v| + puts "#{k} = #{v}" +end + +puts WIN32OLE::VERSION +ie.quit + diff --git a/sample/win32ole/ienavi.rb b/sample/win32ole/ienavi.rb new file mode 100644 index 0000000000..5d0536028b --- /dev/null +++ b/sample/win32ole/ienavi.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: false +require 'win32ole' + +$urls = [] + +def navigate(url) + $urls << url +end + +def stop_msg_loop + puts "Now Stop IE..." + $LOOP = false; +end + +def default_handler(event, *args) + case event + when "BeforeNavigate" + puts "Now Navigate #{args[0]}..." + end +end + +ie = WIN32OLE.new('InternetExplorer.Application') +ie.visible = true +ie.gohome + +ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents') + +ev.on_event {|*args| default_handler(*args)} +ev.on_event("NavigateComplete") {|url| navigate(url)} +ev.on_event("Quit") {|*args| stop_msg_loop} + +$LOOP = true +while ($LOOP) + WIN32OLE_EVENT.message_loop +end + +puts "You Navigated the URLs ..." +$urls.each_with_index do |url, i| + puts "(#{i+1}) #{url}" +end + diff --git a/sample/win32ole/ienavi2.rb b/sample/win32ole/ienavi2.rb new file mode 100644 index 0000000000..3248393077 --- /dev/null +++ b/sample/win32ole/ienavi2.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: false +require 'win32ole' + +class IEHandler + attr_reader :loop + def initialize + @urls = [] + @loop = true + end + def method_missing(event, *args) + case event + when "BeforeNavigate2" + puts "Now Navigate #{args[1]}..." + end + end + def onNavigateComplete2(pdisp, url) + @urls << url + end + def onOnQuit + puts "Now Stop IE..." + @loop = false + end + def put_urls + puts "You Navigated the URLs ..." + @urls.each_with_index do |url, i| + puts "(#{i+1}) #{url}" + end + end +end + +ie = WIN32OLE.new('InternetExplorer.Application') +ie.visible = true +ie.gohome + +ev = WIN32OLE_EVENT.new(ie) +ev.handler = IEHandler.new + +while (ev.handler.loop) + WIN32OLE_EVENT.message_loop +end +ev.handler.put_urls diff --git a/sample/win32ole/oledirs.rb b/sample/win32ole/oledirs.rb new file mode 100644 index 0000000000..e52a0fd7ac --- /dev/null +++ b/sample/win32ole/oledirs.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: false +# +# You need WSH(Windows Scripting Host) to run this script. +# + +require "win32ole" + +def listup(items) +# items.each do |i| + for i in items + puts i.name + end +end + +fs = WIN32OLE.new("Scripting.FileSystemObject") + +folder = fs.GetFolder(".") + +puts "--- folder of #{folder.path} ---" +listup(folder.SubFolders) + +puts "--- files of #{folder.path} ---" +listup(folder.Files) + diff --git a/sample/win32ole/olegen.rb b/sample/win32ole/olegen.rb new file mode 100644 index 0000000000..9398194cf1 --- /dev/null +++ b/sample/win32ole/olegen.rb @@ -0,0 +1,348 @@ +# frozen_string_literal: false +#----------------------------- +# olegen.rb +# $Revision$ +#----------------------------- + +require 'win32ole' + +class WIN32COMGen + def initialize(typelib) + @typelib = typelib + @receiver = "" + end + attr_reader :typelib + + def ole_classes(typelib) + begin + @ole = WIN32OLE.new(typelib) + [@ole.ole_obj_help] + rescue + WIN32OLE_TYPE.ole_classes(typelib) + end + end + + def generate_args(method) + args = [] + if method.size_opt_params >= 0 + size_required_params = method.size_params - method.size_opt_params + else + size_required_params = method.size_params - 1 + end + size_required_params.times do |i| + if method.params[i] && method.params[i].optional? + args.push "arg#{i}=nil" + else + args.push "arg#{i}" + end + end + if method.size_opt_params >= 0 + method.size_opt_params.times do |i| + args.push "arg#{i + size_required_params}=nil" + end + else + args.push "*arg" + end + args.join(", ") + end + + def generate_argtype(typedetails) + ts = '' + typedetails.each do |t| + case t + when 'CARRAY', 'VOID', 'UINT', 'RESULT', 'DECIMAL', 'I8', 'UI8' +# raise "Sorry type\"" + t + "\" not supported" + ts << "\"??? NOT SUPPORTED TYPE:`#{t}'\"" + when 'USERDEFINED', 'Unknown Type 9' + ts << 'VT_DISPATCH' + break; + when 'SAFEARRAY' + ts << 'VT_ARRAY|' + when 'PTR' + ts << 'VT_BYREF|' + when 'INT' + ts << 'VT_I4' + else + if String === t + ts << 'VT_' + t + end + end + end + if ts.empty? + ts = 'VT_VARIANT' + elsif ts.end_with?(?|) + ts += 'VT_VARIANT' + end + ts + end + + def generate_argtypes(method, proptypes) + types = method.params.collect{|param| + generate_argtype(param.ole_type_detail) + }.join(", ") + if proptypes + types += ", " if types.size > 0 + types += generate_argtype(proptypes) + end + types + end + + def generate_method_body(method, disptype, types=nil) + " ret = #{@receiver}#{disptype}(#{method.dispid}, [" + + generate_args(method).gsub("=nil", "") + + "], [" + + generate_argtypes(method, types) + + "])\n" + + " @lastargs = WIN32OLE::ARGV\n" + + " ret" + end + + def generate_method_help(method, type = nil) + str = " # " + if type + str += type + else + str += method.return_type + end + str += " #{method.name}" + if method.event? + str += " EVENT" + str += " in #{method.event_interface}" + end + if method.helpstring && method.helpstring != "" + str += "\n # " + str += method.helpstring + end + args_help = generate_method_args_help(method) + if args_help + str += "\n" + str += args_help + end + str + end + + def generate_method_args_help(method) + args = [] + method.params.each_with_index {|param, i| + h = " # #{param.ole_type} arg#{i} --- #{param.name}" + inout = [] + inout.push "IN" if param.input? + inout.push "OUT" if param.output? + h += " [#{inout.join('/')}]" + h += " ( = #{param.default})" if param.default + args.push h + } + if args.size > 0 + args.join("\n") + else + nil + end + end + + def generate_method(method, disptype, io = STDOUT, types = nil) + io.puts "\n" + io.puts generate_method_help(method) + if method.invoke_kind == 'PROPERTYPUT' + io.print " def #{method.name}=(" + else + io.print " def #{method.name}(" + end + io.print generate_args(method) + io.puts ")" + io.puts generate_method_body(method, disptype, types) + io.puts " end" + end + + def generate_propputref_methods(klass, io = STDOUT) + klass.ole_methods.select {|method| + method.invoke_kind == 'PROPERTYPUTREF' && method.visible? + }.each do |method| + generate_method(method, io) + end + end + + def generate_properties_with_args(klass, io = STDOUT) + klass.ole_methods.select {|method| + method.invoke_kind == 'PROPERTYGET' && + method.visible? && + method.size_params > 0 + }.each do |method| + types = method.return_type_detail + io.puts "\n" + io.puts generate_method_help(method, types[0]) + io.puts " def #{method.name}" + if klass.ole_type == "Class" + io.print " OLEProperty.new(@dispatch, #{method.dispid}, [" + else + io.print " OLEProperty.new(self, #{method.dispid}, [" + end + io.print generate_argtypes(method, nil) + io.print "], [" + io.print generate_argtypes(method, types) + io.puts "])" + io.puts " end" + end + end + + def generate_propput_methods(klass, io = STDOUT) + klass.ole_methods.select {|method| + method.invoke_kind == 'PROPERTYPUT' && method.visible? && + method.size_params == 1 + }.each do |method| + ms = klass.ole_methods.select {|m| + m.invoke_kind == 'PROPERTYGET' && + m.dispid == method.dispid + } + types = [] + if ms.size == 1 + types = ms[0].return_type_detail + end + generate_method(method, '_setproperty', io, types) + end + end + + def generate_propget_methods(klass, io = STDOUT) + klass.ole_methods.select {|method| + method.invoke_kind == 'PROPERTYGET' && method.visible? && + method.size_params == 0 + }.each do |method| + generate_method(method, '_getproperty', io) + end + end + + def generate_func_methods(klass, io = STDOUT) + klass.ole_methods.select {|method| + method.invoke_kind == "FUNC" && method.visible? + }.each do |method| + generate_method(method, '_invoke', io) + end + end + + def generate_methods(klass, io = STDOUT) + generate_propget_methods(klass, io) + generate_propput_methods(klass, io) + generate_properties_with_args(klass, io) + generate_func_methods(klass, io) +# generate_propputref_methods(klass, io) + end + + def generate_constants(klass, io = STDOUT) + klass.variables.select {|v| + v.visible? && v.variable_kind == 'CONSTANT' + }.each do |v| + io.print " " + io.print v.name.sub(/^./){$&.upcase} + io.print " = " + io.puts v.value + end + end + + def class_name(klass) + klass_name = klass.name + if klass.ole_type == "Class" && + klass.guid && + klass.progid + klass_name = klass.progid.gsub(/\./, '_') + end + if /^[A-Z]/ !~ klass_name || Module.constants.include?(klass_name) + klass_name = 'OLE' + klass_name + end + klass_name + end + + def define_initialize(klass) + <<STR + + def initialize(obj = nil) + @clsid = "#{klass.guid}" + @progid = "#{klass.progid}" + if obj.nil? + @dispatch = WIN32OLE.new @progid + else + @dispatch = obj + end + end +STR + end + + def define_include + " include WIN32OLE::VARIANT" + end + + def define_instance_variables + " attr_reader :lastargs" + end + + def define_method_missing + <<STR + + def method_missing(cmd, *arg) + @dispatch.method_missing(cmd, *arg) + end +STR + end + + def define_class(klass, io = STDOUT) + io.puts "class #{class_name(klass)} # #{klass.name}" + io.puts define_include + io.puts define_instance_variables + io.puts " attr_reader :dispatch" + io.puts " attr_reader :clsid" + io.puts " attr_reader :progid" + io.puts define_initialize(klass) + io.puts define_method_missing + end + + def define_module(klass, io = STDOUT) + io.puts "module #{class_name(klass)}" + io.puts define_include + io.puts define_instance_variables + end + + def generate_class(klass, io = STDOUT) + io.puts "\n# #{klass.helpstring}" + if klass.ole_type == "Class" && + klass.guid && + klass.progid + @receiver = "@dispatch." + define_class(klass, io) + else + @receiver = "" + define_module(klass, io) + end + generate_constants(klass, io) + generate_methods(klass, io) + io.puts "end" + end + + def generate(io = STDOUT) + io.puts "require 'win32ole'" + io.puts "require 'win32ole/property'" + + ole_classes(typelib).select{|klass| + klass.visible? && + (klass.ole_type == "Class" || + klass.ole_type == "Interface" || + klass.ole_type == "Dispatch" || + klass.ole_type == "Enum") + }.each do |klass| + generate_class(klass, io) + end + begin + @ole.quit if @ole + rescue + end + end +end + +require 'win32ole' +if __FILE__ == $0 + if ARGV.size == 0 + $stderr.puts "usage: #{$0} Type Library [...]" + exit 1 + end + ARGV.each do |typelib| + comgen = WIN32COMGen.new(typelib) + comgen.generate + end +end diff --git a/sample/win32ole/xml.rb b/sample/win32ole/xml.rb new file mode 100644 index 0000000000..5a239c9336 --- /dev/null +++ b/sample/win32ole/xml.rb @@ -0,0 +1,7307 @@ +# frozen_string_literal: false +# +# This file created by olegen.rb as following. +# ruby olegen.rb 'Microsoft XML, version 2.0' > xml.rb +# +require 'win32ole' +require 'win32ole/property' + +# +module IXMLDOMImplementation + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BOOL hasFeature + # BSTR arg0 --- feature [IN] + # BSTR arg1 --- version [IN] + def hasFeature(arg0, arg1) + ret = _invoke(145, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# Core DOM node interface +module IXMLDOMNode + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# Constants that define a node's type +module OLEtagDOMNodeType + include WIN32OLE::VARIANT + attr_reader :lastargs + NODE_INVALID = 0 + NODE_ELEMENT = 1 + NODE_ATTRIBUTE = 2 + NODE_TEXT = 3 + NODE_CDATA_SECTION = 4 + NODE_ENTITY_REFERENCE = 5 + NODE_ENTITY = 6 + NODE_PROCESSING_INSTRUCTION = 7 + NODE_COMMENT = 8 + NODE_DOCUMENT = 9 + NODE_DOCUMENT_TYPE = 10 + NODE_DOCUMENT_FRAGMENT = 11 + NODE_NOTATION = 12 +end + +# +module IXMLDOMNodeList + include WIN32OLE::VARIANT + attr_reader :lastargs + + # I4 length + # number of nodes in the collection + def length() + ret = _getproperty(74, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # PTR item + # collection of nodes + # I4 arg0 --- index [IN] + def item + OLEProperty.new(self, 0, [VT_I4], [VT_I4, VT_BYREF|VT_DISPATCH]) + end + + # IXMLDOMNode nextNode + # get next node from iterator + def nextNode() + ret = _invoke(76, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID reset + # reset the position of iterator + def reset() + ret = _invoke(77, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMNamedNodeMap + include WIN32OLE::VARIANT + attr_reader :lastargs + + # I4 length + # number of nodes in the collection + def length() + ret = _getproperty(74, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # PTR item + # collection of nodes + # I4 arg0 --- index [IN] + def item + OLEProperty.new(self, 0, [VT_I4], [VT_I4, VT_BYREF|VT_DISPATCH]) + end + + # IXMLDOMNode getNamedItem + # lookup item by name + # BSTR arg0 --- name [IN] + def getNamedItem(arg0) + ret = _invoke(83, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode setNamedItem + # set item by name + # IXMLDOMNode arg0 --- newItem [IN] + def setNamedItem(arg0) + ret = _invoke(84, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeNamedItem + # remove item by name + # BSTR arg0 --- name [IN] + def removeNamedItem(arg0) + ret = _invoke(85, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode getQualifiedItem + # lookup the item by name and namespace + # BSTR arg0 --- baseName [IN] + # BSTR arg1 --- namespaceURI [IN] + def getQualifiedItem(arg0, arg1) + ret = _invoke(87, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeQualifiedItem + # remove the item by name and namespace + # BSTR arg0 --- baseName [IN] + # BSTR arg1 --- namespaceURI [IN] + def removeQualifiedItem(arg0, arg1) + ret = _invoke(88, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextNode + # get next node from iterator + def nextNode() + ret = _invoke(89, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID reset + # reset the position of iterator + def reset() + ret = _invoke(90, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMDocument + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocumentType doctype + # node corresponding to the DOCTYPE + def doctype() + ret = _getproperty(38, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMImplementation implementation + # info on this DOM implementation + def implementation() + ret = _getproperty(39, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMElement documentElement + # the root of the tree + def documentElement() + ret = _getproperty(40, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 readyState + # get the state of the XML document + def readyState() + ret = _getproperty(-525, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMParseError parseError + # get the last parser error + def parseError() + ret = _getproperty(59, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR url + # get the URL for the loaded XML document + def url() + ret = _getproperty(60, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL async + # flag for asynchronous download + def async() + ret = _getproperty(61, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL validateOnParse + # indicates whether the parser performs validation + def validateOnParse() + ret = _getproperty(65, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL resolveExternals + # indicates whether the parser resolves references to external DTD/Entities/Schema + def resolveExternals() + ret = _getproperty(66, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL preserveWhiteSpace + # indicates whether the parser preserves whitespace + def preserveWhiteSpace() + ret = _getproperty(67, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID async + # flag for asynchronous download + def async=(arg0) + ret = _setproperty(61, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID validateOnParse + # indicates whether the parser performs validation + def validateOnParse=(arg0) + ret = _setproperty(65, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID resolveExternals + # indicates whether the parser resolves references to external DTD/Entities/Schema + def resolveExternals=(arg0) + ret = _setproperty(66, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID preserveWhiteSpace + # indicates whether the parser preserves whitespace + def preserveWhiteSpace=(arg0) + ret = _setproperty(67, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID onreadystatechange + # register a readystatechange event handler + def onreadystatechange=(arg0) + ret = _setproperty(68, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID ondataavailable + # register an ondataavailable event handler + def ondataavailable=(arg0) + ret = _setproperty(69, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID ontransformnode + # register an ontransformnode event handler + def ontransformnode=(arg0) + ret = _setproperty(70, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMElement createElement + # create an Element node + # BSTR arg0 --- tagName [IN] + def createElement(arg0) + ret = _invoke(41, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocumentFragment createDocumentFragment + # create a DocumentFragment node + def createDocumentFragment() + ret = _invoke(42, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMText createTextNode + # create a text node + # BSTR arg0 --- data [IN] + def createTextNode(arg0) + ret = _invoke(43, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMComment createComment + # create a comment node + # BSTR arg0 --- data [IN] + def createComment(arg0) + ret = _invoke(44, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMCDATASection createCDATASection + # create a CDATA section node + # BSTR arg0 --- data [IN] + def createCDATASection(arg0) + ret = _invoke(45, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMProcessingInstruction createProcessingInstruction + # create a processing instruction node + # BSTR arg0 --- target [IN] + # BSTR arg1 --- data [IN] + def createProcessingInstruction(arg0, arg1) + ret = _invoke(46, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMAttribute createAttribute + # create an attribute node + # BSTR arg0 --- name [IN] + def createAttribute(arg0) + ret = _invoke(47, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMEntityReference createEntityReference + # create an entity reference node + # BSTR arg0 --- name [IN] + def createEntityReference(arg0) + ret = _invoke(49, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList getElementsByTagName + # build a list of elements by name + # BSTR arg0 --- tagName [IN] + def getElementsByTagName(arg0) + ret = _invoke(50, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode createNode + # create a node of the specified node type and name + # VARIANT arg0 --- type [IN] + # BSTR arg1 --- name [IN] + # BSTR arg2 --- namespaceURI [IN] + def createNode(arg0, arg1, arg2) + ret = _invoke(54, [arg0, arg1, arg2], [VT_VARIANT, VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nodeFromID + # retrieve node from it's ID + # BSTR arg0 --- idString [IN] + def nodeFromID(arg0) + ret = _invoke(56, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL load + # load document from the specified XML source + # VARIANT arg0 --- xmlSource [IN] + def load(arg0) + ret = _invoke(58, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID abort + # abort an asynchronous download + def abort() + ret = _invoke(62, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL loadXML + # load the document from a string + # BSTR arg0 --- bstrXML [IN] + def loadXML(arg0) + ret = _invoke(63, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID save + # save the document to a specified destination + # VARIANT arg0 --- destination [IN] + def save(arg0) + ret = _invoke(64, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMDocumentType + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR name + # name of the document type (root of the tree) + def name() + ret = _getproperty(131, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap entities + # a list of entities in the document + def entities() + ret = _getproperty(132, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap notations + # a list of notations in the document + def notations() + ret = _getproperty(133, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMElement + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR tagName + # get the tagName of the element + def tagName() + ret = _getproperty(97, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT getAttribute + # look up the string value of an attribute by name + # BSTR arg0 --- name [IN] + def getAttribute(arg0) + ret = _invoke(99, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID setAttribute + # set the string value of an attribute by name + # BSTR arg0 --- name [IN] + # VARIANT arg1 --- value [IN] + def setAttribute(arg0, arg1) + ret = _invoke(100, [arg0, arg1], [VT_BSTR, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID removeAttribute + # remove an attribute by name + # BSTR arg0 --- name [IN] + def removeAttribute(arg0) + ret = _invoke(101, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMAttribute getAttributeNode + # look up the attribute node by name + # BSTR arg0 --- name [IN] + def getAttributeNode(arg0) + ret = _invoke(102, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMAttribute setAttributeNode + # set the specified attribute on the element + # IXMLDOMAttribute arg0 --- DOMAttribute [IN] + def setAttributeNode(arg0) + ret = _invoke(103, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMAttribute removeAttributeNode + # remove the specified attribute + # IXMLDOMAttribute arg0 --- DOMAttribute [IN] + def removeAttributeNode(arg0) + ret = _invoke(104, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList getElementsByTagName + # build a list of elements by name + # BSTR arg0 --- tagName [IN] + def getElementsByTagName(arg0) + ret = _invoke(105, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID normalize + # collapse all adjacent text nodes in sub-tree + def normalize() + ret = _invoke(106, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMAttribute + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR name + # get name of the attribute + def name() + ret = _getproperty(118, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT value + # string value of the attribute + def value() + ret = _getproperty(120, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID value + # string value of the attribute + def value=(arg0) + ret = _setproperty(120, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMDocumentFragment + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMText + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR data + # value of the node + def data() + ret = _getproperty(109, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 length + # number of characters in value + def length() + ret = _getproperty(110, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID data + # value of the node + def data=(arg0) + ret = _setproperty(109, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR substringData + # retrieve substring of value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def substringData(arg0, arg1) + ret = _invoke(111, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID appendData + # append string to value + # BSTR arg0 --- data [IN] + def appendData(arg0) + ret = _invoke(112, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID insertData + # insert string into value + # I4 arg0 --- offset [IN] + # BSTR arg1 --- data [IN] + def insertData(arg0, arg1) + ret = _invoke(113, [arg0, arg1], [VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID deleteData + # delete string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def deleteData(arg0, arg1) + ret = _invoke(114, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID replaceData + # replace string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + # BSTR arg2 --- data [IN] + def replaceData(arg0, arg1, arg2) + ret = _invoke(115, [arg0, arg1, arg2], [VT_I4, VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMText splitText + # split the text node into two text nodes at the position specified + # I4 arg0 --- offset [IN] + def splitText(arg0) + ret = _invoke(123, [arg0], [VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMCharacterData + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR data + # value of the node + def data() + ret = _getproperty(109, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 length + # number of characters in value + def length() + ret = _getproperty(110, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID data + # value of the node + def data=(arg0) + ret = _setproperty(109, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR substringData + # retrieve substring of value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def substringData(arg0, arg1) + ret = _invoke(111, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID appendData + # append string to value + # BSTR arg0 --- data [IN] + def appendData(arg0) + ret = _invoke(112, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID insertData + # insert string into value + # I4 arg0 --- offset [IN] + # BSTR arg1 --- data [IN] + def insertData(arg0, arg1) + ret = _invoke(113, [arg0, arg1], [VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID deleteData + # delete string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def deleteData(arg0, arg1) + ret = _invoke(114, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID replaceData + # replace string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + # BSTR arg2 --- data [IN] + def replaceData(arg0, arg1, arg2) + ret = _invoke(115, [arg0, arg1, arg2], [VT_I4, VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMComment + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR data + # value of the node + def data() + ret = _getproperty(109, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 length + # number of characters in value + def length() + ret = _getproperty(110, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID data + # value of the node + def data=(arg0) + ret = _setproperty(109, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR substringData + # retrieve substring of value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def substringData(arg0, arg1) + ret = _invoke(111, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID appendData + # append string to value + # BSTR arg0 --- data [IN] + def appendData(arg0) + ret = _invoke(112, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID insertData + # insert string into value + # I4 arg0 --- offset [IN] + # BSTR arg1 --- data [IN] + def insertData(arg0, arg1) + ret = _invoke(113, [arg0, arg1], [VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID deleteData + # delete string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def deleteData(arg0, arg1) + ret = _invoke(114, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID replaceData + # replace string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + # BSTR arg2 --- data [IN] + def replaceData(arg0, arg1, arg2) + ret = _invoke(115, [arg0, arg1, arg2], [VT_I4, VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMCDATASection + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR data + # value of the node + def data() + ret = _getproperty(109, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 length + # number of characters in value + def length() + ret = _getproperty(110, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID data + # value of the node + def data=(arg0) + ret = _setproperty(109, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR substringData + # retrieve substring of value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def substringData(arg0, arg1) + ret = _invoke(111, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID appendData + # append string to value + # BSTR arg0 --- data [IN] + def appendData(arg0) + ret = _invoke(112, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID insertData + # insert string into value + # I4 arg0 --- offset [IN] + # BSTR arg1 --- data [IN] + def insertData(arg0, arg1) + ret = _invoke(113, [arg0, arg1], [VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID deleteData + # delete string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + def deleteData(arg0, arg1) + ret = _invoke(114, [arg0, arg1], [VT_I4, VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID replaceData + # replace string within the value + # I4 arg0 --- offset [IN] + # I4 arg1 --- count [IN] + # BSTR arg2 --- data [IN] + def replaceData(arg0, arg1, arg2) + ret = _invoke(115, [arg0, arg1, arg2], [VT_I4, VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMText splitText + # split the text node into two text nodes at the position specified + # I4 arg0 --- offset [IN] + def splitText(arg0) + ret = _invoke(123, [arg0], [VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMProcessingInstruction + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR target + # the target + def target() + ret = _getproperty(127, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR data + # the data + def data() + ret = _getproperty(128, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID data + # the data + def data=(arg0) + ret = _setproperty(128, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMEntityReference + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# structure for reporting parser errors +module IXMLDOMParseError + include WIN32OLE::VARIANT + attr_reader :lastargs + + # I4 errorCode + # the error code + def errorCode() + ret = _getproperty(0, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR url + # the URL of the XML document containing the error + def url() + ret = _getproperty(179, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR reason + # the cause of the error + def reason() + ret = _getproperty(180, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR srcText + # the data where the error occurred + def srcText() + ret = _getproperty(181, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 line + # the line number in the XML document where the error occurred + def line() + ret = _getproperty(182, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 linepos + # the character position in the line containing the error + def linepos() + ret = _getproperty(183, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 filepos + # the absolute file position in the XML document containing the error + def filepos() + ret = _getproperty(184, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMNotation + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT publicId + # the public ID + def publicId() + ret = _getproperty(136, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT systemId + # the system ID + def systemId() + ret = _getproperty(137, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# +module IXMLDOMEntity + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT publicId + # the public ID + def publicId() + ret = _getproperty(140, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT systemId + # the system ID + def systemId() + ret = _getproperty(141, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR notationName + # the name of the notation + def notationName() + ret = _getproperty(142, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# XTL runtime object +module IXTLRuntime + include WIN32OLE::VARIANT + attr_reader :lastargs + + # BSTR nodeName + # name of the node + def nodeName() + ret = _getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = _getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = _getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = _getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = _getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = _getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = _getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = _getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = _getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = _getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = _getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = _getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = _getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = _getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = _getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = _getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = _setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = _setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = _setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = _setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = _invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = _invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = _invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = _invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = _invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = _invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = _invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = _invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = _invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = _invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 uniqueID + # IXMLDOMNode arg0 --- pNode [IN] + def uniqueID(arg0) + ret = _invoke(187, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 depth + # IXMLDOMNode arg0 --- pNode [IN] + def depth(arg0) + ret = _invoke(188, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 childNumber + # IXMLDOMNode arg0 --- pNode [IN] + def childNumber(arg0) + ret = _invoke(189, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 ancestorChildNumber + # BSTR arg0 --- bstrNodeName [IN] + # IXMLDOMNode arg1 --- pNode [IN] + def ancestorChildNumber(arg0, arg1) + ret = _invoke(190, [arg0, arg1], [VT_BSTR, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 absoluteChildNumber + # IXMLDOMNode arg0 --- pNode [IN] + def absoluteChildNumber(arg0) + ret = _invoke(191, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR formatIndex + # I4 arg0 --- lIndex [IN] + # BSTR arg1 --- bstrFormat [IN] + def formatIndex(arg0, arg1) + ret = _invoke(192, [arg0, arg1], [VT_I4, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR formatNumber + # R8 arg0 --- dblNumber [IN] + # BSTR arg1 --- bstrFormat [IN] + def formatNumber(arg0, arg1) + ret = _invoke(193, [arg0, arg1], [VT_R8, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR formatDate + # VARIANT arg0 --- varDate [IN] + # BSTR arg1 --- bstrFormat [IN] + # VARIANT arg2 --- varDestLocale [IN] + def formatDate(arg0, arg1, arg2=nil) + ret = _invoke(194, [arg0, arg1, arg2], [VT_VARIANT, VT_BSTR, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR formatTime + # VARIANT arg0 --- varTime [IN] + # BSTR arg1 --- bstrFormat [IN] + # VARIANT arg2 --- varDestLocale [IN] + def formatTime(arg0, arg1, arg2=nil) + ret = _invoke(195, [arg0, arg1, arg2], [VT_VARIANT, VT_BSTR, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# W3C-DOM XML Document +class Microsoft_XMLDOM_1_0 # DOMDocument + include WIN32OLE::VARIANT + attr_reader :lastargs + attr_reader :dispatch + attr_reader :clsid + attr_reader :progid + + def initialize(obj = nil) + @clsid = "{2933BF90-7B36-11D2-B20E-00C04F983E60}" + @progid = "Microsoft.XMLDOM.1.0" + if obj.nil? + @dispatch = WIN32OLE.new(@progid) + else + @dispatch = obj + end + end + + def method_missing(cmd, *arg) + @dispatch.method_missing(cmd, *arg) + end + + # BSTR nodeName + # name of the node + def nodeName() + ret = @dispatch._getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = @dispatch._getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = @dispatch._getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = @dispatch._getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = @dispatch._getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = @dispatch._getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = @dispatch._getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = @dispatch._getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = @dispatch._getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = @dispatch._getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = @dispatch._getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = @dispatch._getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = @dispatch._getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = @dispatch._getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = @dispatch._getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = @dispatch._getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = @dispatch._getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = @dispatch._getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = @dispatch._getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = @dispatch._getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = @dispatch._getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = @dispatch._getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocumentType doctype + # node corresponding to the DOCTYPE + def doctype() + ret = @dispatch._getproperty(38, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMImplementation implementation + # info on this DOM implementation + def implementation() + ret = @dispatch._getproperty(39, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMElement documentElement + # the root of the tree + def documentElement() + ret = @dispatch._getproperty(40, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 readyState + # get the state of the XML document + def readyState() + ret = @dispatch._getproperty(-525, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMParseError parseError + # get the last parser error + def parseError() + ret = @dispatch._getproperty(59, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR url + # get the URL for the loaded XML document + def url() + ret = @dispatch._getproperty(60, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL async + # flag for asynchronous download + def async() + ret = @dispatch._getproperty(61, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL validateOnParse + # indicates whether the parser performs validation + def validateOnParse() + ret = @dispatch._getproperty(65, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL resolveExternals + # indicates whether the parser resolves references to external DTD/Entities/Schema + def resolveExternals() + ret = @dispatch._getproperty(66, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL preserveWhiteSpace + # indicates whether the parser preserves whitespace + def preserveWhiteSpace() + ret = @dispatch._getproperty(67, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = @dispatch._setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = @dispatch._setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = @dispatch._setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = @dispatch._setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID async + # flag for asynchronous download + def async=(arg0) + ret = @dispatch._setproperty(61, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID validateOnParse + # indicates whether the parser performs validation + def validateOnParse=(arg0) + ret = @dispatch._setproperty(65, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID resolveExternals + # indicates whether the parser resolves references to external DTD/Entities/Schema + def resolveExternals=(arg0) + ret = @dispatch._setproperty(66, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID preserveWhiteSpace + # indicates whether the parser preserves whitespace + def preserveWhiteSpace=(arg0) + ret = @dispatch._setproperty(67, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID onreadystatechange + # register a readystatechange event handler + def onreadystatechange=(arg0) + ret = @dispatch._setproperty(68, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID ondataavailable + # register an ondataavailable event handler + def ondataavailable=(arg0) + ret = @dispatch._setproperty(69, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID ontransformnode + # register an ontransformnode event handler + def ontransformnode=(arg0) + ret = @dispatch._setproperty(70, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = @dispatch._invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = @dispatch._invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = @dispatch._invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = @dispatch._invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = @dispatch._invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = @dispatch._invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = @dispatch._invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = @dispatch._invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = @dispatch._invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = @dispatch._invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMElement createElement + # create an Element node + # BSTR arg0 --- tagName [IN] + def createElement(arg0) + ret = @dispatch._invoke(41, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocumentFragment createDocumentFragment + # create a DocumentFragment node + def createDocumentFragment() + ret = @dispatch._invoke(42, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMText createTextNode + # create a text node + # BSTR arg0 --- data [IN] + def createTextNode(arg0) + ret = @dispatch._invoke(43, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMComment createComment + # create a comment node + # BSTR arg0 --- data [IN] + def createComment(arg0) + ret = @dispatch._invoke(44, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMCDATASection createCDATASection + # create a CDATA section node + # BSTR arg0 --- data [IN] + def createCDATASection(arg0) + ret = @dispatch._invoke(45, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMProcessingInstruction createProcessingInstruction + # create a processing instruction node + # BSTR arg0 --- target [IN] + # BSTR arg1 --- data [IN] + def createProcessingInstruction(arg0, arg1) + ret = @dispatch._invoke(46, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMAttribute createAttribute + # create an attribute node + # BSTR arg0 --- name [IN] + def createAttribute(arg0) + ret = @dispatch._invoke(47, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMEntityReference createEntityReference + # create an entity reference node + # BSTR arg0 --- name [IN] + def createEntityReference(arg0) + ret = @dispatch._invoke(49, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList getElementsByTagName + # build a list of elements by name + # BSTR arg0 --- tagName [IN] + def getElementsByTagName(arg0) + ret = @dispatch._invoke(50, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode createNode + # create a node of the specified node type and name + # VARIANT arg0 --- type [IN] + # BSTR arg1 --- name [IN] + # BSTR arg2 --- namespaceURI [IN] + def createNode(arg0, arg1, arg2) + ret = @dispatch._invoke(54, [arg0, arg1, arg2], [VT_VARIANT, VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nodeFromID + # retrieve node from it's ID + # BSTR arg0 --- idString [IN] + def nodeFromID(arg0) + ret = @dispatch._invoke(56, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL load + # load document from the specified XML source + # VARIANT arg0 --- xmlSource [IN] + def load(arg0) + ret = @dispatch._invoke(58, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID abort + # abort an asynchronous download + def abort() + ret = @dispatch._invoke(62, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL loadXML + # load the document from a string + # BSTR arg0 --- bstrXML [IN] + def loadXML(arg0) + ret = @dispatch._invoke(63, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID save + # save the document to a specified destination + # VARIANT arg0 --- destination [IN] + def save(arg0) + ret = @dispatch._invoke(64, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT ondataavailable EVENT in XMLDOMDocumentEvents + def ondataavailable() + ret = @dispatch._invoke(198, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT onreadystatechange EVENT in XMLDOMDocumentEvents + def onreadystatechange() + ret = @dispatch._invoke(-609, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# W3C-DOM XML Document (Apartment) +class Microsoft_FreeThreadedXMLDOM_1_0 # DOMFreeThreadedDocument + include WIN32OLE::VARIANT + attr_reader :lastargs + attr_reader :dispatch + attr_reader :clsid + attr_reader :progid + + def initialize(obj = nil) + @clsid = "{2933BF91-7B36-11D2-B20E-00C04F983E60}" + @progid = "Microsoft.FreeThreadedXMLDOM.1.0" + if obj.nil? + @dispatch = WIN32OLE.new(@progid) + else + @dispatch = obj + end + end + + def method_missing(cmd, *arg) + @dispatch.method_missing(cmd, *arg) + end + + # BSTR nodeName + # name of the node + def nodeName() + ret = @dispatch._getproperty(2, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeValue + # value stored in the node + def nodeValue() + ret = @dispatch._getproperty(3, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DOMNodeType nodeType + # the node's type + def nodeType() + ret = @dispatch._getproperty(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode parentNode + # parent of the node + def parentNode() + ret = @dispatch._getproperty(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList childNodes + # the collection of the node's children + def childNodes() + ret = @dispatch._getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode firstChild + # first child of the node + def firstChild() + ret = @dispatch._getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode lastChild + # first child of the node + def lastChild() + ret = @dispatch._getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode previousSibling + # left sibling of the node + def previousSibling() + ret = @dispatch._getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nextSibling + # right sibling of the node + def nextSibling() + ret = @dispatch._getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNamedNodeMap attributes + # the collection of the node's attributes + def attributes() + ret = @dispatch._getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocument ownerDocument + # document that contains the node + def ownerDocument() + ret = @dispatch._getproperty(18, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR nodeTypeString + # the type of node in string form + def nodeTypeString() + ret = @dispatch._getproperty(21, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR text + # text content of the node and subtree + def text() + ret = @dispatch._getproperty(24, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL specified + # indicates whether node is a default value + def specified() + ret = @dispatch._getproperty(22, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode definition + # pointer to the definition of the node in the DTD or schema + def definition() + ret = @dispatch._getproperty(23, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue() + ret = @dispatch._getproperty(25, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT dataType + # the data type of the node + def dataType() + ret = @dispatch._getproperty(26, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR xml + # return the XML source for the node and each of its descendants + def xml() + ret = @dispatch._getproperty(27, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL parsed + # has sub-tree been completely parsed + def parsed() + ret = @dispatch._getproperty(31, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR namespaceURI + # the URI for the namespace applying to the node + def namespaceURI() + ret = @dispatch._getproperty(32, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR prefix + # the prefix for the namespace applying to the node + def prefix() + ret = @dispatch._getproperty(33, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR baseName + # the base name of the node (nodename with the prefix stripped off) + def baseName() + ret = @dispatch._getproperty(34, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocumentType doctype + # node corresponding to the DOCTYPE + def doctype() + ret = @dispatch._getproperty(38, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMImplementation implementation + # info on this DOM implementation + def implementation() + ret = @dispatch._getproperty(39, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMElement documentElement + # the root of the tree + def documentElement() + ret = @dispatch._getproperty(40, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 readyState + # get the state of the XML document + def readyState() + ret = @dispatch._getproperty(-525, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMParseError parseError + # get the last parser error + def parseError() + ret = @dispatch._getproperty(59, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR url + # get the URL for the loaded XML document + def url() + ret = @dispatch._getproperty(60, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL async + # flag for asynchronous download + def async() + ret = @dispatch._getproperty(61, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL validateOnParse + # indicates whether the parser performs validation + def validateOnParse() + ret = @dispatch._getproperty(65, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL resolveExternals + # indicates whether the parser resolves references to external DTD/Entities/Schema + def resolveExternals() + ret = @dispatch._getproperty(66, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL preserveWhiteSpace + # indicates whether the parser preserves whitespace + def preserveWhiteSpace() + ret = @dispatch._getproperty(67, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeValue + # value stored in the node + def nodeValue=(arg0) + ret = @dispatch._setproperty(3, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID text + # text content of the node and subtree + def text=(arg0) + ret = @dispatch._setproperty(24, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID nodeTypedValue + # get the strongly typed value of the node + def nodeTypedValue=(arg0) + ret = @dispatch._setproperty(25, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID dataType + # the data type of the node + def dataType=(arg0) + ret = @dispatch._setproperty(26, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID async + # flag for asynchronous download + def async=(arg0) + ret = @dispatch._setproperty(61, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID validateOnParse + # indicates whether the parser performs validation + def validateOnParse=(arg0) + ret = @dispatch._setproperty(65, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID resolveExternals + # indicates whether the parser resolves references to external DTD/Entities/Schema + def resolveExternals=(arg0) + ret = @dispatch._setproperty(66, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID preserveWhiteSpace + # indicates whether the parser preserves whitespace + def preserveWhiteSpace=(arg0) + ret = @dispatch._setproperty(67, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID onreadystatechange + # register a readystatechange event handler + def onreadystatechange=(arg0) + ret = @dispatch._setproperty(68, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID ondataavailable + # register an ondataavailable event handler + def ondataavailable=(arg0) + ret = @dispatch._setproperty(69, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID ontransformnode + # register an ontransformnode event handler + def ontransformnode=(arg0) + ret = @dispatch._setproperty(70, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode insertBefore + # insert a child node + # IXMLDOMNode arg0 --- newChild [IN] + # VARIANT arg1 --- refChild [IN] + def insertBefore(arg0, arg1) + ret = @dispatch._invoke(13, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode replaceChild + # replace a child node + # IXMLDOMNode arg0 --- newChild [IN] + # IXMLDOMNode arg1 --- oldChild [IN] + def replaceChild(arg0, arg1) + ret = @dispatch._invoke(14, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode removeChild + # remove a child node + # IXMLDOMNode arg0 --- childNode [IN] + def removeChild(arg0) + ret = @dispatch._invoke(15, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode appendChild + # append a child node + # IXMLDOMNode arg0 --- newChild [IN] + def appendChild(arg0) + ret = @dispatch._invoke(16, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL hasChildNodes + def hasChildNodes() + ret = @dispatch._invoke(17, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode cloneNode + # BOOL arg0 --- deep [IN] + def cloneNode(arg0) + ret = @dispatch._invoke(19, [arg0], [VT_BOOL]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR transformNode + # apply the stylesheet to the subtree + # IXMLDOMNode arg0 --- stylesheet [IN] + def transformNode(arg0) + ret = @dispatch._invoke(28, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList selectNodes + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectNodes(arg0) + ret = @dispatch._invoke(29, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode selectSingleNode + # execute query on the subtree + # BSTR arg0 --- queryString [IN] + def selectSingleNode(arg0) + ret = @dispatch._invoke(30, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID transformNodeToObject + # apply the stylesheet to the subtree, returning the result through a document or a stream + # IXMLDOMNode arg0 --- stylesheet [IN] + # VARIANT arg1 --- outputObject [IN] + def transformNodeToObject(arg0, arg1) + ret = @dispatch._invoke(35, [arg0, arg1], [VT_BYREF|VT_DISPATCH, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMElement createElement + # create an Element node + # BSTR arg0 --- tagName [IN] + def createElement(arg0) + ret = @dispatch._invoke(41, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMDocumentFragment createDocumentFragment + # create a DocumentFragment node + def createDocumentFragment() + ret = @dispatch._invoke(42, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMText createTextNode + # create a text node + # BSTR arg0 --- data [IN] + def createTextNode(arg0) + ret = @dispatch._invoke(43, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMComment createComment + # create a comment node + # BSTR arg0 --- data [IN] + def createComment(arg0) + ret = @dispatch._invoke(44, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMCDATASection createCDATASection + # create a CDATA section node + # BSTR arg0 --- data [IN] + def createCDATASection(arg0) + ret = @dispatch._invoke(45, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMProcessingInstruction createProcessingInstruction + # create a processing instruction node + # BSTR arg0 --- target [IN] + # BSTR arg1 --- data [IN] + def createProcessingInstruction(arg0, arg1) + ret = @dispatch._invoke(46, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMAttribute createAttribute + # create an attribute node + # BSTR arg0 --- name [IN] + def createAttribute(arg0) + ret = @dispatch._invoke(47, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMEntityReference createEntityReference + # create an entity reference node + # BSTR arg0 --- name [IN] + def createEntityReference(arg0) + ret = @dispatch._invoke(49, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNodeList getElementsByTagName + # build a list of elements by name + # BSTR arg0 --- tagName [IN] + def getElementsByTagName(arg0) + ret = @dispatch._invoke(50, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode createNode + # create a node of the specified node type and name + # VARIANT arg0 --- type [IN] + # BSTR arg1 --- name [IN] + # BSTR arg2 --- namespaceURI [IN] + def createNode(arg0, arg1, arg2) + ret = @dispatch._invoke(54, [arg0, arg1, arg2], [VT_VARIANT, VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # IXMLDOMNode nodeFromID + # retrieve node from it's ID + # BSTR arg0 --- idString [IN] + def nodeFromID(arg0) + ret = @dispatch._invoke(56, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL load + # load document from the specified XML source + # VARIANT arg0 --- xmlSource [IN] + def load(arg0) + ret = @dispatch._invoke(58, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID abort + # abort an asynchronous download + def abort() + ret = @dispatch._invoke(62, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BOOL loadXML + # load the document from a string + # BSTR arg0 --- bstrXML [IN] + def loadXML(arg0) + ret = @dispatch._invoke(63, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID save + # save the document to a specified destination + # VARIANT arg0 --- destination [IN] + def save(arg0) + ret = @dispatch._invoke(64, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT ondataavailable EVENT in XMLDOMDocumentEvents + def ondataavailable() + ret = @dispatch._invoke(198, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT onreadystatechange EVENT in XMLDOMDocumentEvents + def onreadystatechange() + ret = @dispatch._invoke(-609, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# IXMLHttpRequest Interface +module IXMLHttpRequest + include WIN32OLE::VARIANT + attr_reader :lastargs + + # I4 status + # Get HTTP status code + def status() + ret = _getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR statusText + # Get HTTP status text + def statusText() + ret = _getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DISPATCH responseXML + # Get response body + def responseXML() + ret = _getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR responseText + # Get response body + def responseText() + ret = _getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT responseBody + # Get response body + def responseBody() + ret = _getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT responseStream + # Get response body + def responseStream() + ret = _getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 readyState + # Get ready state + def readyState() + ret = _getproperty(13, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID onreadystatechange + # Register a complete event handler + def onreadystatechange=(arg0) + ret = _setproperty(14, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID open + # Open HTTP connection + # BSTR arg0 --- bstrMethod [IN] + # BSTR arg1 --- bstrUrl [IN] + # VARIANT arg2 --- varAsync [IN] + # VARIANT arg3 --- bstrUser [IN] + # VARIANT arg4 --- bstrPassword [IN] + def open(arg0, arg1, arg2=nil, arg3=nil, arg4=nil) + ret = _invoke(1, [arg0, arg1, arg2, arg3, arg4], [VT_BSTR, VT_BSTR, VT_VARIANT, VT_VARIANT, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID setRequestHeader + # Add HTTP request header + # BSTR arg0 --- bstrHeader [IN] + # BSTR arg1 --- bstrValue [IN] + def setRequestHeader(arg0, arg1) + ret = _invoke(2, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR getResponseHeader + # Get HTTP response header + # BSTR arg0 --- bstrHeader [IN] + def getResponseHeader(arg0) + ret = _invoke(3, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR getAllResponseHeaders + # Get all HTTP response headers + def getAllResponseHeaders() + ret = _invoke(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID send + # Send HTTP request + # VARIANT arg0 --- varBody [IN] + def send(arg0=nil) + ret = _invoke(5, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID abort + # Abort HTTP request + def abort() + ret = _invoke(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# XML HTTP Request class. +class Microsoft_XMLHTTP_1 # XMLHTTPRequest + include WIN32OLE::VARIANT + attr_reader :lastargs + attr_reader :dispatch + attr_reader :clsid + attr_reader :progid + + def initialize(obj = nil) + @clsid = "{ED8C108E-4349-11D2-91A4-00C04F7969E8}" + @progid = "Microsoft.XMLHTTP.1" + if obj.nil? + @dispatch = WIN32OLE.new(@progid) + else + @dispatch = obj + end + end + + def method_missing(cmd, *arg) + @dispatch.method_missing(cmd, *arg) + end + + # I4 status + # Get HTTP status code + def status() + ret = @dispatch._getproperty(7, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR statusText + # Get HTTP status text + def statusText() + ret = @dispatch._getproperty(8, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # DISPATCH responseXML + # Get response body + def responseXML() + ret = @dispatch._getproperty(9, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR responseText + # Get response body + def responseText() + ret = @dispatch._getproperty(10, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT responseBody + # Get response body + def responseBody() + ret = @dispatch._getproperty(11, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VARIANT responseStream + # Get response body + def responseStream() + ret = @dispatch._getproperty(12, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 readyState + # Get ready state + def readyState() + ret = @dispatch._getproperty(13, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID onreadystatechange + # Register a complete event handler + def onreadystatechange=(arg0) + ret = @dispatch._setproperty(14, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID open + # Open HTTP connection + # BSTR arg0 --- bstrMethod [IN] + # BSTR arg1 --- bstrUrl [IN] + # VARIANT arg2 --- varAsync [IN] + # VARIANT arg3 --- bstrUser [IN] + # VARIANT arg4 --- bstrPassword [IN] + def open(arg0, arg1, arg2=nil, arg3=nil, arg4=nil) + ret = @dispatch._invoke(1, [arg0, arg1, arg2, arg3, arg4], [VT_BSTR, VT_BSTR, VT_VARIANT, VT_VARIANT, VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID setRequestHeader + # Add HTTP request header + # BSTR arg0 --- bstrHeader [IN] + # BSTR arg1 --- bstrValue [IN] + def setRequestHeader(arg0, arg1) + ret = @dispatch._invoke(2, [arg0, arg1], [VT_BSTR, VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR getResponseHeader + # Get HTTP response header + # BSTR arg0 --- bstrHeader [IN] + def getResponseHeader(arg0) + ret = @dispatch._invoke(3, [arg0], [VT_BSTR]) + @lastargs = WIN32OLE::ARGV + ret + end + + # BSTR getAllResponseHeaders + # Get all HTTP response headers + def getAllResponseHeaders() + ret = @dispatch._invoke(4, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID send + # Send HTTP request + # VARIANT arg0 --- varBody [IN] + def send(arg0=nil) + ret = @dispatch._invoke(5, [arg0], [VT_VARIANT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID abort + # Abort HTTP request + def abort() + ret = @dispatch._invoke(6, [], []) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# XML Data Source Object +class Microsoft_XMLDSO_1_0 # XMLDSOControl + include WIN32OLE::VARIANT + attr_reader :lastargs + attr_reader :dispatch + attr_reader :clsid + attr_reader :progid + + def initialize(obj = nil) + @clsid = "{550DDA30-0541-11D2-9CA9-0060B0EC3D39}" + @progid = "Microsoft.XMLDSO.1.0" + if obj.nil? + @dispatch = WIN32OLE.new(@progid) + else + @dispatch = obj + end + end + + def method_missing(cmd, *arg) + @dispatch.method_missing(cmd, *arg) + end + + # IXMLDOMDocument XMLDocument + def XMLDocument() + ret = @dispatch._getproperty(65537, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 JavaDSOCompatible + def JavaDSOCompatible() + ret = @dispatch._getproperty(65538, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # I4 readyState + def readyState() + ret = @dispatch._getproperty(-525, [], []) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID XMLDocument + def XMLDocument=(arg0) + ret = @dispatch._setproperty(65537, [arg0], [VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end + + # VOID JavaDSOCompatible + def JavaDSOCompatible=(arg0) + ret = @dispatch._setproperty(65538, [arg0], [VT_I4]) + @lastargs = WIN32OLE::ARGV + ret + end +end + +# Constants that define types for IXMLElement. +module OLEtagXMLEMEM_TYPE + include WIN32OLE::VARIANT + attr_reader :lastargs + XMLELEMTYPE_ELEMENT = 0 + XMLELEMTYPE_TEXT = 1 + XMLELEMTYPE_COMMENT = 2 + XMLELEMTYPE_DOCUMENT = 3 + XMLELEMTYPE_DTD = 4 + XMLELEMTYPE_PI = 5 + XMLELEMTYPE_OTHER = 6 +end + +# XMLDocument extends IXML Document. It is obsolete. You should use DOMDocument. This object should not be confused with the XMLDocument property on the XML data island. +class Msxml # XMLDocument + include WIN32OLE::VARIANT + attr_reader :lastargs + attr_reader :dispatch + attr_reader :clsid + attr_reader :progid + + def initialize(obj = nil) + @clsid = "{CFC399AF-D876-11D0-9C10-00C04FC99C8E}" + @progid = "Msxml" + if obj.nil? + @dispatch = WIN32OLE.new(@progid) + else + @dispatch = obj + end + end + + def method_missing(cmd, *arg) + @dispatch.method_missing(cmd, *arg) + end + + # HRESULT url + # set URL to load an XML document from the URL. + # BSTR arg0 --- p [IN] + def url=(arg0) + ret = @dispatch._setproperty(65641, [arg0], [VT_BSTR, VT_HRESULT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT charset + # get encoding. + # BSTR arg0 --- p [IN] + def charset=(arg0) + ret = @dispatch._setproperty(65645, [arg0], [VT_BSTR, VT_HRESULT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT async + # get asynchronous loading flag. + # BOOL arg0 --- pf [IN] + def async=(arg0) + ret = @dispatch._setproperty(65649, [arg0], [VT_BOOL, VT_HRESULT]) + @lastargs = WIN32OLE::ARGV + ret + end + + # HRESULT root + # get root IXMLElement of the XML document. + # IXMLElement2,IXMLElement2 arg0 --- p [OUT] + def root + OLEProperty.new(@dispatch, 65637, [VT_BYREF|VT_BYREF|VT_DISPATCH], [VT_BYREF|VT_BYREF|VT_DISPATCH, VT_HRESULT]) + end + + # HRESULT url + # set URL to load an XML document from the URL. + # BSTR arg0 --- p [OUT] + def url + OLEProperty.new(@dispatch, 65641, [VT_BYREF|VT_BSTR], [VT_BYREF|VT_BSTR, VT_HRESULT]) + end + + # HRESULT readyState + # get ready state. + # I4 arg0 --- pl [OUT] + def readyState + OLEProperty.new(@dispatch, 65643, [VT_BYREF|VT_I4], [VT_BYREF|VT_I4, VT_HRESULT]) + end + + # HRESULT charset + # get encoding. + # BSTR arg0 --- p [OUT] + def charset + OLEProperty.new(@dispatch, 65645, [VT_BYREF|VT_BSTR], [VT_BYREF|VT_BSTR, VT_HRESULT]) + end + + # HRESULT version + # get XML version number. + # BSTR arg0 --- p [OUT] + def version + OLEProperty.new(@dispatch, 65646, [VT_BYREF|VT_BSTR], [VT_BYREF|VT_BSTR, VT_HRESULT]) + end + + # HRESULT doctype + # get document type. + # BSTR arg0 --- p [OUT] + def doctype + OLEProperty.new(@dispatch, 65647, [VT_BYREF|VT_BSTR], [VT_BYREF|VT_BSTR, VT_HRESULT]) + end + + # HRESULT async + # get asynchronous loading flag. + # BOOL arg0 --- pf [OUT] + def async + OLEProperty.new(@dispatch, 65649, [VT_BYREF|VT_BOOL], [VT_BYREF|VT_BOOL, VT_HRESULT]) + end + + # HRESULT createElement + # create different types of IXMLElements. + # VARIANT arg0 --- vType [IN] + # VARIANT arg1 --- var1 [IN] + # IXMLElement2,IXMLElement2 arg2 --- ppElem [OUT] + def createElement(arg0, arg1=nil, arg2=nil) + ret = @dispatch._invoke(65644, [arg0, arg1, arg2], [VT_VARIANT, VT_VARIANT, VT_BYREF|VT_BYREF|VT_DISPATCH]) + @lastargs = WIN32OLE::ARGV + ret + end +end |