[前][次][番号順一覧][スレッド一覧]

ruby-changes:8953

From: yugui <ko1@a...>
Date: Thu, 4 Dec 2008 14:21:03 +0900 (JST)
Subject: [ruby-changes:8953] Ruby:r20489 (ruby_1_9_1): merges r20454 from trunk into ruby_1_9_1.

yugui	2008-12-04 14:19:53 +0900 (Thu, 04 Dec 2008)

  New Revision: 20489

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20489

  Log:
    merges r20454 from trunk into ruby_1_9_1.
    * lib/rexml/xpath.rb (REXML::XPath.first): apply documentation
      patch from Ken Bloom in [ruby-core:20213].
    * lib/rexml/xpath.rb (REXML::XPath.each): ditto.

  Modified files:
    branches/ruby_1_9_1/ChangeLog
    branches/ruby_1_9_1/lib/rexml/xpath.rb

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 20488)
+++ ruby_1_9_1/ChangeLog	(revision 20489)
@@ -1,3 +1,10 @@
+Wed Dec  3 09:26:29 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* lib/rexml/xpath.rb (REXML::XPath.first): apply documentation
+	  patch from Ken Bloom in [ruby-core:20213].
+
+	* lib/rexml/xpath.rb (REXML::XPath.each): ditto.
+
 Wed Dec  3 02:53:24 2008  Yusuke Endoh  <mame@t...>
 
 	* test/ruby/test_range.rb: add a test.
Index: ruby_1_9_1/lib/rexml/xpath.rb
===================================================================
--- ruby_1_9_1/lib/rexml/xpath.rb	(revision 20488)
+++ ruby_1_9_1/lib/rexml/xpath.rb	(revision 20489)
@@ -15,10 +15,15 @@
     # 	node matching '*'.
     # namespaces::
     # 	If supplied, a Hash which defines a namespace mapping.
+    # variables::
+    #   If supplied, a Hash which maps $variables in the query
+    #   to values. This can be used to avoid XPath injection attacks
+    #   or to automatically handle escaping string values.
     #
     #  XPath.first( node )
     #  XPath.first( doc, "//b"} )
     #  XPath.first( node, "a/x:b", { "x"=>"http://doofus" } )
+    #  XPath.first( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"})
     def XPath::first element, path=nil, namespaces=nil, variables={}
       raise "The namespaces argument, if supplied, must be a hash object." unless namespaces.nil? or namespaces.kind_of?(Hash)
       raise "The variables argument, if supplied, must be a hash object." unless variables.kind_of?(Hash)
@@ -38,10 +43,16 @@
     #   The xpath to search for.  If not supplied or nil, defaults to '*'
     # namespaces::
     # 	If supplied, a Hash which defines a namespace mapping
+    # variables::
+    #   If supplied, a Hash which maps $variables in the query
+    #   to values. This can be used to avoid XPath injection attacks
+    #   or to automatically handle escaping string values.
     #
     #  XPath.each( node ) { |el| ... }
     #  XPath.each( node, '/*[@attr='v']' ) { |el| ... }
     #  XPath.each( node, 'ancestor::x' ) { |el| ... }
+    #  XPath.each( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"}) \
+    #    {|el| ... }
     def XPath::each element, path=nil, namespaces=nil, variables={}, &block
       raise "The namespaces argument, if supplied, must be a hash object." unless namespaces.nil? or namespaces.kind_of?(Hash)
       raise "The variables argument, if supplied, must be a hash object." unless variables.kind_of?(Hash)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]