~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to lib/rexml/doctype.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2010-07-31 17:08:39 UTC
  • mfrom: (1.1.4 upstream) (8.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100731170839-j034dmpdqt1cc4p6
Tags: 1.9.2~svn28788-1
* New release based on upstream snapshot from the 1.9.2 branch,
  after 1.9.2 RC2. That branch is (supposed to be) binary-compatible
  with the 1.9.1 branch.
  + Builds fine on i386. Closes: #580852.
* Upgrade to Standards-Version: 3.9.1. No changes needed.
* Updated generated incs.
* Patches that still need work:
  + Unclear status, need more investigation:
   090729_fix_Makefile_deps.dpatch
   090803_exclude_rdoc.dpatch
   203_adjust_base_of_search_path.dpatch
   902_define_YAML_in_yaml_stringio.rb.dpatch
   919_common.mk_tweaks.dpatch
   931_libruby_suffix.dpatch
   940_test_thread_mutex_sync_shorter.dpatch
  + Maybe not needed anymore, keeping but not applying.
   102_skip_test_copy_stream.dpatch (test doesn't block anymore?)
   104_skip_btest_io.dpatch (test doesn't block anymore?)
   201_gem_prelude.dpatch (we don't use that rubygems anyway?)
   202_gem_default_dir.dpatch (we don't use that rubygems anyway?)
   940_test_file_exhaustive_fails_as_root.dpatch
   940_test_priority_fails.dpatch
   100518_load_libc_libm.dpatch
* Add disable-tests.diff: disable some tests that cause failures on FreeBSD.
  Closes: #590002, #543805, #542927.
* However, many new failures on FreeBSD. Since that version is still an
  improvement, add the check that makes test suite failures non-fatal on
  FreeBSD again. That still needs to be investigated.
* Re-add 903_skip_base_ruby_check.dpatch
* Add build-dependency on ruby1.8 and drop all pre-generated files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
    STOP = ">"
16
16
    SYSTEM = "SYSTEM"
17
17
    PUBLIC = "PUBLIC"
18
 
    DEFAULT_ENTITIES = { 
19
 
      'gt'=>EntityConst::GT, 
20
 
      'lt'=>EntityConst::LT, 
21
 
      'quot'=>EntityConst::QUOT, 
22
 
      "apos"=>EntityConst::APOS 
 
18
    DEFAULT_ENTITIES = {
 
19
      'gt'=>EntityConst::GT,
 
20
      'lt'=>EntityConst::LT,
 
21
      'quot'=>EntityConst::QUOT,
 
22
      "apos"=>EntityConst::APOS
23
23
    }
24
24
 
25
25
    # name is the name of the doctype
33
33
    #   dt = DocType.new( doctype_to_clone )
34
34
    #   # Incomplete.  Shallow clone of doctype
35
35
    #
36
 
    # +Note+ that the constructor: 
 
36
    # +Note+ that the constructor:
37
37
    #
38
38
    #  Doctype.new( Source.new( "<!DOCTYPE foo 'bar'>" ) )
39
39
    #
139
139
      @entities = DEFAULT_ENTITIES.clone if @entities == DEFAULT_ENTITIES
140
140
      @entities[ child.name ] = child if child.kind_of? Entity
141
141
    end
142
 
    
143
 
    # This method retrieves the public identifier identifying the document's 
 
142
 
 
143
    # This method retrieves the public identifier identifying the document's
144
144
    # DTD.
145
145
    #
146
146
    # Method contributed by Henrik Martensson
152
152
        strip_quotes(@long_name)
153
153
      end
154
154
    end
155
 
    
 
155
 
156
156
    # This method retrieves the system identifier identifying the document's DTD
157
157
    #
158
158
    # Method contributed by Henrik Martensson
164
164
        @uri.kind_of?(String) ? strip_quotes(@uri) : nil
165
165
      end
166
166
    end
167
 
    
 
167
 
168
168
    # This method returns a list of notations that have been declared in the
169
 
    # _internal_ DTD subset. Notations in the external DTD subset are not 
 
169
    # _internal_ DTD subset. Notations in the external DTD subset are not
170
170
    # listed.
171
171
    #
172
172
    # Method contributed by Henrik Martensson
173
173
    def notations
174
174
      children().select {|node| node.kind_of?(REXML::NotationDecl)}
175
175
    end
176
 
    
 
176
 
177
177
    # Retrieves a named notation. Only notations declared in the internal
178
178
    # DTD subset can be retrieved.
179
179
    #
183
183
        notation_decl.name == name
184
184
      }
185
185
    end
186
 
    
 
186
 
187
187
    private
188
 
    
 
188
 
189
189
    # Method contributed by Henrik Martensson
190
190
    def strip_quotes(quoted_string)
191
191
      quoted_string =~ /^[\'\"].*[\'\"]$/ ?
217
217
      output << to_s
218
218
    end
219
219
  end
220
 
  
 
220
 
221
221
  public
222
222
  class ElementDecl < Declaration
223
223
    def initialize( src )
250
250
 
251
251
    def to_s
252
252
      "<!NOTATION #@name #@middle#{
253
 
        @public ? ' ' + public.inspect : '' 
 
253
        @public ? ' ' + public.inspect : ''
254
254
      }#{
255
255
        @system ? ' ' +@system.inspect : ''
256
256
      }>"
259
259
    def write( output, indent=-1 )
260
260
      output << to_s
261
261
    end
262
 
    
 
262
 
263
263
    # This method retrieves the name of the notation.
264
264
    #
265
265
    # Method contributed by Henrik Martensson