Minor fix for currentframe (SF #1652788).
[python.git] / Doc / lib / minidom-example.py
blobc30c4e08a9425b930c9d98a6edbd868245e2f4d6
1 import xml.dom.minidom
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>
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 """
19 dom = xml.dom.minidom.parseString(document)
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
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>"
36 def handleSlides(slides):
37 for slide in slides:
38 handleSlide(slide)
40 def handleSlide(slide):
41 handleSlideTitle(slide.getElementsByTagName("title")[0])
42 handlePoints(slide.getElementsByTagName("point"))
44 def handleSlideshowTitle(title):
45 print "<title>%s</title>" % getText(title.childNodes)
47 def handleSlideTitle(title):
48 print "<h2>%s</h2>" % getText(title.childNodes)
50 def handlePoints(points):
51 print "<ul>"
52 for point in points:
53 handlePoint(point)
54 print "</ul>"
56 def handlePoint(point):
57 print "<li>%s</li>" % getText(point.childNodes)
59 def handleToc(slides):
60 for slide in slides:
61 title = slide.getElementsByTagName("title")[0]
62 print "<p>%s</p>" % getText(title.childNodes)
64 handleSlideshow(dom)