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 |