Method: WSS4R::Security::Xml::Reference#initialize

Defined in:
lib/wss4r/security/xml/reference.rb

#initialize(element, prefix_list = nil) ⇒ Reference

Returns a new instance of Reference.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/wss4r/security/xml/reference.rb', line 8

def initialize(element, prefix_list = nil)
         @ref_element = nil
         @transforms = Array.new()
         @prefix_list = prefix_list
         @uri = element.attribute("URI").to_s()[1..-1] #remove leading #

  
         elements = XPath.match(element, "Transforms/Transform", {"ds:" => Namespaces::DS})
         #element.each_element("ds:Transforms/ds:Transform"){|e|

         elements.each{|e|
           @transforms.push(e.attribute("Algorithm"))
         }
         elements = XPath.match(element, "ds:DigestMethod", {"ds" => Namespaces::DS})
         #element.each_element("ds:DigestMethod"){|e|

         elements.each{|e|
           @digest_algorithm = e.attribute("Algorithm")
         }
         elements = XPath.match(element, "ds:DigestValue", {"ds" => Namespaces::DS})
         #element.each_element("ds:DigestValue"){|e|

         elements.each{|e|
           @digest_value = e.text().strip()
         }
         @ref_element = XPath.first(element.document, "//*[@wsu:Id='"+@uri+"']")
end