[macruby-changes] [612] MacRuby/trunk/lib/hotcocoa/mappings/xml_parser.rb

source_changes at macosforge.org source_changes at macosforge.org
Fri Sep 19 20:16:38 PDT 2008


Revision: 612
          http://trac.macosforge.org/projects/ruby/changeset/612
Author:   rich at infoether.com
Date:     2008-09-19 20:16:38 -0700 (Fri, 19 Sep 2008)
Log Message:
-----------
add xml_parser mapping

Added Paths:
-----------
    MacRuby/trunk/lib/hotcocoa/mappings/xml_parser.rb

Added: MacRuby/trunk/lib/hotcocoa/mappings/xml_parser.rb
===================================================================
--- MacRuby/trunk/lib/hotcocoa/mappings/xml_parser.rb	                        (rev 0)
+++ MacRuby/trunk/lib/hotcocoa/mappings/xml_parser.rb	2008-09-20 03:16:38 UTC (rev 612)
@@ -0,0 +1,40 @@
+HotCocoa::Mappings.map :xml_parser => :NSXMLParser do
+
+  def alloc_with_options(options)
+    url = options.delete(:url)
+    data = options.delete(:data)
+    if url
+      url = NSURL.alloc.initWithString(url) if url.is_a?(String)
+      NSXMLParser.alloc.initWithContentsOfURL(url)
+    elsif data
+      NSXMLParser.alloc.initWithData(data)
+    else
+      raise "Must provide either :url or :data when constructing an NSXMLParser"
+    end
+  end
+  
+  delegating "parserDidStartDocument:",                                                       :to => :on_start_document
+  delegating "parserDidEndDocument:",                                                         :to => :on_end_document
+  delegating "parser:didStartElement:namespaceURI:qualifiedName:attributes:",                 :to => :on_start_element,               :parameters => [:didStartElement, :namespaceURI, :qualifiedName, :attributes]
+  delegating "parser:didEndElement:namespaceURI:qualifiedName:",                              :to => :on_end_element,                 :parameters => [:didEndElement, :namespaceURI, :qualifiedName]
+  delegating "parser:didStartMappingPrefix:toURI:",                                           :to => :on_start_mapping_prefix,        :parameters => [:didStartMappingPrefix, :toURI]
+  delegating "parser:didEndMappingPrefix:",                                                   :to => :on_end_mapping_prefix,          :parameters => [:didEndMappingPrefix]
+  
+  delegating "parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:",        :to => :on_attribute_declaration,       :parameters => [:foundAttributeDeclarationWithName, :forElement, :type, :defaultValue]
+  delegating "parser:foundCDATA:",                                                            :to => :on_cdata,                       :parameters => [:foundCDATA]
+  delegating "parser:foundCharacters:",                                                       :to => :on_characters,                  :parameters => [:foundCharacters]
+  delegating "parser:foundComment:",                                                          :to => :on_comment,                     :parameters => [:foundComment]
+  delegating "parser:foundElementDeclarationWithName:model:",                                 :to => :on_element_declaration,         :parameters => [:foundElementDeclarationWithName, :model]
+  delegating "parser:foundExternalEntityDeclarationWithName:publicID:systemID:",              :to => :on_external_entity_declaration, :parameters => [:foundExternalEntityDeclarationWithName, :publicID, :systemID]
+  delegating "parser:foundIgnorableWhitespace:",                                              :to => :on_ignorable_whitespace,        :parameters => [:foundIgnorableWhitespace]
+  delegating "parser:foundInternalEntityDeclarationWithName:value:",                          :to => :on_internal_entity_declaration, :parameters => [:foundInternalEntityDeclarationWithName, :value]
+  delegating "parser:foundNotationDeclarationWithName:publicID:systemID:",                    :to => :on_notation_declaration,        :parameters => [:foundNotationDeclarationWithName, :data]
+  delegating "parser:foundProcessingInstructionWithTarget:data:",                             :to => :on_processing_instruction,      :parameters => [:foundProcessingInstructionWithTarget, :data]
+  delegating "parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:", :to => :on_unparsed_entity_declaration, :parameters => [:foundUnparsedEntityDeclarationWithName, :publicID, :systemID, :notationName]
+
+  delegating "parser:resolveExternalEntityName:systemID:",                                    :to => :resolve_external_entity_name,   :parameters => [:resolveExternalEntityName, :systemID]
+
+  delegating "parser:parseErrorOccurred:",                                                    :to => :on_parse_error,                 :parameters => [:parseErrorOccurred]
+  delegating "parser:validationErrorOccurred:",                                               :to => :on_validation_error,            :parameters => [:validationErrorOccurred]
+
+end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080919/4b0b040a/attachment-0001.html 


More information about the macruby-changes mailing list