~ubuntu-branches/ubuntu/maverick/python3.1/maverick

« back to all changes in this revision

Viewing changes to Doc/includes/minidom-example.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-03-23 00:01:27 UTC
  • Revision ID: james.westby@ubuntu.com-20090323000127-5fstfxju4ufrhthq
Tags: upstream-3.1~a1+20090322
ImportĀ upstreamĀ versionĀ 3.1~a1+20090322

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import xml.dom.minidom
 
2
 
 
3
document = """\
 
4
<slideshow>
 
5
<title>Demo slideshow</title>
 
6
<slide><title>Slide title</title>
 
7
<point>This is a demo</point>
 
8
<point>Of a program for processing slides</point>
 
9
</slide>
 
10
 
 
11
<slide><title>Another demo slide</title>
 
12
<point>It is important</point>
 
13
<point>To have more than</point>
 
14
<point>one slide</point>
 
15
</slide>
 
16
</slideshow>
 
17
"""
 
18
 
 
19
dom = xml.dom.minidom.parseString(document)
 
20
 
 
21
def getText(nodelist):
 
22
    rc = ""
 
23
    for node in nodelist:
 
24
        if node.nodeType == node.TEXT_NODE:
 
25
            rc = rc + node.data
 
26
    return rc
 
27
 
 
28
def handleSlideshow(slideshow):
 
29
    print("<html>")
 
30
    handleSlideshowTitle(slideshow.getElementsByTagName("title")[0])
 
31
    slides = slideshow.getElementsByTagName("slide")
 
32
    handleToc(slides)
 
33
    handleSlides(slides)
 
34
    print("</html>")
 
35
 
 
36
def handleSlides(slides):
 
37
    for slide in slides:
 
38
        handleSlide(slide)
 
39
 
 
40
def handleSlide(slide):
 
41
    handleSlideTitle(slide.getElementsByTagName("title")[0])
 
42
    handlePoints(slide.getElementsByTagName("point"))
 
43
 
 
44
def handleSlideshowTitle(title):
 
45
    print("<title>%s</title>" % getText(title.childNodes))
 
46
 
 
47
def handleSlideTitle(title):
 
48
    print("<h2>%s</h2>" % getText(title.childNodes))
 
49
 
 
50
def handlePoints(points):
 
51
    print("<ul>")
 
52
    for point in points:
 
53
        handlePoint(point)
 
54
    print("</ul>")
 
55
 
 
56
def handlePoint(point):
 
57
    print("<li>%s</li>" % getText(point.childNodes))
 
58
 
 
59
def handleToc(slides):
 
60
    for slide in slides:
 
61
        title = slide.getElementsByTagName("title")[0]
 
62
        print("<p>%s</p>" % getText(title.childNodes))
 
63
 
 
64
handleSlideshow(dom)