File: README.ja

package info (click to toggle)
ruby-xmlparser 0.7.2-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 960 kB
  • sloc: ruby: 9,322; ansic: 4,005; makefile: 5
file content (786 lines) | stat: -rw-r--r-- 29,498 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
       Expat (XML Parser Toolkit) ѳĥ⥸塼
                     version 0.7.2

                          
                   <yoshidam@yoshidam.net>

- 

ܥ⥸塼ϡRuby James Clark  XML Parser Toolkit
"expat" (http://www.jclark.com/xml/expat.html) إ
뤿γĥ⥸塼Ǥ

ݡȤƤ expat ΥСϡ1.95.0 ʹ
(http://sourceforge.net/projects/expat/) Ǥ


- 󥹥ȡ

Ruby-1.6 ʹߤǤưǧƤޤRuby-1.6.7 ʹߤ
Ѥ򤪤ᤷޤޤexpat-1.95.x ΥɬפǤ

ޤ expat 򥳥ѥ뤷Ƥ expat-1.95.x Ȥ
ϡconfigure; make; make install ǥ󥹥ȡǤޤ

 xmlparser ⥸塼򥳥ѥ뤷ޤexpat Υإå
ե饤֥ΰ֤ extconf.rb Υץǻꤹ
뤳ȤǤޤ

   --with-expat-dir=/path/to/expat


   --with-expat-lib=/path/to/expat/lib
   --with-expat-include=/path/to/expat/include

Perl  XML::Parser  󥳡ǥ󥰥ޥåפѤ
 --with-perl-enc-map ץǥǥ쥯ȥꤷƲ
Encodings ǥ쥯ȥ EUC-JP Shift_JIS Υޥ
פäƤޤɬפʤŬʥǥ쥯ȥ(Ȥ
/usr/local/share/XML/Parser/Encoding ʤ)˥ԡƤ


̾Υ⥸塼륤󥹥ȡԤäƤ

  ruby extconf.rb --with-expat-dir=/usr/local --with-perl-enc-map=/usr/local/share/XML/Parser/Encodings

  make
  make site-install


- Ȥ

ruby  make Ū˥󥯤Ƥʤϡ

  require "xml/parser"

ȤƤѤƤ

ѡ̤ˡȤơ٥ȥϥɥˡ
ƥ졼ȤƻȤˡޤ

٥ȥϥɥˡ SAX (Simple API for XML) 
Ƥޤ

٥ȥϥɥȤ硤Ū XMLParser 饹Ѿ
٥ȥϥɥ᥽åɤƻȤäƤ
private ᥽åɤˤƤۤǤ礦
XMLParser 饹Υ󥹥󥹤ðۥ᥽åɤƤ⹽
ޤ󡣥٥ȥϥɥ餬Ƥʤʸˡå
ޤ

  ᥽å̾               | ٥
  -------------------------+-------------------
  startElement             | ȳϥ
  endElement               | Ƚλ
  character                | ʸǡ
  processingInstruction    | PI
  unparsedEntityDecl       | оݳ(OBSOLETE)
  notationDecl             | ˡ
  externalEntityRef        | λ
  comment                  | 
  startCdata               | CDATA 󳫻
  endCdata                 | CDATA λ
  startNamespaceDecl       | Namespace 
  endNamespaceDecl         | Namespace λ
  startDoctypeDecl         | ʸ
  endDoctypeDecl           | ʸλ
  notStandalone            | standalone ǤϤʤ
  default                  | ¾
  defaultExpand            | default Ʊ (*1)
  unknownEncoding          | ̤ΤΥ󥳡ǥ
  elementDecl              | element declaration
  attlistDecl              | attlist declaration
  xmlDecl                  | XML declaration
  entityDecl               | entity declaration

  *1 default ȤλȤŸ뤳Ȥ㤤ޤ
     defaultExpand  default ̵뤷ޤ

ȥåץ٥Ǵؿϴؿ̾դƲ
ޤޥ٥ȥϥɥƱ̾ˤƤޤͽʤ
Ȥޤȥåץ٥Ǵؿ Object
Υ᥽åɤȸʤޤXMLParser  Object 饹
Τǡ٥ȥϥɥƱ̾δؿ٥ȥϥɥȤ
ƸƤӽФƤޤΤǤդˡƤ XMLParser ֥
ȤƱ٥ȥϥɥȤΤǤСȥåץ٥δ
ȤƤ⹽ޤ



ƥ졼ȤƻȤˡϤ Ruby 餷(Ȼפ)꤫
Ǥ

ƥ졼ȤƻȤϤȤ٥ȥϥɥƤ
Ƥ̵뤵ޤƥ졼 ٥ȥס̾Ρ ǡ
Ȥ 3 Ĥѿ򥤥ƥ졼֥åϤޤ

  ٥ȥ                    | ̾            | ǡ
  ----------------------------------+-----------------+---------------
  START_ELEM                        | ̾    | °Υϥå
  END_ELEM                          | ̾    | nil
  CDATA                             | nil             | ʸ
  PI                                | PI ̾           | ʸ
  UNPARSED_ENTITY_DECL(OBSOLETE)    | ̾          |  (*1)
  NOTATION_DECL                     | ˡ̾          |  (*2)
  EXTERNAL_ENTITY_REF               | ̾ (*5)     |  (*2)
  COMMENT                           | nil             | ʸ
  START_CDATA                       | nil             | nil
  END_CDATA                         | nil             | nil
  START_NAMESPACE_DECL              | prefix          | URI
  END_NAMESPACE_DECL                | prefix          | nil
  START_DOCTYPE_DECL                | ʸ̾        | nil
  END_DOCTYPE_DECL                  | nil             | nil
  DEFAULT                           | nil             | ʸ
  ELEMENT_DECL                      | element name    | array (*8)
  ATTLIST_DECL                      | element name    | array (*9)
  XML_DECL                          | nil             | array (*10)
  ENTITY_DECL                       | entity name     | array (*11)

  *1 [URL١ƥ༱̻ҡ̻ҡˡ̾]
      URL١ˡ̾  nil ˤʤ뤳Ȥޤ
  *2 [URL١ƥ༱̻ҡ̻]
      URL١ƥ༱̻ҡ̻  nil ˤʤ뤳Ȥޤ
  *5 ѥ᡼Τξ nil ˤʤޤ
  *8 [type, quant, name, [...]]
  *9 [attname, atttype, default, isrequired]
  *10 [version, encoding, standalone]
  *11 [isPE, value, URL base, system ID, public ID, notation name]

UNPARSED_ENTITY_DECLNOTATION_DECLEXTERNAL_ENTITY_REF
COMMENTSTART_CDATAEND_CDATASTART_NAMESPACE_DECL
END_NAMESPACE_DECLDEFAULTELEMENT_DECLATTLIST_DECL
XML_DECLENTITY_DECL ȯΤϤ줾졤ߡ
unparsedEntityDeclnotationDeclexternalEntityRefcomment
startCdataendCdatastartNamespaceDeclendNamespaceDecl
default (ޤ defaultExpand)elementDeclattlistDecl
xmlDeclentityDecl ᥽åɤƤȤǤ

ʸ󥳡ǥ󥰤 UTF-8, UTF-16 бƤޤ
Ϥ UTF-8 Ǥʳʸ󥳡ǥ󥰤Ȥ
ʸ󥳡ǥ󥰤Ѵ<?xml ... ?> Ԥ
encoding="..." 񤭴Ƥ
ѥ XML_ENC_PATH ŬڤꤵƤ硤Perl
 XML::Parser Υ󥳡ǥ󥰥ޥåפѤǤޤ
ѥåˤϥ󥳡ǥ󥰥ޥåפϴޤޤƤʤΤǡ
CPAN  XML::Parser 뤤 XML::Encoding ⥸塼
ꤷ.enc եŬʥǥ쥯ȥ˥󥹥ȡ뤷Ʋ



XMLParser 饹:

 饹᥽å
    new(encoding = nil, nssep = nil)
      XML ѡ֥Ȥޤ˼Ԥ
      XMLParserError 㳰ȯޤ
      encoding Ȥʸ󥳡ǥ󥰤ꤹ
      ȤޤExpat бƤ륨󥳡ǥ̾
      (ISO-8859-1, UTF-8, US-ASCII, UTF-16)Ȥޤ
      Expat-ja ξ EUC-JP  Shift_JIS ȤϤǤ

      nssep ꤹֳ̾ĥͭˤʤޤ
      Ȥ°̾˥ץեåꤹȡ
      ̾°̾ URI ȥѡȤϢ뤷̾ˤ
      ޤnssep ǻꤵ줿ʸκǽʸѥ졼
      ˤʤޤ


         <hoge:test xmlns:hoge="http://www.yoshidam.net/ns/hoge">

       nssep = '!' ǥѡȡ̾

         http://www.yoshidam.net/ns/hoge!test

      ˤʤޤ

      ѡνäѡ֥ȤκѤϤǤʤ
      ǡѡ˥ѡ֥ȤƤ

    new(parser, context, encoding = nil)
      ΥѡѤXML ѡ֥Ȥޤ
      ˼ԤXMLParserError 㳰ȯޤ
      externalEntityRef ٥Ȥȯʹߤ˸ƤӽФޤ
      parser Ȥ XML ѡ֥ȤꤷƲ
      context Ȥ externalEntityRef ٥ȤΥѡ
      ƥȤǤޤ
      encoding Ȥʸ󥳡ǥ󥰤ꤹ
      ȤǤޤ

      reset ᥽åɤƤӽФȤǺѤǽǤ

    expatVersion()
      expat ΥСޤ

    getFeatureList
      Get a hash list of expat API's features.

      This method is for expat-1.95.5 or later.

 ᥽å
    parse(str = nil, isFinal = true)
      str ѡޤѡ̤Ȥƥ٥ȥϥɥ餬
      ƤӽФޤƥ졼֥åꤷϡ
      ٥ȥϥɥϸƤӽФޤ

      isFinal  XML ޤǥѡ false, Ǹ
      ޤǤξ true ꤷƲά true Ǥ
      ̵ǸƤӽФȤǡѡνλؼ뤳Ȥ
      Ǥޤ

      str Ȥƥȥ꡼ϤȤǤޤString 
      ֥ȤǤϤʤpublic  gets ᥽åɤ
      Ƥ륪֥Ȥȥ꡼Ȥߤʤޤ
      ξ硤isFinal λ̵뤵졤gets  nil
      ֤ޤǥѡޤ

      ѡ顼򸡽Ф XMLParserError 㳰ȯޤ

    done
      ѡλѡλѤޤ
       GC ǤƤޤäƤꤢޤ󤬡ѥ᡼
      Τѡɬ externalEntityRef ٥
      DzƤ

    defaultCurrent
      ٥ȥϥɥǸƤӽФޤdefault ٥Ȥȯ
      ѡΥǡ뤳ȤǤޤ
      ٥ȥϥɥǤ default ٥Ȥȯ
      ޤ
      ƥ졼֥åǻȤä硤Υƥ졼֥
      ƤӽФ DEFAULT ˤʤޤdefault ϥɥ顼
      ƤӽФʤȤդƲ

    setBase
      URL ١ꤷޤꤷͤϡ
      unparsedEntityDecl ᥽åɤʤɤΰȤϤޤ

    line
    column
    byteIndex
      ٥ȥϥɥǸƤӽФޤߤΥѡ֤
      ޤ
      ޤparse ᥽åɤ XMLParserError 㳰ȯ
      ˸ƤӽФȥ顼֤֤ޤ

    byteCount
      ٥ȥϥɥǸƤӽФޤߤΥ٥оݤ
      Ĺ֤ޤΤǤ 0 ֤ޤ

    getSpecifiedAttributes
      °ꤵ줿ͤǥեͤΤ뤳ȤǤ
        °̾򥭡ꤵ줿ɤ (true/false) 
      ͤȤϥå֤ޤ  startElement ٥
      ƤӽФƤ

    setParamEntityParsing(parsing)

      ѥ᡼( DTD ֥åȤޤ) ѡ
      뤫ɤꤷޤ
      parsing ˤ
         PARAM_ENTITY_PARSING_NEVER (0)
         PARAM_ENTITY_PARSING_UNLESS_STANDALONE (1)
         PARAM_ENTITY_PARSING_ALWAYS (2)
      Τ줫ꤷƤ

      ѥ᡼ƥƥѡ硤
      externalEntityRef ٥ȤƤӽФޤcontext 
      nil ˤʤޤ

    setReturnNSTriplet(do_nst)
      ֤̾ͭʤȤˡURI + ̾ + ץե
      Ȥɤؼޤfalse λURI + 
      ̾Ǥ

      expat-1.95.3 ʹߤǤϡ̾ФƤͭǤ

    getInputContext
      ϥХåեȸߥѡ֤ޤ

    getIdAttribute
      ID °̾ޤ
      startElement ٥ǸƤӽФƤ

    reset(encoding)
      ѡ֥ȤѤ뤿˥ꥻåȤޤ
      encoding Ȥʸ󥳡ǥ󥰤ꤹ
      ȤǤޤ

      This method is for the expat-1.95.3 or later.

    useForeignDTD(useDTD)
      Specifies to parse an external DTD subset without the
      DOCTYPE declaration.

      In externalEntityRef, sysID and pubID will be NULL.

      This method is for the expat-1.95.5 or later.

      See setParamEntityParsing also.


 ᥽å (٥ȥϥɥ)
    startElement(name, attrs)
      ȳϥդȸƤӽФޤname 
      ̾attrs °̾򥭡°ͤͤȤϥ
      Ǥ

    endElement(name)
      ȽλդȸƤӽФޤname 
      ̾Ǥ

    character(data)
      ƥȡCDATA դȸƤӽФޤ
      default ϥɥ餬̤ΤȤΤŸޤ

    processingInstruction(target, data)
      PI դȸƤӽФޤ

    unparsedEntityDecl(entityName, base, systemId, publicId, notationName)
      ** OBSOLETE **
      оݳդȸƤӽФޤ
      entityNamebasesystemIdpublicIdnotationName 
      줾̾URL ١ƥ༱̻ҡ̻ҡ
      ˡ̾ǤURL ١ˡ̾  nil ˤʤ뤳Ȥ
      ޤ

      ƥ졼ȤƻȤ硤unparsedEntityDecl 
      Ƥ뤫ɤå졤
      UNPARSED_ENTITY_DECL ٥Ȥȯ˱ƶͿޤ

    notationDecl(notationName, base, systemId, publicId)
      ˡդȸƤӽФޤ
      notationNamebasesystemIdpublicId Ϥ줾쵭ˡ
      ̾URL ١ƥ༱̻ҡ̻ҤǤURL ١
      ƥ༱̻ҡ̻  nil ˤʤ뤳Ȥ
      ޤ

      ƥ졼ȤƻȤ硤notationDecl Ƥ
      뤫ɤå졤NOTATION_DECL ٥Ȥ
      ȯ˱ƶͿޤ

    externalEntityRef(context, base, systemId, publicId)
      λȤդȸƤӽФޤ
      contextbasesystemIdpublicId Ϥ줾ѡ
      ƥȡURL ١ƥ༱̻ҡ̻ҤǤ
      URL ١̻  nil ˤʤ뤳Ȥޤ
      ѡƥȤϳΥѡѤΥѡ
      Ȥ context ȤѲǽǤ

      Υ٥ȤdzΤѡʤСΤϥѡ
      뤳ȤϤޤ

      ƥ졼ȤƻȤ硤externalEntityRef 
      Ƥ뤫ɤå졤
      ETERNAL_ENTITY_DEF ٥Ȥȯ˱ƶͿޤ

      
        def externalEntityRef(context, base, systemId, publicId)
          extp = self.type.new(self, context)
          file = if base.nil?; systemId; else base + "/" + systemId; end
          extp.parse(open(file))
          extp.done
        end

      ƥ expat Ǥϳѥ᡼λ (ӳ DTD 
      ֥å) դˤƤӽФޤξ
       context  nil ˤʤޤѥ᡼Τѡ
      ɬΥϥɥǥѡѡλ
       done ƤӽФƤ
      setParamEntityParsing ⻲ȤƤ

    comment(data)
      ȤդȸƤӽФޤ

      ƥ졼ȤƻȤ硤comment Ƥ뤫
      å졤COMMENT ٥Ȥȯ˱ƶ
      Ϳޤ

    startCdata()
      CDATA γϻ˸ƤӽФޤCDATA 
      Ƥcharacter ٥Ȥ𤵤ޤ

      ƥ졼ȤƻȤ硤startCdata Ƥ
      ɤå졤START_CDATA ٥Ȥȯ
      ˱ƶͿޤ

    endCdata()
      CDATA νλ˸ƤӽФޤ

      ƥ졼ȤƻȤ硤endCdata Ƥ뤫
      ɤå졤END_CDATA ٥Ȥȯ˱
      Ϳޤ

    startNamespaceDecl(prefix, uri)
      Namespace 줿Ȥγ˸ƤӽФޤ
      prefix  xmlns °ꤵ줿 nil ˤʤꡤuri
      ϶ URI ꤵ줿 nil ˤʤޤ

      ƥ졼ȤƻȤ硤startNamespaceDecl 
      뤫ɤå졤
      START_NAMESPACE_DECL ٥Ȥȯ˱ƶͿޤ

    endNamespaceDecl(prefix)
      Namespace 줿Ȥνλ˸ƤӽФޤ
      prefix  xmlns °ꤵ줿 nil ˤʤޤ

      ƥ졼ȤƻȤ硤endNamespaceDecl 
      뤫ɤå졤
      END_NAMESPACE_DECL ٥Ȥȯ˱ƶͿޤ

    startDoctypeDecl(doctypeName, sysid, pubid, has_internal_subset)
      DOCTYPE ʸ̾򸫤ĤȸƤӽФޤ
      doctypeName ʸ̾Ǥ

      ƥ졼ȤƻȤ硤startDoctypeDecl 
      뤫ɤå졤
      START_DOCTYPE_DECL ٥Ȥȯ˱ƶͿޤ

    endDoctypeDecl()
      DOCTYPE νλ˸ƤӽФޤ

      ƥ졼ȤƻȤ硤endDoctypeDecl 
      뤫ɤå졤
      END_DOCTYPE_DECL ٥Ȥȯ˱ƶͿޤ

    default(data)
      ¾Υ٥ȤƤӽФʤä˸ƤӽФޤ
      Υ᥽åɤΤŸ޻ߤޤ
      ƥ졼ȤƻȤ硤default Ƥ뤫
      å졤DEFAULT ٥Ȥȯ
      ΤŸ˱ƶͿޤ

    defaultExpand(data)
      ¾Υ٥ȤƤӽФʤä˸ƤӽФޤ
      ƥ졼ȤƻȤ硤defaultExpand Ƥ
      뤫ɤå졤DEFAULT ٥Ȥȯ
      ƶͿޤ
      defaultExpand  default ᥽åɤͥ褷ޤ

    unknownEncoding(name)
      ѡϻXML Υѡ̤ΤΥ󥳡ǥ
      󥰤򸡽Ф˰٤ƤӽФޤ

      XMLEncoding ֥Ȥ֤Ʋ      

      ƥ졼ȤƻȤˤ⤳Υ٥ȥϥɥ餬Ƥ
      Ф졤ƥ졼֥åϸƤӽФޤ

      ܺ٤ϼ򻲾ȤƲ

    notStandalone()
      standalone="yes" Ǥʤ DTD ֥åȤѥ᡼
      Τ򻲾ȤȸƤӽФޤ

      顼ȯ 0³Ԥ 
      1 ֤Ƥ

      ƥ졼ȤƻȤˤ⤳Υ٥ȥϥɥ餬Ƥ
      Ф졤ƥ졼֥åϸƤӽФޤ

      expat ϳ DTD ֥åȤѥ᡼ΤǤ
      ʤΤǡΥ٥Ȥȯ¾ XML ץ
      ƤӽФʤꡤǤʤꤹ٤⤷ޤ
      

    elementDecl(name, model)
      ˸ƤӽФޤ name ̾model 
      ƥǥ򤢤魯
        [type, quant, name, [children_model, ...]]
      Τ褦Ǥtype  "EMPTY""ANY""MIXED"
      "CHOICE""SEQ" Τ줫quant """?""*""+" 
      Τ줫Ǥname  nil ̾children_model 
      ϻҥǥǤ

      If you use iterator, this method is not called, but to
      define this affects to cause ELEMENT_DECL event.

    attlistDecl(elname, attname, att_type, dflt, isrequired)
      °˸ƤӽФޤelname ̾attname 
      °̾att_type °ηdflt Ͼά͡
      isrequired  #REQUIRED ɤ򤢤路ޤ

      If you use iterator, this method is not called, but to
      define this affects to cause ATTLIST_DECL event.

    xmlDecl(version, encoding, standalone)
      ʸƬ XML ӲϲǽΤΥƥ
      ˸ƤӽФޤƥǤ version  nil ˡ
      XML Ǥ encoding  nil ˤʤ뤳Ȥޤ
      standalone  -101 ͤȤޤ

      If you use iterator, this method is not called, but to
      define this affects to cause XML_DECL event.

    entityDecl(entityName, isparameter_entity, value,
               base, systemId, publicId, notationName)
      ˸ƤӽФޤ

      If you use iterator, this method is not called, but to
      define this affects to cause ENTITY_DECL event.

    skippedEntity(entityName, is_parameter_entity)

      This method is for expat-1.95.4 or later.

      If you use iterator, this method is not called, but to
      define this affects to cause
      SKIPPED_ENTITY event.



̤Τʸ󥳡ǥ󥰤ˤĤ

unknownEncoding ᥽åɤȡѡϻXML 
Υѡ̤ΤΥ󥳡ǥ󥰤򸡽Ф˰٤
ƤӽФޤΥ٥Ȥ뤳Ȥǡexpat б
Ƥʤʸ󥳡ǥ(ܤΤʤ¿Хȥ󥳡
ǥ󥰤Τ)б뤳ȤǤޤ

unknownEncoding ᥽åɤ Perl Υ󥳡ǥ
ޥåפϻѤʤʤޤ

¾Υ٥ȤȰäơƥ졼ȤƸƤӽФ⥤٥
ȥϥɥ餬ƤӽФޤ

Ȥƥ󥳡ǥ̾ϤޤͤȤƤΥ
ǥ󥰤б XMLEncoding ֥Ȥ֤Ʋ
XMLEncoding ֥Ȱʳ֤ unknownEncoding ᥽
ɤ̤ξƱͤ㳰ȯޤ

εˤʸ󥳡ǥѴϤʤ٤Ǥ

XMLEncoding 饹
  ʸ󥳡ǥѴΤΥ饹ǤѤߥ᥽
  ɤ Latin-1 ѴԤʤޤΤޤ޻ȤȤ̵
  ̣ʤΤǡŬڤѴԤʤ褦᥽åɤʤ
  ȤäƲ

  ᥽å
    map(code)
      Υ󥳡ǥ󥰤ΥХ뤿
      Ū˸ƤӽФޤ
      code ϥХκǽΥХȤΥɥݥȤǡ00h
       FFh ޤǤϤޤ
      ͤȤưʲΤ줫֤ͤƲ

        0 ʾ : Unicode Υɥݥ
        -1     : ʥХ
        -n     : n ХȤ¿Х (2<=n<=4)

      㤨Сܸ EUC (JIS X 0201 ʤ JIS X 0212 
      ̵)ξϰʲΤ褦 map ᥽åɤƲ
      

        def map(i)
          return i if i < 128
          return -1 if i < 160 or i == 255
          return -2
        end

      ISO-2022-JP Τ褦ʾܤԤʤ󥳡ǥ󥰤
      бǤޤ

    convert(s)
      ʸ󥳡ǥѴΤŪ˰ʸ˸Ƥӽ
      ޤ
      s  map 줿Ĺ¿ХǤͤȤơ
      Unicode Υɥݥ(65535 ʲ) ASCII ʸ
      ȥ륨ǥ UCS2 ʸ֤Ʋ

  
    class EUCHandler<XML::Encoding
      def map(i)
        return i if i < 128
        return -1 if i < 160 or i == 255
        return -2 
      end
      def convert(s)
        s.force_encoding(Encoding::EUCJP).encode(Encoding::UTF_16LE)
      end
    end

    class SJISHandler<XML::Encoding
      def map(i)
        return i if i < 128
        return -2 
      end
      def convert(s)
        s.force_encoding(Encoding::CP932).encode(Encoding::UTF_16LE)
      end
    end

    def unknownEncoding(name)
      return EUCHandler.new if name =~ /^euc-jp$/i
      return SJISHandler.new if name =~ /^shift_jis$/i
      nil
    end


- ޤ饤֥

Version 0.3.1  XML::DOM  XML::DOM::Builder
Ȥ饤֥źդޤ
ɥȤ̤ǡAPI ͤǤϤʤΤǡ
ɤѤǤ


XML::DOM ⥸塼 (xml/dom/core.rb)
  XML ĥ꡼κԤʤΥ饤֥Ǥ
  API  W3C  Document Object Model (DOM) Core ˤۤȤɽ
  Ƥޤ

    NameNodeMap
    NodeList
    Node
    DocumentFragment<Node
    Document<Node
    CharacterData<Node
    Attr<Node
    Element<Node
    Text<CharacterData
    Comment<Data
    CDATASection<Text
    DocumentType<Node
    Notation<Node
    Entity<Node
    EntityReference<Node
    ProcessingInstruction<Node

XML::DOM::Builder 饹 (xml/dom/builder.rb)
  XML եѡƥĥ꡼ȤΩƤ뤿Υ饹Ǥ

XML::DOM::Visitor (xml/dom/visitor.rb)
  Visitor ѥȤ䤹뤿Υ饤֥Ǥ

DOMHASH ⥸塼 (xml/dom/digest.rb)
  XML::DOM ⥸塼 DOMHASH (draft-hiroshi-dom-hash-01.txt)
  ݡȤɲäޤMD5 르ꥺбƤޤ
  Ȥ samples/digetstest.rb 򻲾ȤƤ

SAX ⥸塼 (xml/sax.rb, xml/saxdriver.rb)
  SAX for Ruby μ¸ŪʼǤ

XML::ParserNS 饹 (xml/parserns.rb)
  ֤̾ XML::Parser 饹Ǥnssep ꤷ
  Ȥ URI  QName ֤ޤ

XML::DOM (xml/dom2/)
  DOM Level 2 μ¸ŪǤ


- 

ܳĥ⥸塼ϵͤݻޤ

ܳĥ⥸塼ϡruby ΤΥ饤󥹤expat Υ饤
󥹤Τɤ餫ˤäѤ뤳ȤǤޤ

encoding.h ӡencoding map Ϣδؿ Perl Ѥ
XML::Parser ⥸塼ΰǤ

  Copyright (c) 1998 Larry Wall and Clark Cooper.
  All rights reserved.
  This program is free software; you can redistribute it and/or modify it
  under the same terms as Perl itself. 


- 

  <yoshidam@yoshidam.net>

 XPointer support is contributed by Masaki Fukushima 
     <fukusima@goto.info.waseda.ac.jp>


- 

 Feb 28, 2011 version 0.7.2  digest.rb ƼϿ
 Dec 28, 2009 version 0.7.1  Ruby 1.9.1 󥳡ǥѴб
 Dec 15, 2009 version 0.7.0  Ruby 1.9.1 б
 Apr  5, 2004 version 0.6.8  fixes overflow, and taints output.
 Mar 11, 2003 version 0.6.6  ΥѡskippedEntityϥɥ
                             ˺
 Sep 20, 2002 version 0.6.5  fixes reset
                             adds skippedEntity event for expat-1.95.4
                             adds XML::Parser.getFeatureList and
                             XML::Parser#useForeignDTD for expat-1.95.5
 Jun 18, 2002 version 0.6.4  expat-1.95.3 Ѥ XML::Parser#reset ɲ
 Mar 23, 2002 version 0.6.2  lib Υ쥤ѹ
                             XML::Parser::Error οƥ饹ѹ
                             DOM Level 2 μ¸Ūб
                             ֤̾μ¸Ūб (XML::ParserNS)
 Oct 15, 2000 version 0.6.1  expat-1.95.0expat-1.2 б
 Aug  5, 2000 version 0.5.19 ⶶ xmltree.rb  
                             RD Ƥޤ
 May 30, 2000 version 0.5.18 ruby 1.5 ưʤʤäƤΤǽ
 Jan  4, 2000 version 0.5.17 NodeList#+ 꽤 (Masatoshi SEKI
                             󤢤꤬Ȥޤ)
 Oct 14, 1999 version 0.5.16 ĤΥץץѹ
 Aug 18, 1999 version 0.5.15 expat-19990728  start/endDoctypeDecl 
                             б
                             SAX ɥ饤ФΥХ
 Jun 29, 1999 version 0.5.14 expat-19990626 γѥ᡼
                             (ӳ DTD ֥å)ɤ߹ߤб
                             Ruby-1.2 ݡȤߡ
 Jun 10, 1999 version 0.5.13 ¸Ū SAX ɥ饤Фɲ
                             expat-1.1 б
 May 13, 1999 version 0.5.12 extconf.rb ΥХ (ƣܾˮ󤢤
                             Ȥޤ)
 Apr 28, 1999 version 0.5.11 expat-19990425 б NotStandalone
                             ٥ȡgetSpecifiedAttributes,
                             byteCount ᥽åɲ 
 Apr 20, 1999 version 0.5.10 xss4j 򻲹ͤˤ xmldigest.rb ѹ
 Mar 29, 1999 version 0.5.9  Ruby 1.3 Ѥ˥֥Ȥι¤ѹ
 Mar 23, 1999 version 0.5.8  XPointer Υɤξάǽˤ
                             XML::DOM::Builder dzѡΤνɲ
 Mar  8, 1999 version 0.5.7  expat-19990307  start/endNamespaceDecl
                             ٥Ȥб
 Jan 25, 1999 version 0.5.6  饹̾̾ C ⥸塼˰ư
                             Cygwin ư뤿ѹ
 Jan 14, 1999 version 0.5.5  expat-19981231  start/endCdataSection
                             ٥Ȥб
                             xmltreebuilder ƥ expat
                             б (comment, CDATA)
                             Node#trim  CDATA  trim
                             褦˲¤
 Jan 13, 1999 version 0.5.4  xmltree, xmltreebuilder ¤ (Хä)
 Jan 10, 1999 version 0.5.3  Perl  encoding map б
 Jan  1, 1999 version 0.5.2  expat-19981231 б
 Dec  1, 1998 version 0.5.1  (ʡ󤢤꤬Ȥޤ)
 Nov 24, 1998 version 0.5.0  ƥ expat б
 Nov  5, 1998 version 0.4.18 Х(ʡ󤢤꤬Ȥޤ)
                             饹̾̾
                               XMLParserError        -> XML::Parser::Error
                             ᥽å ID νѹ
                             xmltreebuilder  Ruby ΥХ?
 Oct 28, 1998 version 0.4.17 ᥽å ID Ūѿ˰ܤ
 Oct 28, 1998 version 0.4.16 XPointer ѻ ID °ǽˤ
                             Node#trim  xml:space бˤ
 Oct 23, 1998 version 0.4.15 Х饹̾̾
                               XMLParser              -> XML::Parser
                               XML::SimpleTree        -> XML::DOM
                               XML::SimpleTreeBuilder -> XML::DOM::Builder
 Oct 20, 1998 version 0.4.14 ʡˤ XPointer ݡȤɲ
 Oct 18, 1998 version 0.4.13 SimpleTree ΥХVisitor ɲ
 Oct 13, 1998 version 0.4.12 Х󥳡ǥѴι®
 Oct  7, 1998 version 0.4.11 ѡΥ֥ȴѹ
 Oct  4, 1998 version 0.4.9 ٤ХDOM бʤ
 Sep 22, 1998 version 0.4.8 ȥ꡼λͤ򾯤ѹ
 Sep 21, 1998 version 0.4.7 SimpleTree, SimpleTreeBuilder  Comment ʤɲ
 Sep 18, 1998 version 0.4.6 UnknownEncoding ٥Ȥб
 Sep 17, 1998 version 0.4.5 SimpleTree ˥᥽åɲ
 Sep  8, 1998 version 0.4.4 ѡ֥Ȥ T_DATA 
                            T_OBJECT ѹ
 Sep  3, 1998 version 0.4.3 isFinal ե饰ɲáȥ꡼б
 Sep  2, 1998 version 0.4.2 Υ٥ȡΥѡɲ
 Aug 14, 1998 version 0.3.3 expat 1.0 б
 Aug 12, 1998 version 0.3.2 SimpleTree  XPointer ɤɲ
                            (root, child ,id Τߥݡ)
 Aug  4, 1998 version 0.3.1 饤֥ɲáexpat_ja ưǧ
 Jul 17, 1998 version 0.3 ƥ졼֥å
                          defaultCurrent б
 Jul  3, 1998 version 0.2 ƥ졼б
 Jul  1, 1998 version 0.1 ꡼