Last change
on this file since 6 was 2, checked in by Yuri Dario, 15 years ago |
Initial import for vendor code.
|
-
Property svn:eol-style
set to
native
|
File size:
1.5 KB
|
Line | |
---|
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)
|
---|
Note:
See
TracBrowser
for help on using the repository browser.