[Python-checkins] CVS: python/dist/src/Lib/xml/sax saxutils.py,1.14,1.15

Fred L. Drake fdrake@users.sourceforge.net
2001年7月19日 09:10:17 -0700


Update of /cvsroot/python/python/dist/src/Lib/xml/sax
In directory usw-pr-cvs1:/tmp/cvs-serv3604/Lib/xml/sax
Modified Files:
	saxutils.py 
Log Message:
Added function xml.sax.saxutils.quoteattr().
This closes SF bug #440351. It should not be moved to Python 2.1.1.
Index: saxutils.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/xml/sax/saxutils.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** saxutils.py	2000年12月16日 01:45:11	1.14
--- saxutils.py	2001年07月19日 16:10:15	1.15
***************
*** 28,31 ****
--- 28,52 ----
 return data
 
+ def quoteattr(data, entities={}):
+ """Escape and quote an attribute value.
+ 
+ Escape &, <, and > in a string of data, then quote it for use as
+ an attribute value. The \" character will be escaped as well, if
+ necessary.
+ 
+ You can escape other strings of data by passing a dictionary as
+ the optional entities parameter. The keys and values must all be
+ strings; each key will be replaced with its corresponding value.
+ """
+ data = escape(data, entities)
+ if '"' in data:
+ if "'" in data:
+ data = '"%s"' % data.replace('"', "&quot;")
+ else:
+ data = "'%s'" % data
+ else:
+ data = '"%s"' % data
+ return data
+ 
 
 class XMLGenerator(handler.ContentHandler):

AltStyle によって変換されたページ (->オリジナル) /