MCPcopy Create free account
hub / github.com/ronreiter/interactive-tutorials / add_qname

Function add_qname

markdown/html4.py:214–239  ·  view source on GitHub ↗
(qname)

Source from the content-addressed store, hash-verified

212 return text.encode(encoding)
213
214 def add_qname(qname):
215 # calculate serialized qname representation
216 try:
217 if qname[:1] == "{":
218 uri, tag = qname[1:].split("}", 1)
219 prefix = namespaces.get(uri)
220 if prefix is None:
221 prefix = _namespace_map.get(uri)
222 if prefix is None:
223 prefix = "ns%d" % len(namespaces)
224 if prefix != "xml":
225 namespaces[uri] = prefix
226 if prefix:
227 qnames[qname] = encode("%s:%s" % (prefix, tag))
228 else:
229 qnames[qname] = encode(tag) # default element
230 else:
231 if default_namespace:
232 # FIXME: can this be handled in XML 1.0?
233 raise ValueError(
234 "cannot use non-qualified names with "
235 "default_namespace option"
236 )
237 qnames[qname] = encode(qname)
238 except TypeError:
239 _raise_serialization_error(qname)
240
241 # populate qname and namespaces table
242 try:

Callers 1

_namespacesFunction · 0.85

Calls 4

encodeFunction · 0.85
splitMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected