annotate markup/__init__.py @ 9:3dc28e165273

Actually use the specified encoding in `Stream.render()`.
author cmlenz
date Sun, 04 Jun 2006 11:00:41 +0000
parents 821114ec4f69
children e3d3c1d8c98a
rev   line source
1
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
1 # -*- coding: utf-8 -*-
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
2 #
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
3 # Copyright (C) 2006 Christopher Lenz
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
4 # All rights reserved.
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
5 #
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
6 # This software is licensed as described in the file COPYING, which
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
7 # you should have received as part of this distribution. The terms
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
8 # are also available at http://trac.edgewall.com/license.html.
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
9 #
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
10 # This software consists of voluntary contributions made by many
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
11 # individuals. For the exact contribution history, see the revision
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
12 # history and logs, available at http://projects.edgewall.com/trac/.
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
13
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
14 """This package provides various means for generating and processing web markup
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
15 (XML or HTML).
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
16
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
17 The design is centered around the concept of streams of markup events (similar
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
18 in concept to SAX parsing events) which can be processed in a uniform manner
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
19 independently of where or how they are produced.
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
20
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
21
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
22 Generating content
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
23 ------------------
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
24
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
25 Literal XML and HTML text can be used to easily produce markup streams
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
26 via helper functions in the `markup.input` module:
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
27
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
28 >>> from markup.input import XML
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
29 >>> doc = XML('<html lang="en"><head><title>My document</title></head></html>')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
30
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
31 This results in a `Stream` object that can be used in a number of way.
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
32
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
33 >>> doc.render(method='html', encoding='utf-8')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
34 '<html lang="en"><head><title>My document</title></head></html>'
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
35
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
36 >>> from markup.input import HTML
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
37 >>> doc = HTML('<HTML lang=en><HEAD><TITLE>My document</HTML>')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
38 >>> doc.render(method='html', encoding='utf-8')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
39 '<html lang="en"><head><title>My document</title></head></html>'
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
40
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
41 >>> title = doc.select('head/title')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
42 >>> title.render(method='html', encoding='utf-8')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
43 '<title>My document</title>'
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
44
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
45
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
46 Markup streams can also be generated programmatically using the
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
47 `markup.builder` module:
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
48
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
49 >>> from markup.builder import tag
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
50 >>> doc = tag.DOC(tag.TITLE('My document'), lang='en')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
51 >>> doc.generate().render(method='html')
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
52 '<doc lang="en"><title>My document</title></doc>'
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
53
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
54 """
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
55
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
56 from markup.core import *
821114ec4f69 Initial import.
cmlenz
parents:
diff changeset
57 from markup.input import XML, HTML
Copyright (C) 2012-2017 Edgewall Software