attrconverters.py 74 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614
  1. # -*- coding: utf-8 -*-
  2. # Copyright (C) 2006-2013 Søren Roug, European Environment Agency
  3. #
  4. # This library is free software; you can redistribute it and/or
  5. # modify it under the terms of the GNU Lesser General Public
  6. # License as published by the Free Software Foundation; either
  7. # version 2.1 of the License, or (at your option) any later version.
  8. #
  9. # This library is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. # Lesser General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU Lesser General Public
  15. # License along with this library; if not, write to the Free Software
  16. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  17. #
  18. # Contributor(s):
  19. #
  20. import sys, os.path
  21. sys.path.append(os.path.dirname(__file__))
  22. from odf.namespaces import *
  23. import re, types
  24. pattern_color = re.compile(r'#[0-9a-fA-F]{6}')
  25. pattern_vector3D = re.compile(r'\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)')
  26. def make_NCName(arg):
  27. for c in (':',' '):
  28. arg = arg.replace(c,"_%x_" % ord(c))
  29. return arg
  30. def cnv_angle(attribute, arg, element):
  31. if sys.version_info[0]==2:
  32. return unicode(arg)
  33. else:
  34. return str(arg)
  35. def cnv_anyURI(attribute, arg, element):
  36. return str(arg)
  37. def cnv_boolean(attribute, arg, element):
  38. """ XML Schema Part 2: Datatypes Second Edition
  39. An instance of a datatype that is defined as boolean can have the
  40. following legal literals {true, false, 1, 0}
  41. """
  42. if str(arg).lower() in ("0","false","no"):
  43. return "false"
  44. if str(arg).lower() in ("1","true","yes"):
  45. return "true"
  46. raise ValueError( "'%s' not allowed as Boolean value for %s" % (str(arg), attribute[1]))
  47. # Potentially accept color values
  48. def cnv_color(attribute, arg, element):
  49. """ A RGB color in conformance with §5.9.11 of [XSL], that is a RGB color in notation “#rrggbb”, where
  50. rr, gg and bb are 8-bit hexadecimal digits.
  51. """
  52. return str(arg)
  53. def cnv_configtype(attribute, arg, element):
  54. if str(arg) not in ("boolean", "short", "int", "long",
  55. "double", "string", "datetime", "base64Binary"):
  56. raise ValueError( "'%s' not allowed" % str(arg))
  57. return str(arg)
  58. def cnv_data_source_has_labels(attribute, arg, element):
  59. if str(arg) not in ("none","row","column","both"):
  60. raise ValueError( "'%s' not allowed" % str(arg))
  61. return str(arg)
  62. # Understand different date formats
  63. def cnv_date(attribute, arg, element):
  64. """ A dateOrDateTime value is either an [xmlschema-2] date value or an [xmlschema-2] dateTime
  65. value.
  66. """
  67. return str(arg)
  68. def cnv_dateTime(attribute, arg, element):
  69. """ A dateOrDateTime value is either an [xmlschema-2] date value or an [xmlschema-2] dateTime
  70. value.
  71. """
  72. return str(arg)
  73. def cnv_double(attribute, arg, element):
  74. return str(arg)
  75. def cnv_draw_aspect(attribute, arg, element):
  76. if str(arg) not in ("content", "thumbnail", "icon", "print-view"):
  77. raise ValueError( "'%s' not allowed" % str(arg))
  78. return str(arg)
  79. def cnv_duration(attribute, arg, element):
  80. return str(arg)
  81. def cnv_family(attribute, arg, element):
  82. """ A style family """
  83. if str(arg) not in ("text", "paragraph", "section", "ruby", "table", "table-column", "table-row", "table-cell",
  84. "graphic", "presentation", "drawing-page", "chart"):
  85. raise ValueError( "'%s' not allowed" % str(arg))
  86. return str(arg)
  87. def __save_prefix(attribute, arg, element):
  88. prefix = arg.split(':',1)[0]
  89. if prefix == arg:
  90. return arg
  91. namespace = element.get_knownns(prefix)
  92. if namespace is None:
  93. #raise ValueError( "'%s' is an unknown prefix" % str(prefix))
  94. return str(arg)
  95. p = element.get_nsprefix(namespace)
  96. return str(arg)
  97. def cnv_formula(attribute, arg, element):
  98. """ A string containing a formula. Formulas do not have a predefined syntax, but the string should
  99. begin with a namespace prefix, followed by a “:” (COLON, U+003A) separator, followed by the text
  100. of the formula. The namespace bound to the prefix determines the syntax and semantics of the
  101. formula.
  102. """
  103. return __save_prefix(attribute, arg, element)
  104. def cnv_ID(attribute, arg, element):
  105. return str(arg)
  106. def cnv_IDREF(attribute, arg, element):
  107. return str(arg)
  108. def cnv_integer(attribute, arg, element):
  109. return str(arg)
  110. pattern_language = re.compile(r'[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*')
  111. def cnv_language(attribute, arg, element):
  112. global pattern_language
  113. if not pattern_language.match(arg):
  114. raise ValueError( "'%s' is not a valid language token" % arg)
  115. return arg
  116. def cnv_legend_position(attribute, arg, element):
  117. if str(arg) not in ("start", "end", "top", "bottom", "top-start", "bottom-start", "top-end", "bottom-end"):
  118. raise ValueError( "'%s' not allowed" % str(arg))
  119. return str(arg)
  120. pattern_length = re.compile(r'-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))')
  121. def cnv_length(attribute, arg, element):
  122. """ A (positive or negative) physical length, consisting of magnitude and unit, in conformance with the
  123. Units of Measure defined in §5.9.13 of [XSL].
  124. """
  125. global pattern_length
  126. if not pattern_length.match(arg):
  127. raise ValueError( "'%s' is not a valid length" % arg)
  128. return arg
  129. def cnv_lengthorpercent(attribute, arg, element):
  130. failed = False
  131. try: return cnv_length(attribute, arg, element)
  132. except: failed = True
  133. try: return cnv_percent(attribute, arg, element)
  134. except: failed = True
  135. if failed:
  136. raise ValueError( "'%s' is not a valid length or percent" % arg)
  137. return arg
  138. def cnv_list_linkage_type(attribute, arg, element):
  139. if arg not in ('selection','selection-indices'):
  140. raise ValueError( "'%s' is not either 'selection' or 'selection-indices'" % arg)
  141. return str(arg)
  142. def cnv_metavaluetype(attribute, arg, element):
  143. if str(arg) not in ("float", "date", "time", "boolean", "string"):
  144. raise ValueError( "'%s' not allowed" % str(arg))
  145. return str(arg)
  146. def cnv_major_minor(attribute, arg, element):
  147. if arg not in ('major','minor'):
  148. raise ValueError( "'%s' is not either 'minor' or 'major'" % arg)
  149. return str(arg)
  150. pattern_namespacedToken = re.compile(r'[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+')
  151. def cnv_namespacedToken(attribute, arg, element):
  152. global pattern_namespacedToken
  153. if not pattern_namespacedToken.match(arg):
  154. raise ValueError( "'%s' is not a valid namespaced token" % arg)
  155. return __save_prefix(attribute, arg, element)
  156. def cnv_NCName(attribute, arg, element):
  157. """ NCName is defined in http://www.w3.org/TR/REC-xml-names/#NT-NCName
  158. Essentially an XML name minus ':'
  159. """
  160. if (sys.version_info[0]==3 and isinstance(arg, str)) or (sys.version_info[0]==2 and type(arg) in types.StringTypes):
  161. return make_NCName(arg)
  162. else:
  163. return arg.getAttrNS(STYLENS, 'name')
  164. # This function takes either an instance of a style (preferred)
  165. # or a text string naming the style. If it is a text string, then it must
  166. # already have been converted to an NCName
  167. # The text-string argument is mainly for when we build a structure from XML
  168. def cnv_StyleNameRef(attribute, arg, element):
  169. try:
  170. return arg.getAttrNS(STYLENS, 'name')
  171. except:
  172. return arg
  173. # This function takes either an instance of a style (preferred)
  174. # or a text string naming the style. If it is a text string, then it must
  175. # already have been converted to an NCName
  176. # The text-string argument is mainly for when we build a structure from XML
  177. def cnv_DrawNameRef(attribute, arg, element):
  178. try:
  179. return arg.getAttrNS(DRAWNS, 'name')
  180. except:
  181. return arg
  182. # Must accept list of Style objects
  183. def cnv_NCNames(attribute, arg, element):
  184. return ' '.join(arg)
  185. def cnv_nonNegativeInteger(attribute, arg, element):
  186. return str(arg)
  187. pattern_percent = re.compile(r'-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%')
  188. def cnv_percent(attribute, arg, element):
  189. global pattern_percent
  190. if not pattern_percent.match(arg):
  191. raise ValueError( "'%s' is not a valid length" % arg)
  192. return arg
  193. # Real one doesn't allow floating point values
  194. pattern_points = re.compile(r'-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*')
  195. #pattern_points = re.compile(r'-?[0-9.]+,-?[0-9.]+([ ]+-?[0-9.]+,-?[0-9.]+)*')
  196. def cnv_points(attribute, arg, element):
  197. global pattern_points
  198. if (sys.version_info[0]==3 and isinstance(arg, str)) or (sys.version_info[0]==2 and type(arg) in types.StringTypes):
  199. if not pattern_points.match(arg):
  200. raise ValueError( "x,y are separated by a comma and the points are separated by white spaces")
  201. return arg
  202. else:
  203. try:
  204. strarg = ' '.join([ "%d,%d" % p for p in arg])
  205. except:
  206. raise ValueError( "Points must be string or [(0,0),(1,1)] - not %s" % arg)
  207. return strarg
  208. def cnv_positiveInteger(attribute, arg, element):
  209. return str(arg)
  210. def cnv_rowOrCol(attribute, arg, element):
  211. if str(arg) not in ("row","column"):
  212. raise ValueError( "'%s' not allowed" % str(arg))
  213. return str(arg)
  214. def cnv_string(attribute, arg, element):
  215. if sys.version_info[0]==2:
  216. return unicode(arg)
  217. else:
  218. return str(arg)
  219. def cnv_stroke_linecap(attribute, arg, element):
  220. if str(arg) not in ("butt", "square", "round"):
  221. raise ValueError( "'%s' not allowed" % str(arg))
  222. return str(arg)
  223. def cnv_textnoteclass(attribute, arg, element):
  224. if str(arg) not in ("footnote", "endnote"):
  225. raise ValueError( "'%s' not allowed" % str(arg))
  226. return str(arg)
  227. # Understand different time formats
  228. def cnv_time(attribute, arg, element):
  229. return str(arg)
  230. def cnv_token(attribute, arg, element):
  231. return str(arg)
  232. pattern_viewbox = re.compile(r'-?[0-9]+([ ]+-?[0-9]+){3}$')
  233. def cnv_viewbox(attribute, arg, element):
  234. global pattern_viewbox
  235. if not pattern_viewbox.match(arg):
  236. raise ValueError( "viewBox must be four integers separated by whitespaces")
  237. return arg
  238. def cnv_xlinkshow(attribute, arg, element):
  239. if str(arg) not in ("new", "replace", "embed"):
  240. raise ValueError( "'%s' not allowed" % str(arg))
  241. return str(arg)
  242. def cnv_xlinktype(attribute, arg, element):
  243. if arg != "simple":
  244. raise ValueError( "Value of '%s' must be 'simple'" % attribute[1])
  245. return arg
  246. attrconverters = {
  247. ((ANIMNS,u'audio-level'), None): cnv_double,
  248. ((ANIMNS,u'color-interpolation'), None): cnv_string,
  249. ((ANIMNS,u'color-interpolation-direction'), None): cnv_string,
  250. ((ANIMNS,u'command'), None): cnv_string,
  251. ((ANIMNS,u'formula'), None): cnv_string,
  252. ((ANIMNS,u'id'), None): cnv_ID,
  253. ((ANIMNS,u'iterate-interval'), None): cnv_duration,
  254. ((ANIMNS,u'iterate-type'), None): cnv_string,
  255. ((ANIMNS,u'name'), None): cnv_string,
  256. ((ANIMNS,u'sub-item'), None): cnv_string,
  257. ((ANIMNS,u'value'), None): cnv_string,
  258. # ((DBNS,u'type'), None): cnv_namespacedToken,
  259. ((CHARTNS,u'angle-offset'), None): cnv_angle,
  260. ((CHARTNS,u'automatic-content'), None): cnv_boolean,
  261. ((CHARTNS,u'auto-position'), None): cnv_boolean,
  262. ((CHARTNS,u'auto-size'), None): cnv_boolean,
  263. ((CHARTNS,u'axis-label-position'), None): cnv_string, # Multi-value
  264. ((CHARTNS,u'axis-position'), None): cnv_string, # Multi-value
  265. ((CHARTNS,u'attached-axis'), None): cnv_string,
  266. ((CHARTNS,u'class'), (CHARTNS,u'grid')): cnv_major_minor,
  267. ((CHARTNS,u'class'), None): cnv_namespacedToken,
  268. ((CHARTNS,u'column-mapping'), None): cnv_string,
  269. ((CHARTNS,u'connect-bars'), None): cnv_boolean,
  270. ((CHARTNS,u'data-label-number'), None): cnv_string,
  271. ((CHARTNS,u'data-label-symbol'), None): cnv_boolean,
  272. ((CHARTNS,u'data-label-text'), None): cnv_boolean,
  273. ((CHARTNS,u'data-source-has-labels'), None): cnv_data_source_has_labels,
  274. ((CHARTNS,u'deep'), None): cnv_boolean,
  275. ((CHARTNS,u'dimension'), None): cnv_string,
  276. ((CHARTNS,u'display-equation'), None): cnv_boolean,
  277. ((CHARTNS,u'display-label'), None): cnv_boolean,
  278. ((CHARTNS,u'display-r-square'), None): cnv_boolean,
  279. ((CHARTNS,u'error-category'), None): cnv_string,
  280. ((CHARTNS,u'error-lower-indicator'), None): cnv_boolean,
  281. ((CHARTNS,u'error-lower-limit'), None): cnv_string,
  282. ((CHARTNS,u'error-margin'), None): cnv_string,
  283. ((CHARTNS,u'error-percentage'), None): cnv_string,
  284. ((CHARTNS,u'error-lower-range'), None): cnv_string,
  285. ((CHARTNS,u'error-upper-indicator'), None): cnv_boolean,
  286. ((CHARTNS,u'error-upper-limit'), None): cnv_string,
  287. ((CHARTNS,u'error-upper-range'), None): cnv_string,
  288. ((CHARTNS,u'gap-width'), None): cnv_string,
  289. ((CHARTNS,u'group-bars-per-axis'), None): cnv_boolean,
  290. ((CHARTNS,u'hole-size'), None): cnv_percent,
  291. ((CHARTNS,u'include-hidden-cells'), None): cnv_boolean,
  292. ((CHARTNS,u'interpolation'), None): cnv_string,
  293. ((CHARTNS,u'interval-major'), None): cnv_string,
  294. ((CHARTNS,u'interval-minor-divisor'), None): cnv_string,
  295. ((CHARTNS,u'japanese-candle-stick'), None): cnv_boolean,
  296. ((CHARTNS,u'label-arrangement'), None): cnv_string,
  297. ((CHARTNS,u'label-cell-address'), None): cnv_string,
  298. ((CHARTNS,u'label-position'), None): cnv_string, # Multi-value
  299. ((CHARTNS,u'label-position-negative'), None): cnv_string, # Multi-value
  300. ((CHARTNS,u'legend-align'), None): cnv_string,
  301. ((CHARTNS,u'legend-position'), None): cnv_legend_position,
  302. ((CHARTNS,u'lines'), None): cnv_boolean,
  303. ((CHARTNS,u'link-data-style-to-source'), None): cnv_boolean,
  304. ((CHARTNS,u'logarithmic'), None): cnv_boolean,
  305. ((CHARTNS,u'maximum'), None): cnv_string,
  306. ((CHARTNS,u'mean-value'), None): cnv_boolean,
  307. ((CHARTNS,u'minimum'), None): cnv_string,
  308. ((CHARTNS,u'name'), None): cnv_string,
  309. ((CHARTNS,u'origin'), None): cnv_string,
  310. ((CHARTNS,u'overlap'), None): cnv_string,
  311. ((CHARTNS,u'percentage'), None): cnv_boolean,
  312. ((CHARTNS,u'pie-offset'), None): cnv_string,
  313. ((CHARTNS,u'regression-type'), None): cnv_string,
  314. ((CHARTNS,u'repeated'), None): cnv_nonNegativeInteger,
  315. ((CHARTNS,u'reverse-direction'), None): cnv_boolean,
  316. ((CHARTNS,u'right-angled-axes'), None): cnv_boolean,
  317. ((CHARTNS,u'row-mapping'), None): cnv_string,
  318. ((CHARTNS,u'scale-text'), None): cnv_boolean,
  319. ((CHARTNS,u'series-source'), None): cnv_string,
  320. ((CHARTNS,u'solid-type'), None): cnv_string,
  321. ((CHARTNS,u'sort-by-x-values'), None): cnv_boolean,
  322. ((CHARTNS,u'spline-order'), None): cnv_string,
  323. ((CHARTNS,u'spline-resolution'), None): cnv_string,
  324. ((CHARTNS,u'stacked'), None): cnv_boolean,
  325. ((CHARTNS,u'style-name'), None): cnv_StyleNameRef,
  326. ((CHARTNS,u'symbol-height'), None): cnv_string,
  327. ((CHARTNS,u'symbol-name'), None): cnv_string,
  328. ((CHARTNS,u'symbol-type'), None): cnv_string,
  329. ((CHARTNS,u'symbol-width'), None): cnv_string,
  330. ((CHARTNS,u'text-overlap'), None): cnv_boolean,
  331. ((CHARTNS,u'three-dimensional'), None): cnv_boolean,
  332. ((CHARTNS,u'tick-mark-position'), None): cnv_string, # Multi-value
  333. ((CHARTNS,u'tick-marks-major-inner'), None): cnv_boolean,
  334. ((CHARTNS,u'tick-marks-major-outer'), None): cnv_boolean,
  335. ((CHARTNS,u'tick-marks-minor-inner'), None): cnv_boolean,
  336. ((CHARTNS,u'tick-marks-minor-outer'), None): cnv_boolean,
  337. ((CHARTNS,u'treat-empty-cells'), None): cnv_string, # Multi-value
  338. ((CHARTNS,u'values-cell-range-address'), None): cnv_string,
  339. ((CHARTNS,u'vertical'), None): cnv_boolean,
  340. ((CHARTNS,u'visible'), None): cnv_boolean,
  341. ((CONFIGNS,u'name'), None): cnv_formula,
  342. ((CONFIGNS,u'type'), None): cnv_configtype,
  343. ((DR3DNS,u'ambient-color'), None): cnv_string,
  344. ((DR3DNS,u'back-scale'), None): cnv_string,
  345. ((DR3DNS,u'backface-culling'), None): cnv_string,
  346. ((DR3DNS,u'center'), None): cnv_string,
  347. ((DR3DNS,u'close-back'), None): cnv_boolean,
  348. ((DR3DNS,u'close-front'), None): cnv_boolean,
  349. ((DR3DNS,u'depth'), None): cnv_length,
  350. ((DR3DNS,u'diffuse-color'), None): cnv_string,
  351. ((DR3DNS,u'direction'), None): cnv_string,
  352. ((DR3DNS,u'distance'), None): cnv_length,
  353. ((DR3DNS,u'edge-rounding'), None): cnv_string,
  354. ((DR3DNS,u'edge-rounding-mode'), None): cnv_string,
  355. ((DR3DNS,u'emissive-color'), None): cnv_string,
  356. ((DR3DNS,u'enabled'), None): cnv_boolean,
  357. ((DR3DNS,u'end-angle'), None): cnv_string,
  358. ((DR3DNS,u'focal-length'), None): cnv_length,
  359. ((DR3DNS,u'horizontal-segments'), None): cnv_string,
  360. ((DR3DNS,u'lighting-mode'), None): cnv_boolean,
  361. ((DR3DNS,u'max-edge'), None): cnv_string,
  362. ((DR3DNS,u'min-edge'), None): cnv_string,
  363. ((DR3DNS,u'normals-direction'), None): cnv_string,
  364. ((DR3DNS,u'normals-kind'), None): cnv_string,
  365. ((DR3DNS,u'projection'), None): cnv_string,
  366. ((DR3DNS,u'shade-mode'), None): cnv_string,
  367. ((DR3DNS,u'shadow'), None): cnv_string,
  368. ((DR3DNS,u'shadow-slant'), None): cnv_nonNegativeInteger,
  369. ((DR3DNS,u'shininess'), None): cnv_string,
  370. ((DR3DNS,u'size'), None): cnv_string,
  371. ((DR3DNS,u'specular'), None): cnv_boolean,
  372. ((DR3DNS,u'specular-color'), None): cnv_string,
  373. ((DR3DNS,u'texture-filter'), None): cnv_string,
  374. ((DR3DNS,u'texture-generation-mode-x'), None): cnv_string,
  375. ((DR3DNS,u'texture-generation-mode-y'), None): cnv_string,
  376. ((DR3DNS,u'texture-kind'), None): cnv_string,
  377. ((DR3DNS,u'texture-mode'), None): cnv_string,
  378. ((DR3DNS,u'transform'), None): cnv_string,
  379. ((DR3DNS,u'vertical-segments'), None): cnv_string,
  380. ((DR3DNS,u'vpn'), None): cnv_string,
  381. ((DR3DNS,u'vrp'), None): cnv_string,
  382. ((DR3DNS,u'vup'), None): cnv_string,
  383. ((DRAWNS,u'align'), None): cnv_string,
  384. ((DRAWNS,u'angle'), None): cnv_integer,
  385. ((DRAWNS,u'archive'), None): cnv_string,
  386. ((DRAWNS,u'auto-grow-height'), None): cnv_boolean,
  387. ((DRAWNS,u'auto-grow-width'), None): cnv_boolean,
  388. ((DRAWNS,u'background-size'), None): cnv_string,
  389. ((DRAWNS,u'blue'), None): cnv_string,
  390. ((DRAWNS,u'border'), None): cnv_string,
  391. ((DRAWNS,u'caption-angle'), None): cnv_string,
  392. ((DRAWNS,u'caption-angle-type'), None): cnv_string,
  393. ((DRAWNS,u'caption-escape'), None): cnv_string,
  394. ((DRAWNS,u'caption-escape-direction'), None): cnv_string,
  395. ((DRAWNS,u'caption-fit-line-length'), None): cnv_boolean,
  396. ((DRAWNS,u'caption-gap'), None): cnv_string,
  397. ((DRAWNS,u'caption-line-length'), None): cnv_length,
  398. ((DRAWNS,u'caption-point-x'), None): cnv_string,
  399. ((DRAWNS,u'caption-point-y'), None): cnv_string,
  400. ((DRAWNS,u'caption-id'), None): cnv_IDREF,
  401. ((DRAWNS,u'caption-type'), None): cnv_string,
  402. ((DRAWNS,u'chain-next-name'), None): cnv_string,
  403. ((DRAWNS,u'class-id'), None): cnv_string,
  404. ((DRAWNS,u'class-names'), None): cnv_NCNames,
  405. ((DRAWNS,u'code'), None): cnv_string,
  406. ((DRAWNS,u'color'), None): cnv_string,
  407. ((DRAWNS,u'color-inversion'), None): cnv_boolean,
  408. ((DRAWNS,u'color-mode'), None): cnv_string,
  409. ((DRAWNS,u'concave'), None): cnv_string,
  410. ((DRAWNS,u'concentric-gradient-fill-allowed'), None): cnv_boolean,
  411. ((DRAWNS,u'contrast'), None): cnv_string,
  412. ((DRAWNS,u'control'), None): cnv_IDREF,
  413. ((DRAWNS,u'copy-of'), None): cnv_string,
  414. ((DRAWNS,u'corner-radius'), None): cnv_length,
  415. ((DRAWNS,u'corners'), None): cnv_positiveInteger,
  416. ((DRAWNS,u'cx'), None): cnv_string,
  417. ((DRAWNS,u'cy'), None): cnv_string,
  418. ((DRAWNS,u'data'), None): cnv_string,
  419. ((DRAWNS,u'decimal-places'), None): cnv_string,
  420. ((DRAWNS,u'display'), None): cnv_string,
  421. ((DRAWNS,u'display-name'), None): cnv_string,
  422. ((DRAWNS,u'distance'), None): cnv_lengthorpercent,
  423. ((DRAWNS,u'dots1'), None): cnv_integer,
  424. ((DRAWNS,u'dots1-length'), None): cnv_lengthorpercent,
  425. ((DRAWNS,u'dots2'), None): cnv_integer,
  426. ((DRAWNS,u'dots2-length'), None): cnv_lengthorpercent,
  427. ((DRAWNS,u'draw-aspect'), None): cnv_draw_aspect,
  428. ((DRAWNS,u'end-angle'), None): cnv_angle,
  429. ((DRAWNS,u'end'), None): cnv_string,
  430. ((DRAWNS,u'end-color'), None): cnv_string,
  431. ((DRAWNS,u'end-glue-point'), None): cnv_nonNegativeInteger,
  432. ((DRAWNS,u'end-guide'), None): cnv_length,
  433. ((DRAWNS,u'end-intensity'), None): cnv_string,
  434. ((DRAWNS,u'end-line-spacing-horizontal'), None): cnv_string,
  435. ((DRAWNS,u'end-line-spacing-vertical'), None): cnv_string,
  436. ((DRAWNS,u'end-shape'), None): cnv_IDREF,
  437. ((DRAWNS,u'engine'), None): cnv_namespacedToken,
  438. ((DRAWNS,u'enhanced-path'), None): cnv_string,
  439. ((DRAWNS,u'escape-direction'), None): cnv_string,
  440. ((DRAWNS,u'extrusion-allowed'), None): cnv_boolean,
  441. ((DRAWNS,u'extrusion-brightness'), None): cnv_string,
  442. ((DRAWNS,u'extrusion'), None): cnv_boolean,
  443. ((DRAWNS,u'extrusion-color'), None): cnv_boolean,
  444. ((DRAWNS,u'extrusion-depth'), None): cnv_double,
  445. ((DRAWNS,u'extrusion-diffusion'), None): cnv_string,
  446. ((DRAWNS,u'extrusion-first-light-direction'), None): cnv_string,
  447. ((DRAWNS,u'extrusion-first-light-harsh'), None): cnv_boolean,
  448. ((DRAWNS,u'extrusion-first-light-level'), None): cnv_string,
  449. ((DRAWNS,u'extrusion-light-face'), None): cnv_boolean,
  450. ((DRAWNS,u'extrusion-metal'), None): cnv_boolean,
  451. ((DRAWNS,u'extrusion-number-of-line-segments'), None): cnv_integer,
  452. ((DRAWNS,u'extrusion-origin'), None): cnv_double,
  453. ((DRAWNS,u'extrusion-rotation-angle'), None): cnv_double,
  454. ((DRAWNS,u'extrusion-rotation-center'), None): cnv_string,
  455. ((DRAWNS,u'extrusion-second-light-direction'), None): cnv_string,
  456. ((DRAWNS,u'extrusion-second-light-harsh'), None): cnv_boolean,
  457. ((DRAWNS,u'extrusion-second-light-level'), None): cnv_string,
  458. ((DRAWNS,u'extrusion-shininess'), None): cnv_string,
  459. ((DRAWNS,u'extrusion-skew'), None): cnv_double,
  460. ((DRAWNS,u'extrusion-specularity'), None): cnv_string,
  461. ((DRAWNS,u'extrusion-viewpoint'), None): cnv_string,
  462. ((DRAWNS,u'fill'), None): cnv_string,
  463. ((DRAWNS,u'fill-color'), None): cnv_string,
  464. ((DRAWNS,u'fill-gradient-name'), None): cnv_string,
  465. ((DRAWNS,u'fill-hatch-name'), None): cnv_string,
  466. ((DRAWNS,u'fill-hatch-solid'), None): cnv_boolean,
  467. ((DRAWNS,u'fill-image-height'), None): cnv_lengthorpercent,
  468. ((DRAWNS,u'fill-image-name'), None): cnv_DrawNameRef,
  469. ((DRAWNS,u'fill-image-ref-point'), None): cnv_string,
  470. ((DRAWNS,u'fill-image-ref-point-x'), None): cnv_string,
  471. ((DRAWNS,u'fill-image-ref-point-y'), None): cnv_string,
  472. ((DRAWNS,u'fill-image-width'), None): cnv_lengthorpercent,
  473. ((DRAWNS,u'filter-name'), None): cnv_string,
  474. ((DRAWNS,u'fit-to-contour'), None): cnv_boolean,
  475. ((DRAWNS,u'fit-to-size'), None): cnv_string, # ODF 1.2 says boolean
  476. ((DRAWNS,u'formula'), None): cnv_string,
  477. ((DRAWNS,u'frame-display-border'), None): cnv_boolean,
  478. ((DRAWNS,u'frame-display-scrollbar'), None): cnv_boolean,
  479. ((DRAWNS,u'frame-margin-horizontal'), None): cnv_string,
  480. ((DRAWNS,u'frame-margin-vertical'), None): cnv_string,
  481. ((DRAWNS,u'frame-name'), None): cnv_string,
  482. ((DRAWNS,u'gamma'), None): cnv_string,
  483. ((DRAWNS,u'glue-point-leaving-directions'), None): cnv_string,
  484. ((DRAWNS,u'glue-point-type'), None): cnv_string,
  485. ((DRAWNS,u'glue-points'), None): cnv_string,
  486. ((DRAWNS,u'gradient-step-count'), None): cnv_string,
  487. ((DRAWNS,u'green'), None): cnv_string,
  488. ((DRAWNS,u'guide-distance'), None): cnv_string,
  489. ((DRAWNS,u'guide-overhang'), None): cnv_length,
  490. ((DRAWNS,u'handle-mirror-horizontal'), None): cnv_boolean,
  491. ((DRAWNS,u'handle-mirror-vertical'), None): cnv_boolean,
  492. ((DRAWNS,u'handle-polar'), None): cnv_string,
  493. ((DRAWNS,u'handle-position'), None): cnv_string,
  494. ((DRAWNS,u'handle-radius-range-maximum'), None): cnv_string,
  495. ((DRAWNS,u'handle-radius-range-minimum'), None): cnv_string,
  496. ((DRAWNS,u'handle-range-x-maximum'), None): cnv_string,
  497. ((DRAWNS,u'handle-range-x-minimum'), None): cnv_string,
  498. ((DRAWNS,u'handle-range-y-maximum'), None): cnv_string,
  499. ((DRAWNS,u'handle-range-y-minimum'), None): cnv_string,
  500. ((DRAWNS,u'handle-switched'), None): cnv_boolean,
  501. # ((DRAWNS,u'id'), None): cnv_ID,
  502. # ((DRAWNS,u'id'), None): cnv_nonNegativeInteger, # ?? line 6581 in RNG
  503. ((DRAWNS,u'id'), None): cnv_string,
  504. ((DRAWNS,u'image-opacity'), None): cnv_string,
  505. ((DRAWNS,u'kind'), None): cnv_string,
  506. ((DRAWNS,u'layer'), None): cnv_string,
  507. ((DRAWNS,u'line-distance'), None): cnv_string,
  508. ((DRAWNS,u'line-skew'), None): cnv_string,
  509. ((DRAWNS,u'luminance'), None): cnv_string,
  510. ((DRAWNS,u'marker-end-center'), None): cnv_boolean,
  511. ((DRAWNS,u'marker-end'), None): cnv_string,
  512. ((DRAWNS,u'marker-end-width'), None): cnv_length,
  513. ((DRAWNS,u'marker-start-center'), None): cnv_boolean,
  514. ((DRAWNS,u'marker-start'), None): cnv_string,
  515. ((DRAWNS,u'marker-start-width'), None): cnv_length,
  516. ((DRAWNS,u'master-page-name'), None): cnv_StyleNameRef,
  517. ((DRAWNS,u'may-script'), None): cnv_boolean,
  518. ((DRAWNS,u'measure-align'), None): cnv_string,
  519. ((DRAWNS,u'measure-vertical-align'), None): cnv_string,
  520. ((DRAWNS,u'mime-type'), None): cnv_string,
  521. ((DRAWNS,u'mirror-horizontal'), None): cnv_boolean,
  522. ((DRAWNS,u'mirror-vertical'), None): cnv_boolean,
  523. ((DRAWNS,u'modifiers'), None): cnv_string,
  524. ((DRAWNS,u'name'), None): cnv_NCName,
  525. # ((DRAWNS,u'name'), None): cnv_string,
  526. ((DRAWNS,u'nav-order'), None): cnv_IDREF,
  527. ((DRAWNS,u'nohref'), None): cnv_string,
  528. ((DRAWNS,u'notify-on-update-of-ranges'), None): cnv_string,
  529. ((DRAWNS,u'object'), None): cnv_string,
  530. ((DRAWNS,u'ole-draw-aspect'), None): cnv_string,
  531. ((DRAWNS,u'opacity'), None): cnv_string,
  532. ((DRAWNS,u'opacity-name'), None): cnv_string,
  533. ((DRAWNS,u'page-number'), None): cnv_positiveInteger,
  534. ((DRAWNS,u'parallel'), None): cnv_boolean,
  535. ((DRAWNS,u'path-stretchpoint-x'), None): cnv_double,
  536. ((DRAWNS,u'path-stretchpoint-y'), None): cnv_double,
  537. ((DRAWNS,u'placing'), None): cnv_string,
  538. ((DRAWNS,u'points'), None): cnv_points,
  539. ((DRAWNS,u'protected'), None): cnv_boolean,
  540. ((DRAWNS,u'recreate-on-edit'), None): cnv_boolean,
  541. ((DRAWNS,u'red'), None): cnv_string,
  542. ((DRAWNS,u'rotation'), None): cnv_integer,
  543. ((DRAWNS,u'secondary-fill-color'), None): cnv_string,
  544. ((DRAWNS,u'shadow'), None): cnv_string,
  545. ((DRAWNS,u'shadow-color'), None): cnv_string,
  546. ((DRAWNS,u'shadow-offset-x'), None): cnv_length,
  547. ((DRAWNS,u'shadow-offset-y'), None): cnv_length,
  548. ((DRAWNS,u'shadow-opacity'), None): cnv_string,
  549. ((DRAWNS,u'shape-id'), None): cnv_IDREF,
  550. ((DRAWNS,u'sharpness'), None): cnv_string,
  551. ((DRAWNS,u'show-unit'), None): cnv_boolean,
  552. ((DRAWNS,u'start-angle'), None): cnv_angle,
  553. ((DRAWNS,u'start'), None): cnv_string,
  554. ((DRAWNS,u'start-color'), None): cnv_string,
  555. ((DRAWNS,u'start-glue-point'), None): cnv_nonNegativeInteger,
  556. ((DRAWNS,u'start-guide'), None): cnv_length,
  557. ((DRAWNS,u'start-intensity'), None): cnv_string,
  558. ((DRAWNS,u'start-line-spacing-horizontal'), None): cnv_string,
  559. ((DRAWNS,u'start-line-spacing-vertical'), None): cnv_string,
  560. ((DRAWNS,u'start-shape'), None): cnv_IDREF,
  561. ((DRAWNS,u'stroke'), None): cnv_string,
  562. ((DRAWNS,u'stroke-dash'), None): cnv_string,
  563. ((DRAWNS,u'stroke-dash-names'), None): cnv_string,
  564. ((DRAWNS,u'stroke-linejoin'), None): cnv_string,
  565. ((DRAWNS,u'style'), None): cnv_string,
  566. ((DRAWNS,u'style-name'), None): cnv_StyleNameRef,
  567. ((DRAWNS,u'symbol-color'), None): cnv_string,
  568. ((DRAWNS,u'text-areas'), None): cnv_string,
  569. ((DRAWNS,u'text-path-allowed'), None): cnv_boolean,
  570. ((DRAWNS,u'text-path'), None): cnv_boolean,
  571. ((DRAWNS,u'text-path-mode'), None): cnv_string,
  572. ((DRAWNS,u'text-path-same-letter-heights'), None): cnv_boolean,
  573. ((DRAWNS,u'text-path-scale'), None): cnv_string,
  574. ((DRAWNS,u'text-rotate-angle'), None): cnv_double,
  575. ((DRAWNS,u'text-style-name'), None): cnv_StyleNameRef,
  576. ((DRAWNS,u'textarea-horizontal-align'), None): cnv_string,
  577. ((DRAWNS,u'textarea-vertical-align'), None): cnv_string,
  578. ((DRAWNS,u'tile-repeat-offset'), None): cnv_string,
  579. ((DRAWNS,u'transform'), None): cnv_string,
  580. ((DRAWNS,u'type'), None): cnv_string,
  581. ((DRAWNS,u'unit'), None): cnv_string,
  582. ((DRAWNS,u'value'), None): cnv_string,
  583. ((DRAWNS,u'visible-area-height'), None): cnv_string,
  584. ((DRAWNS,u'visible-area-left'), None): cnv_string,
  585. ((DRAWNS,u'visible-area-top'), None): cnv_string,
  586. ((DRAWNS,u'visible-area-width'), None): cnv_string,
  587. ((DRAWNS,u'wrap-influence-on-position'), None): cnv_string,
  588. ((DRAWNS,u'z-index'), None): cnv_nonNegativeInteger,
  589. ((FONS,u'background-color'), None): cnv_string,
  590. ((FONS,u'border-bottom'), None): cnv_string,
  591. ((FONS,u'border'), None): cnv_string,
  592. ((FONS,u'border-left'), None): cnv_string,
  593. ((FONS,u'border-right'), None): cnv_string,
  594. ((FONS,u'border-top'), None): cnv_string,
  595. ((FONS,u'break-after'), None): cnv_string,
  596. ((FONS,u'break-before'), None): cnv_string,
  597. ((FONS,u'clip'), None): cnv_string,
  598. ((FONS,u'color'), None): cnv_string,
  599. ((FONS,u'column-count'), None): cnv_positiveInteger,
  600. ((FONS,u'column-gap'), None): cnv_length,
  601. ((FONS,u'country'), None): cnv_token,
  602. ((FONS,u'end-indent'), None): cnv_length,
  603. ((FONS,u'font-family'), None): cnv_string,
  604. ((FONS,u'font-size'), None): cnv_string,
  605. ((FONS,u'font-style'), None): cnv_string,
  606. ((FONS,u'font-variant'), None): cnv_string,
  607. ((FONS,u'font-weight'), None): cnv_string,
  608. ((FONS,u'height'), None): cnv_string,
  609. ((FONS,u'hyphenate'), None): cnv_boolean,
  610. ((FONS,u'hyphenation-keep'), None): cnv_string,
  611. ((FONS,u'hyphenation-ladder-count'), None): cnv_string,
  612. ((FONS,u'hyphenation-push-char-count'), None): cnv_string,
  613. ((FONS,u'hyphenation-remain-char-count'), None): cnv_string,
  614. ((FONS,u'keep-together'), None): cnv_string,
  615. ((FONS,u'keep-with-next'), None): cnv_string,
  616. ((FONS,u'language'), None): cnv_token,
  617. ((FONS,u'letter-spacing'), None): cnv_string,
  618. ((FONS,u'line-height'), None): cnv_string,
  619. ((FONS,u'margin-bottom'), None): cnv_string,
  620. ((FONS,u'margin'), None): cnv_string,
  621. ((FONS,u'margin-left'), None): cnv_string,
  622. ((FONS,u'margin-right'), None): cnv_string,
  623. ((FONS,u'margin-top'), None): cnv_string,
  624. ((FONS,u'max-height'), None): cnv_string,
  625. ((FONS,u'max-width'), None): cnv_string,
  626. ((FONS,u'min-height'), None): cnv_length,
  627. ((FONS,u'min-width'), None): cnv_string,
  628. ((FONS,u'orphans'), None): cnv_string,
  629. ((FONS,u'padding-bottom'), None): cnv_string,
  630. ((FONS,u'padding'), None): cnv_string,
  631. ((FONS,u'padding-left'), None): cnv_string,
  632. ((FONS,u'padding-right'), None): cnv_string,
  633. ((FONS,u'padding-top'), None): cnv_string,
  634. ((FONS,u'page-height'), None): cnv_length,
  635. ((FONS,u'page-width'), None): cnv_length,
  636. ((FONS,u'script'), None): cnv_token,
  637. ((FONS,u'space-after'), None): cnv_length,
  638. ((FONS,u'space-before'), None): cnv_length,
  639. ((FONS,u'start-indent'), None): cnv_length,
  640. ((FONS,u'text-align'), None): cnv_string,
  641. ((FONS,u'text-align-last'), None): cnv_string,
  642. ((FONS,u'text-indent'), None): cnv_string,
  643. ((FONS,u'text-shadow'), None): cnv_string,
  644. ((FONS,u'text-transform'), None): cnv_string,
  645. ((FONS,u'widows'), None): cnv_string,
  646. ((FONS,u'width'), None): cnv_string,
  647. ((FONS,u'wrap-option'), None): cnv_string,
  648. ((FORMNS,u'allow-deletes'), None): cnv_boolean,
  649. ((FORMNS,u'allow-inserts'), None): cnv_boolean,
  650. ((FORMNS,u'allow-updates'), None): cnv_boolean,
  651. ((FORMNS,u'apply-design-mode'), None): cnv_boolean,
  652. ((FORMNS,u'apply-filter'), None): cnv_boolean,
  653. ((FORMNS,u'auto-complete'), None): cnv_boolean,
  654. ((FORMNS,u'automatic-focus'), None): cnv_boolean,
  655. ((FORMNS,u'bound-column'), None): cnv_string,
  656. ((FORMNS,u'button-type'), None): cnv_string,
  657. ((FORMNS,u'command'), None): cnv_string,
  658. ((FORMNS,u'command-type'), None): cnv_string,
  659. ((FORMNS,u'control-implementation'), None): cnv_namespacedToken,
  660. ((FORMNS,u'convert-empty-to-null'), None): cnv_boolean,
  661. ((FORMNS,u'current-selected'), None): cnv_boolean,
  662. ((FORMNS,u'current-state'), None): cnv_string,
  663. # ((FORMNS,u'current-value'), None): cnv_date,
  664. # ((FORMNS,u'current-value'), None): cnv_double,
  665. ((FORMNS,u'current-value'), None): cnv_string,
  666. # ((FORMNS,u'current-value'), None): cnv_time,
  667. ((FORMNS,u'data-field'), None): cnv_string,
  668. ((FORMNS,u'datasource'), None): cnv_string,
  669. ((FORMNS,u'default-button'), None): cnv_boolean,
  670. ((FORMNS,u'delay-for-repeat'), None): cnv_duration,
  671. ((FORMNS,u'detail-fields'), None): cnv_string,
  672. ((FORMNS,u'disabled'), None): cnv_boolean,
  673. ((FORMNS,u'dropdown'), None): cnv_boolean,
  674. ((FORMNS,u'echo-char'), None): cnv_string,
  675. ((FORMNS,u'enctype'), None): cnv_string,
  676. ((FORMNS,u'escape-processing'), None): cnv_boolean,
  677. ((FORMNS,u'filter'), None): cnv_string,
  678. ((FORMNS,u'focus-on-click'), None): cnv_boolean,
  679. ((FORMNS,u'for'), None): cnv_string,
  680. ((FORMNS,u'id'), None): cnv_ID,
  681. ((FORMNS,u'ignore-result'), None): cnv_boolean,
  682. ((FORMNS,u'image-align'), None): cnv_string,
  683. ((FORMNS,u'image-data'), None): cnv_anyURI,
  684. ((FORMNS,u'image-position'), None): cnv_string,
  685. ((FORMNS,u'is-tristate'), None): cnv_boolean,
  686. ((FORMNS,u'label'), None): cnv_string,
  687. ((FORMNS,u'linked-cell'), None): cnv_string,
  688. ((FORMNS,u'list-linkage-type'), None): cnv_list_linkage_type,
  689. ((FORMNS,u'list-source'), None): cnv_string,
  690. ((FORMNS,u'list-source-type'), None): cnv_string,
  691. ((FORMNS,u'master-fields'), None): cnv_string,
  692. ((FORMNS,u'max-length'), None): cnv_nonNegativeInteger,
  693. # ((FORMNS,u'max-value'), None): cnv_date,
  694. # ((FORMNS,u'max-value'), None): cnv_double,
  695. ((FORMNS,u'max-value'), None): cnv_string,
  696. # ((FORMNS,u'max-value'), None): cnv_time,
  697. ((FORMNS,u'method'), None): cnv_string,
  698. # ((FORMNS,u'min-value'), None): cnv_date,
  699. # ((FORMNS,u'min-value'), None): cnv_double,
  700. ((FORMNS,u'min-value'), None): cnv_string,
  701. # ((FORMNS,u'min-value'), None): cnv_time,
  702. ((FORMNS,u'multi-line'), None): cnv_boolean,
  703. ((FORMNS,u'multiple'), None): cnv_boolean,
  704. ((FORMNS,u'name'), None): cnv_string,
  705. ((FORMNS,u'navigation-mode'), None): cnv_string,
  706. ((FORMNS,u'order'), None): cnv_string,
  707. ((FORMNS,u'orientation'), None): cnv_string,
  708. ((FORMNS,u'page-step-size'), None): cnv_positiveInteger,
  709. ((FORMNS,u'printable'), None): cnv_boolean,
  710. ((FORMNS,u'property-name'), None): cnv_string,
  711. ((FORMNS,u'readonly'), None): cnv_boolean,
  712. ((FORMNS,u'repeat'), None): cnv_boolean,
  713. ((FORMNS,u'selected'), None): cnv_boolean,
  714. ((FORMNS,u'size'), None): cnv_nonNegativeInteger,
  715. ((FORMNS,u'source-cell-range'), None): cnv_string,
  716. ((FORMNS,u'spin-button'), None): cnv_boolean,
  717. ((FORMNS,u'state'), None): cnv_string,
  718. ((FORMNS,u'step-size'), None): cnv_positiveInteger,
  719. ((FORMNS,u'tab-cycle'), None): cnv_string,
  720. ((FORMNS,u'tab-index'), None): cnv_nonNegativeInteger,
  721. ((FORMNS,u'tab-stop'), None): cnv_boolean,
  722. ((FORMNS,u'text-style-name'), None): cnv_StyleNameRef,
  723. ((FORMNS,u'title'), None): cnv_string,
  724. ((FORMNS,u'toggle'), None): cnv_boolean,
  725. ((FORMNS,u'validation'), None): cnv_boolean,
  726. # ((FORMNS,u'value'), None): cnv_date,
  727. # ((FORMNS,u'value'), None): cnv_double,
  728. ((FORMNS,u'value'), None): cnv_string,
  729. # ((FORMNS,u'value'), None): cnv_time,
  730. ((FORMNS,u'visual-effect'), None): cnv_string,
  731. ((FORMNS,u'xforms-list-source'), None): cnv_string,
  732. ((FORMNS,u'xforms-submission'), None): cnv_string,
  733. ((GRDDLNS,u'transformation'), None): cnv_string,
  734. ((LOEXTNS,u'contextual-spacing'), None): cnv_boolean,
  735. ((LOEXTNS,u'scale-to-X'), None): cnv_string,
  736. ((LOEXTNS,u'scale-to-Y'), None): cnv_string,
  737. ((MANIFESTNS,u'algorithm-name'), None): cnv_string,
  738. ((MANIFESTNS,u'checksum'), None): cnv_string,
  739. ((MANIFESTNS,u'checksum-type'), None): cnv_string,
  740. ((MANIFESTNS,u'full-path'), None): cnv_string,
  741. ((MANIFESTNS,u'initialisation-vector'), None): cnv_string,
  742. ((MANIFESTNS,u'iteration-count'), None): cnv_nonNegativeInteger,
  743. ((MANIFESTNS,u'key-derivation-name'), None): cnv_string,
  744. ((MANIFESTNS,u'media-type'), None): cnv_string,
  745. ((MANIFESTNS,u'preferred-view-mode'), None): cnv_string,
  746. ((MANIFESTNS,u'salt'), None): cnv_string,
  747. ((MANIFESTNS,u'size'), None): cnv_nonNegativeInteger,
  748. ((MANIFESTNS,u'version'), None): cnv_string,
  749. ((METANS,u'cell-count'), None): cnv_nonNegativeInteger,
  750. ((METANS,u'character-count'), None): cnv_nonNegativeInteger,
  751. ((METANS,u'date'), None): cnv_dateTime,
  752. ((METANS,u'delay'), None): cnv_duration,
  753. ((METANS,u'draw-count'), None): cnv_nonNegativeInteger,
  754. ((METANS,u'frame-count'), None): cnv_nonNegativeInteger,
  755. ((METANS,u'image-count'), None): cnv_nonNegativeInteger,
  756. ((METANS,u'name'), None): cnv_string,
  757. ((METANS,u'non-whitespace-character-count'), None): cnv_nonNegativeInteger,
  758. ((METANS,u'object-count'), None): cnv_nonNegativeInteger,
  759. ((METANS,u'ole-object-count'), None): cnv_nonNegativeInteger,
  760. ((METANS,u'page-count'), None): cnv_nonNegativeInteger,
  761. ((METANS,u'paragraph-count'), None): cnv_nonNegativeInteger,
  762. ((METANS,u'row-count'), None): cnv_nonNegativeInteger,
  763. ((METANS,u'sentence-count'), None): cnv_nonNegativeInteger,
  764. ((METANS,u'syllable-count'), None): cnv_nonNegativeInteger,
  765. ((METANS,u'table-count'), None): cnv_nonNegativeInteger,
  766. ((METANS,u'value-type'), None): cnv_metavaluetype,
  767. ((METANS,u'word-count'), None): cnv_nonNegativeInteger,
  768. ((NUMBERNS,u'automatic-order'), None): cnv_boolean,
  769. ((NUMBERNS,u'calendar'), None): cnv_string,
  770. ((NUMBERNS,u'country'), None): cnv_token,
  771. ((NUMBERNS,u'decimal-places'), None): cnv_integer,
  772. ((NUMBERNS,u'decimal-replacement'), None): cnv_string,
  773. ((NUMBERNS,u'denominator-value'), None): cnv_integer,
  774. ((NUMBERNS,u'display-factor'), None): cnv_double,
  775. ((NUMBERNS,u'format-source'), None): cnv_string,
  776. ((NUMBERNS,u'grouping'), None): cnv_boolean,
  777. ((NUMBERNS,u'language'), None): cnv_token,
  778. ((NUMBERNS,u'min-denominator-digits'), None): cnv_integer,
  779. ((NUMBERNS,u'min-exponent-digits'), None): cnv_integer,
  780. ((NUMBERNS,u'min-integer-digits'), None): cnv_integer,
  781. ((NUMBERNS,u'min-numerator-digits'), None): cnv_integer,
  782. ((NUMBERNS,u'position'), None): cnv_integer,
  783. ((NUMBERNS,u'possessive-form'), None): cnv_boolean,
  784. ((NUMBERNS,u'rfc-language-tag'), None): cnv_language,
  785. ((NUMBERNS,u'script'), None): cnv_token,
  786. ((NUMBERNS,u'style'), None): cnv_string,
  787. ((NUMBERNS,u'textual'), None): cnv_boolean,
  788. ((NUMBERNS,u'title'), None): cnv_string,
  789. ((NUMBERNS,u'transliteration-country'), None): cnv_token,
  790. ((NUMBERNS,u'transliteration-format'), None): cnv_string,
  791. ((NUMBERNS,u'transliteration-language'), None): cnv_token,
  792. ((NUMBERNS,u'transliteration-style'), None): cnv_string,
  793. ((NUMBERNS,u'truncate-on-overflow'), None): cnv_boolean,
  794. ((OFFICENS,u'automatic-update'), None): cnv_boolean,
  795. ((OFFICENS,u'boolean-value'), None): cnv_boolean,
  796. ((OFFICENS,u'conversion-mode'), None): cnv_string,
  797. ((OFFICENS,u'currency'), None): cnv_string,
  798. ((OFFICENS,u'date-value'), None): cnv_dateTime,
  799. ((OFFICENS,u'dde-application'), None): cnv_string,
  800. ((OFFICENS,u'dde-item'), None): cnv_string,
  801. ((OFFICENS,u'dde-topic'), None): cnv_string,
  802. ((OFFICENS,u'display'), None): cnv_boolean,
  803. ((OFFICENS,u'mimetype'), None): cnv_string,
  804. ((OFFICENS,u'name'), None): cnv_string,
  805. ((OFFICENS,u'process-content'), None): cnv_boolean,
  806. ((OFFICENS,u'server-map'), None): cnv_boolean,
  807. ((OFFICENS,u'string-value'), None): cnv_string,
  808. ((OFFICENS,u'target-frame'), None): cnv_string,
  809. ((OFFICENS,u'target-frame-name'), None): cnv_string,
  810. ((OFFICENS,u'time-value'), None): cnv_duration,
  811. ((OFFICENS,u'title'), None): cnv_string,
  812. ((OFFICENS,u'value'), None): cnv_double,
  813. ((OFFICENS,u'value-type'), None): cnv_string,
  814. ((OFFICENS,u'version'), None): cnv_string,
  815. ((PRESENTATIONNS,u'action'), None): cnv_string,
  816. ((PRESENTATIONNS,u'animations'), None): cnv_string,
  817. ((PRESENTATIONNS,u'background-objects-visible'), None): cnv_boolean,
  818. ((PRESENTATIONNS,u'background-visible'), None): cnv_boolean,
  819. ((PRESENTATIONNS,u'class'), None): cnv_string,
  820. ((PRESENTATIONNS,u'class-names'), None): cnv_NCNames,
  821. ((PRESENTATIONNS,u'delay'), None): cnv_duration,
  822. ((PRESENTATIONNS,u'direction'), None): cnv_string,
  823. ((PRESENTATIONNS,u'display-date-time'), None): cnv_boolean,
  824. ((PRESENTATIONNS,u'display-footer'), None): cnv_boolean,
  825. ((PRESENTATIONNS,u'display-header'), None): cnv_boolean,
  826. ((PRESENTATIONNS,u'display-page-number'), None): cnv_boolean,
  827. ((PRESENTATIONNS,u'duration'), None): cnv_string,
  828. ((PRESENTATIONNS,u'effect'), None): cnv_string,
  829. ((PRESENTATIONNS,u'endless'), None): cnv_boolean,
  830. ((PRESENTATIONNS,u'force-manual'), None): cnv_boolean,
  831. ((PRESENTATIONNS,u'full-screen'), None): cnv_boolean,
  832. ((PRESENTATIONNS,u'group-id'), None): cnv_string,
  833. ((PRESENTATIONNS,u'master-element'), None): cnv_IDREF,
  834. ((PRESENTATIONNS,u'mouse-as-pen'), None): cnv_boolean,
  835. ((PRESENTATIONNS,u'mouse-visible'), None): cnv_boolean,
  836. ((PRESENTATIONNS,u'name'), None): cnv_string,
  837. ((PRESENTATIONNS,u'node-type'), None): cnv_string,
  838. ((PRESENTATIONNS,u'object'), None): cnv_string,
  839. ((PRESENTATIONNS,u'pages'), None): cnv_string,
  840. ((PRESENTATIONNS,u'path-id'), None): cnv_string,
  841. ((PRESENTATIONNS,u'pause'), None): cnv_duration,
  842. ((PRESENTATIONNS,u'placeholder'), None): cnv_boolean,
  843. ((PRESENTATIONNS,u'play-full'), None): cnv_boolean,
  844. ((PRESENTATIONNS,u'presentation-page-layout-name'), None): cnv_StyleNameRef,
  845. ((PRESENTATIONNS,u'preset-class'), None): cnv_string,
  846. ((PRESENTATIONNS,u'preset-id'), None): cnv_string,
  847. ((PRESENTATIONNS,u'preset-sub-type'), None): cnv_string,
  848. ((PRESENTATIONNS,u'show'), None): cnv_string,
  849. ((PRESENTATIONNS,u'show-end-of-presentation-slide'), None): cnv_boolean,
  850. ((PRESENTATIONNS,u'show-logo'), None): cnv_boolean,
  851. ((PRESENTATIONNS,u'source'), None): cnv_string,
  852. ((PRESENTATIONNS,u'speed'), None): cnv_string,
  853. ((PRESENTATIONNS,u'start-page'), None): cnv_string,
  854. ((PRESENTATIONNS,u'start-scale'), None): cnv_string,
  855. ((PRESENTATIONNS,u'start-with-navigator'), None): cnv_boolean,
  856. ((PRESENTATIONNS,u'stay-on-top'), None): cnv_boolean,
  857. ((PRESENTATIONNS,u'style-name'), None): cnv_StyleNameRef,
  858. ((PRESENTATIONNS,u'transition-on-click'), None): cnv_string,
  859. ((PRESENTATIONNS,u'transition-speed'), None): cnv_string,
  860. ((PRESENTATIONNS,u'transition-style'), None): cnv_string,
  861. ((PRESENTATIONNS,u'transition-type'), None): cnv_string,
  862. ((PRESENTATIONNS,u'use-date-time-name'), None): cnv_string,
  863. ((PRESENTATIONNS,u'use-footer-name'), None): cnv_string,
  864. ((PRESENTATIONNS,u'use-header-name'), None): cnv_string,
  865. ((PRESENTATIONNS,u'user-transformed'), None): cnv_boolean,
  866. ((PRESENTATIONNS,u'verb'), None): cnv_nonNegativeInteger,
  867. ((PRESENTATIONNS,u'visibility'), None): cnv_string,
  868. ((SCRIPTNS,u'event-name'), None): cnv_formula,
  869. ((SCRIPTNS,u'language'), None): cnv_formula,
  870. ((SCRIPTNS,u'macro-name'), None): cnv_string,
  871. ((SMILNS,u'accelerate'), None): cnv_double,
  872. ((SMILNS,u'accumulate'), None): cnv_string,
  873. ((SMILNS,u'additive'), None): cnv_string,
  874. ((SMILNS,u'attributeName'), None): cnv_string,
  875. ((SMILNS,u'autoReverse'), None): cnv_boolean,
  876. ((SMILNS,u'begin'), None): cnv_string,
  877. ((SMILNS,u'by'), None): cnv_string,
  878. ((SMILNS,u'calcMode'), None): cnv_string,
  879. ((SMILNS,u'decelerate'), None): cnv_double,
  880. ((SMILNS,u'direction'), None): cnv_string,
  881. ((SMILNS,u'dur'), None): cnv_string,
  882. ((SMILNS,u'end'), None): cnv_string,
  883. ((SMILNS,u'endsync'), None): cnv_string,
  884. ((SMILNS,u'fadeColor'), None): cnv_string,
  885. ((SMILNS,u'fill'), None): cnv_string,
  886. ((SMILNS,u'fillDefault'), None): cnv_string,
  887. ((SMILNS,u'from'), None): cnv_string,
  888. ((SMILNS,u'keySplines'), None): cnv_string,
  889. ((SMILNS,u'keyTimes'), None): cnv_string,
  890. ((SMILNS,u'mode'), None): cnv_string,
  891. ((SMILNS,u'repeatCount'), None): cnv_nonNegativeInteger,
  892. ((SMILNS,u'repeatDur'), None): cnv_string,
  893. ((SMILNS,u'restart'), None): cnv_string,
  894. ((SMILNS,u'restartDefault'), None): cnv_string,
  895. ((SMILNS,u'subtype'), None): cnv_string,
  896. ((SMILNS,u'targetElement'), None): cnv_IDREF,
  897. ((SMILNS,u'to'), None): cnv_string,
  898. ((SMILNS,u'type'), None): cnv_string,
  899. ((SMILNS,u'values'), None): cnv_string,
  900. ((STYLENS,u'adjustment'), None): cnv_string,
  901. ((STYLENS,u'apply-style-name'), None): cnv_StyleNameRef,
  902. ((STYLENS,u'auto-text-indent'), None): cnv_boolean,
  903. ((STYLENS,u'auto-update'), None): cnv_boolean,
  904. ((STYLENS,u'background-transparency'), None): cnv_string,
  905. ((STYLENS,u'base-cell-address'), None): cnv_string,
  906. ((STYLENS,u'border-line-width-bottom'), None): cnv_string,
  907. ((STYLENS,u'border-line-width'), None): cnv_string,
  908. ((STYLENS,u'border-line-width-left'), None): cnv_string,
  909. ((STYLENS,u'border-line-width-right'), None): cnv_string,
  910. ((STYLENS,u'border-line-width-top'), None): cnv_string,
  911. ((STYLENS,u'cell-protect'), None): cnv_string,
  912. ((STYLENS,u'char'), None): cnv_string,
  913. ((STYLENS,u'class'), None): cnv_string,
  914. ((STYLENS,u'color'), None): cnv_string,
  915. ((STYLENS,u'column-width'), None): cnv_string,
  916. ((STYLENS,u'condition'), None): cnv_string,
  917. ((STYLENS,u'country-asian'), None): cnv_string,
  918. ((STYLENS,u'country-complex'), None): cnv_string,
  919. ((STYLENS,u'data-style-name'), None): cnv_StyleNameRef,
  920. ((STYLENS,u'decimal-places'), None): cnv_string,
  921. ((STYLENS,u'default-outline-level'), None): cnv_positiveInteger,
  922. ((STYLENS,u'diagonal-bl-tr'), None): cnv_string,
  923. ((STYLENS,u'diagonal-bl-tr-widths'), None): cnv_string,
  924. ((STYLENS,u'diagonal-tl-br'), None): cnv_string,
  925. ((STYLENS,u'diagonal-tl-br-widths'), None): cnv_string,
  926. ((STYLENS,u'direction'), None): cnv_string,
  927. ((STYLENS,u'display'), None): cnv_boolean,
  928. ((STYLENS,u'display-name'), None): cnv_string,
  929. ((STYLENS,u'distance-after-sep'), None): cnv_length,
  930. ((STYLENS,u'distance-before-sep'), None): cnv_length,
  931. ((STYLENS,u'distance'), None): cnv_length,
  932. ((STYLENS,u'dynamic-spacing'), None): cnv_boolean,
  933. ((STYLENS,u'editable'), None): cnv_boolean,
  934. ((STYLENS,u'family'), None): cnv_family,
  935. ((STYLENS,u'filter-name'), None): cnv_string,
  936. ((STYLENS,u'first-page-number'), None): cnv_string,
  937. ((STYLENS,u'flow-with-text'), None): cnv_boolean,
  938. ((STYLENS,u'font-adornments'), None): cnv_string,
  939. ((STYLENS,u'font-charset'), None): cnv_string,
  940. ((STYLENS,u'font-charset-asian'), None): cnv_string,
  941. ((STYLENS,u'font-charset-complex'), None): cnv_string,
  942. ((STYLENS,u'font-family-asian'), None): cnv_string,
  943. ((STYLENS,u'font-family-complex'), None): cnv_string,
  944. ((STYLENS,u'font-family-generic-asian'), None): cnv_string,
  945. ((STYLENS,u'font-family-generic'), None): cnv_string,
  946. ((STYLENS,u'font-family-generic-complex'), None): cnv_string,
  947. ((STYLENS,u'font-independent-line-spacing'), None): cnv_boolean,
  948. ((STYLENS,u'font-name-asian'), None): cnv_string,
  949. ((STYLENS,u'font-name'), None): cnv_string,
  950. ((STYLENS,u'font-name-complex'), None): cnv_string,
  951. ((STYLENS,u'font-pitch-asian'), None): cnv_string,
  952. ((STYLENS,u'font-pitch'), None): cnv_string,
  953. ((STYLENS,u'font-pitch-complex'), None): cnv_string,
  954. ((STYLENS,u'font-relief'), None): cnv_string,
  955. ((STYLENS,u'font-size-asian'), None): cnv_string,
  956. ((STYLENS,u'font-size-complex'), None): cnv_string,
  957. ((STYLENS,u'font-size-rel-asian'), None): cnv_length,
  958. ((STYLENS,u'font-size-rel'), None): cnv_length,
  959. ((STYLENS,u'font-size-rel-complex'), None): cnv_length,
  960. ((STYLENS,u'font-style-asian'), None): cnv_string,
  961. ((STYLENS,u'font-style-complex'), None): cnv_string,
  962. ((STYLENS,u'font-style-name-asian'), None): cnv_string,
  963. ((STYLENS,u'font-style-name'), None): cnv_string,
  964. ((STYLENS,u'font-style-name-complex'), None): cnv_string,
  965. ((STYLENS,u'font-weight-asian'), None): cnv_string,
  966. ((STYLENS,u'font-weight-complex'), None): cnv_string,
  967. ((STYLENS,u'footnote-max-height'), None): cnv_length,
  968. ((STYLENS,u'glyph-orientation-vertical'), None): cnv_string,
  969. ((STYLENS,u'height'), None): cnv_string,
  970. ((STYLENS,u'horizontal-pos'), None): cnv_string,
  971. ((STYLENS,u'horizontal-rel'), None): cnv_string,
  972. ((STYLENS,u'join-border'), None): cnv_boolean,
  973. ((STYLENS,u'justify-single-word'), None): cnv_boolean,
  974. ((STYLENS,u'language-asian'), None): cnv_string,
  975. ((STYLENS,u'language-complex'), None): cnv_string,
  976. ((STYLENS,u'layout-grid-base-height'), None): cnv_length,
  977. ((STYLENS,u'layout-grid-base-width'), None): cnv_length,
  978. ((STYLENS,u'layout-grid-color'), None): cnv_string,
  979. ((STYLENS,u'layout-grid-display'), None): cnv_boolean,
  980. ((STYLENS,u'layout-grid-lines'), None): cnv_string,
  981. ((STYLENS,u'layout-grid-mode'), None): cnv_string,
  982. ((STYLENS,u'layout-grid-print'), None): cnv_boolean,
  983. ((STYLENS,u'layout-grid-ruby-below'), None): cnv_boolean,
  984. ((STYLENS,u'layout-grid-ruby-height'), None): cnv_length,
  985. ((STYLENS,u'layout-grid-snap-to'), None): cnv_boolean,
  986. ((STYLENS,u'layout-grid-standard-mode'), None): cnv_boolean,
  987. ((STYLENS,u'leader-char'), None): cnv_string,
  988. ((STYLENS,u'leader-color'), None): cnv_string,
  989. ((STYLENS,u'leader-style'), None): cnv_string,
  990. ((STYLENS,u'leader-text'), None): cnv_string,
  991. ((STYLENS,u'leader-text-style'), None): cnv_StyleNameRef,
  992. ((STYLENS,u'leader-type'), None): cnv_string,
  993. ((STYLENS,u'leader-width'), None): cnv_string,
  994. ((STYLENS,u'legend-expansion-aspect-ratio'), None): cnv_double,
  995. ((STYLENS,u'legend-expansion'), None): cnv_string,
  996. ((STYLENS,u'length'), None): cnv_positiveInteger,
  997. ((STYLENS,u'letter-kerning'), None): cnv_boolean,
  998. ((STYLENS,u'line-break'), None): cnv_string,
  999. ((STYLENS,u'line-height-at-least'), None): cnv_string,
  1000. ((STYLENS,u'line-spacing'), None): cnv_length,
  1001. ((STYLENS,u'line-style'), None): cnv_string,
  1002. ((STYLENS,u'lines'), None): cnv_positiveInteger,
  1003. ((STYLENS,u'list-level'), None): cnv_positiveInteger,
  1004. ((STYLENS,u'list-style-name'), None): cnv_StyleNameRef,
  1005. ((STYLENS,u'master-page-name'), None): cnv_StyleNameRef,
  1006. ((STYLENS,u'may-break-between-rows'), None): cnv_boolean,
  1007. ((STYLENS,u'min-row-height'), None): cnv_string,
  1008. ((STYLENS,u'mirror'), None): cnv_string,
  1009. ((STYLENS,u'name'), None): cnv_NCName,
  1010. ((STYLENS,u'name'), (STYLENS,u'font-face')): cnv_string,
  1011. ((STYLENS,u'next-style-name'), None): cnv_StyleNameRef,
  1012. ((STYLENS,u'num-format'), None): cnv_string,
  1013. ((STYLENS,u'num-letter-sync'), None): cnv_boolean,
  1014. ((STYLENS,u'num-prefix'), None): cnv_string,
  1015. ((STYLENS,u'num-suffix'), None): cnv_string,
  1016. ((STYLENS,u'number-wrapped-paragraphs'), None): cnv_string,
  1017. ((STYLENS,u'overflow-behavior'), None): cnv_string,
  1018. ((STYLENS,u'page-layout-name'), None): cnv_StyleNameRef,
  1019. ((STYLENS,u'page-number'), None): cnv_string,
  1020. ((STYLENS,u'page-usage'), None): cnv_string,
  1021. ((STYLENS,u'paper-tray-name'), None): cnv_string,
  1022. ((STYLENS,u'parent-style-name'), None): cnv_StyleNameRef,
  1023. ((STYLENS,u'percentage-data-style-name'), None): cnv_StyleNameRef,
  1024. ((STYLENS,u'position'), (STYLENS,u'tab-stop')): cnv_length,
  1025. ((STYLENS,u'position'), None): cnv_string,
  1026. ((STYLENS,u'print'), None): cnv_string,
  1027. ((STYLENS,u'print-content'), None): cnv_boolean,
  1028. ((STYLENS,u'print-orientation'), None): cnv_string,
  1029. ((STYLENS,u'print-page-order'), None): cnv_string,
  1030. ((STYLENS,u'protect'), (STYLENS,u'section-properties')): cnv_boolean,
  1031. ((STYLENS,u'protect'), (STYLENS,u'graphic-properties')): cnv_string,
  1032. # ((STYLENS,u'protect'), None): cnv_boolean,
  1033. ((STYLENS,u'punctuation-wrap'), None): cnv_string,
  1034. ((STYLENS,u'register-true'), None): cnv_boolean,
  1035. ((STYLENS,u'register-truth-ref-style-name'), None): cnv_string,
  1036. ((STYLENS,u'rel-column-width'), None): cnv_string,
  1037. ((STYLENS,u'rel-height'), None): cnv_string,
  1038. ((STYLENS,u'rel-width'), None): cnv_string,
  1039. ((STYLENS,u'repeat'), None): cnv_string,
  1040. ((STYLENS,u'repeat-content'), None): cnv_boolean,
  1041. ((STYLENS,u'rfc-language-tag'), None): cnv_language,
  1042. ((STYLENS,u'rfc-language-tag-asian'), None): cnv_language,
  1043. ((STYLENS,u'rfc-language-tag-complex'), None): cnv_language,
  1044. ((STYLENS,u'rotation-align'), None): cnv_string,
  1045. ((STYLENS,u'rotation-angle'), None): cnv_string,
  1046. ((STYLENS,u'row-height'), None): cnv_string,
  1047. ((STYLENS,u'ruby-align'), None): cnv_string,
  1048. ((STYLENS,u'ruby-position'), None): cnv_string,
  1049. ((STYLENS,u'run-through'), None): cnv_string,
  1050. ((STYLENS,u'scale-to'), None): cnv_string,
  1051. ((STYLENS,u'scale-to-pages'), None): cnv_string,
  1052. ((STYLENS,u'script-asian'), None): cnv_string,
  1053. ((STYLENS,u'script-complex'), None): cnv_string,
  1054. ((STYLENS,u'script-type'), None): cnv_string,
  1055. ((STYLENS,u'shadow'), None): cnv_string,
  1056. ((STYLENS,u'shrink-to-fit'), None): cnv_boolean,
  1057. ((STYLENS,u'snap-to-layout-grid'), None): cnv_boolean,
  1058. ((STYLENS,u'style'), None): cnv_string,
  1059. ((STYLENS,u'style-name'), None): cnv_StyleNameRef,
  1060. ((STYLENS,u'tab-stop-distance'), None): cnv_string,
  1061. ((STYLENS,u'table-centering'), None): cnv_string,
  1062. ((STYLENS,u'text-align-source'), None): cnv_string,
  1063. ((STYLENS,u'text-autospace'), None): cnv_string,
  1064. ((STYLENS,u'text-blinking'), None): cnv_boolean,
  1065. ((STYLENS,u'text-combine'), None): cnv_string,
  1066. ((STYLENS,u'text-combine-end-char'), None): cnv_string,
  1067. ((STYLENS,u'text-combine-start-char'), None): cnv_string,
  1068. ((STYLENS,u'text-emphasize'), None): cnv_string,
  1069. ((STYLENS,u'text-line-through-color'), None): cnv_string,
  1070. ((STYLENS,u'text-line-through-mode'), None): cnv_string,
  1071. ((STYLENS,u'text-line-through-style'), None): cnv_string,
  1072. ((STYLENS,u'text-line-through-text'), None): cnv_string,
  1073. ((STYLENS,u'text-line-through-text-style'), None): cnv_string,
  1074. ((STYLENS,u'text-line-through-type'), None): cnv_string,
  1075. ((STYLENS,u'text-line-through-width'), None): cnv_string,
  1076. ((STYLENS,u'text-outline'), None): cnv_boolean,
  1077. ((STYLENS,u'text-overline-color'), None): cnv_string,
  1078. ((STYLENS,u'text-overline-mode'), None): cnv_string,
  1079. ((STYLENS,u'text-overline-style'), None): cnv_string,
  1080. ((STYLENS,u'text-overline-type'), None): cnv_string,
  1081. ((STYLENS,u'text-overline-width'), None): cnv_string,
  1082. ((STYLENS,u'text-position'), None): cnv_string,
  1083. ((STYLENS,u'text-rotation-angle'), None): cnv_string,
  1084. ((STYLENS,u'text-rotation-scale'), None): cnv_string,
  1085. ((STYLENS,u'text-scale'), None): cnv_string,
  1086. ((STYLENS,u'text-underline-color'), None): cnv_string,
  1087. ((STYLENS,u'text-underline-mode'), None): cnv_string,
  1088. ((STYLENS,u'text-underline-style'), None): cnv_string,
  1089. ((STYLENS,u'text-underline-type'), None): cnv_string,
  1090. ((STYLENS,u'text-underline-width'), None): cnv_string,
  1091. ((STYLENS,u'type'), None): cnv_string,
  1092. ((STYLENS,u'use-optimal-column-width'), None): cnv_boolean,
  1093. ((STYLENS,u'use-optimal-row-height'), None): cnv_boolean,
  1094. ((STYLENS,u'use-window-font-color'), None): cnv_boolean,
  1095. ((STYLENS,u'vertical-align'), None): cnv_string,
  1096. ((STYLENS,u'vertical-pos'), None): cnv_string,
  1097. ((STYLENS,u'vertical-rel'), None): cnv_string,
  1098. ((STYLENS,u'volatile'), None): cnv_boolean,
  1099. ((STYLENS,u'width'), None): cnv_string,
  1100. ((STYLENS,u'wrap'), None): cnv_string,
  1101. ((STYLENS,u'wrap-contour'), None): cnv_boolean,
  1102. ((STYLENS,u'wrap-contour-mode'), None): cnv_string,
  1103. ((STYLENS,u'wrap-dynamic-threshold'), None): cnv_length,
  1104. ((STYLENS,u'writing-mode-automatic'), None): cnv_boolean,
  1105. ((STYLENS,u'writing-mode'), None): cnv_string,
  1106. ((SVGNS,u'accent-height'), None): cnv_integer,
  1107. ((SVGNS,u'alphabetic'), None): cnv_integer,
  1108. ((SVGNS,u'ascent'), None): cnv_integer,
  1109. ((SVGNS,u'bbox'), None): cnv_string,
  1110. ((SVGNS,u'cap-height'), None): cnv_integer,
  1111. ((SVGNS,u'cx'), None): cnv_string,
  1112. ((SVGNS,u'cy'), None): cnv_string,
  1113. ((SVGNS,u'd'), None): cnv_string,
  1114. ((SVGNS,u'descent'), None): cnv_integer,
  1115. ((SVGNS,u'fill-rule'), None): cnv_string,
  1116. ((SVGNS,u'font-family'), None): cnv_string,
  1117. ((SVGNS,u'font-size'), None): cnv_string,
  1118. ((SVGNS,u'font-stretch'), None): cnv_string,
  1119. ((SVGNS,u'font-style'), None): cnv_string,
  1120. ((SVGNS,u'font-variant'), None): cnv_string,
  1121. ((SVGNS,u'font-weight'), None): cnv_string,
  1122. ((SVGNS,u'fx'), None): cnv_string,
  1123. ((SVGNS,u'fy'), None): cnv_string,
  1124. ((SVGNS,u'gradientTransform'), None): cnv_string,
  1125. ((SVGNS,u'gradientUnits'), None): cnv_string,
  1126. ((SVGNS,u'hanging'), None): cnv_integer,
  1127. ((SVGNS,u'height'), None): cnv_length,
  1128. ((SVGNS,u'ideographic'), None): cnv_integer,
  1129. ((SVGNS,u'mathematical'), None): cnv_integer,
  1130. ((SVGNS,u'name'), None): cnv_string,
  1131. ((SVGNS,u'offset'), None): cnv_string,
  1132. ((SVGNS,u'origin'), None): cnv_string,
  1133. ((SVGNS,u'overline-position'), None): cnv_integer,
  1134. ((SVGNS,u'overline-thickness'), None): cnv_integer,
  1135. ((SVGNS,u'panose-1'), None): cnv_string,
  1136. ((SVGNS,u'path'), None): cnv_string,
  1137. ((SVGNS,u'r'), None): cnv_length,
  1138. ((SVGNS,u'rx'), None): cnv_length,
  1139. ((SVGNS,u'ry'), None): cnv_length,
  1140. ((SVGNS,u'slope'), None): cnv_integer,
  1141. ((SVGNS,u'spreadMethod'), None): cnv_string,
  1142. ((SVGNS,u'stemh'), None): cnv_integer,
  1143. ((SVGNS,u'stemv'), None): cnv_integer,
  1144. ((SVGNS,u'stop-color'), None): cnv_string,
  1145. ((SVGNS,u'stop-opacity'), None): cnv_double,
  1146. ((SVGNS,u'strikethrough-position'), None): cnv_integer,
  1147. ((SVGNS,u'strikethrough-thickness'), None): cnv_integer,
  1148. ((SVGNS,u'string'), None): cnv_string,
  1149. ((SVGNS,u'stroke-color'), None): cnv_string,
  1150. ((SVGNS,u'stroke-linecap'), None): cnv_stroke_linecap,
  1151. ((SVGNS,u'stroke-opacity'), None): cnv_string,
  1152. ((SVGNS,u'stroke-width'), None): cnv_length,
  1153. ((SVGNS,u'type'), None): cnv_string,
  1154. ((SVGNS,u'underline-position'), None): cnv_integer,
  1155. ((SVGNS,u'underline-thickness'), None): cnv_integer,
  1156. ((SVGNS,u'unicode-range'), None): cnv_string,
  1157. ((SVGNS,u'units-per-em'), None): cnv_integer,
  1158. ((SVGNS,u'v-alphabetic'), None): cnv_integer,
  1159. ((SVGNS,u'v-hanging'), None): cnv_integer,
  1160. ((SVGNS,u'v-ideographic'), None): cnv_integer,
  1161. ((SVGNS,u'v-mathematical'), None): cnv_integer,
  1162. ((SVGNS,u'viewBox'), None): cnv_viewbox,
  1163. ((SVGNS,u'width'), None): cnv_length,
  1164. ((SVGNS,u'widths'), None): cnv_string,
  1165. ((SVGNS,u'x'), None): cnv_length,
  1166. ((SVGNS,u'x-height'), None): cnv_integer,
  1167. ((SVGNS,u'x1'), None): cnv_lengthorpercent,
  1168. ((SVGNS,u'x2'), None): cnv_lengthorpercent,
  1169. ((SVGNS,u'y'), None): cnv_length,
  1170. ((SVGNS,u'y1'), None): cnv_lengthorpercent,
  1171. ((SVGNS,u'y2'), None): cnv_lengthorpercent,
  1172. ((TABLENS,u'acceptance-state'), None): cnv_string,
  1173. ((TABLENS,u'add-empty-lines'), None): cnv_boolean,
  1174. ((TABLENS,u'algorithm'), None): cnv_formula,
  1175. ((TABLENS,u'align'), None): cnv_string,
  1176. ((TABLENS,u'allow-empty-cell'), None): cnv_boolean,
  1177. ((TABLENS,u'application-data'), None): cnv_string,
  1178. ((TABLENS,u'automatic-find-labels'), None): cnv_boolean,
  1179. ((TABLENS,u'base-cell-address'), None): cnv_string,
  1180. ((TABLENS,u'bind-styles-to-content'), None): cnv_boolean,
  1181. ((TABLENS,u'border-color'), None): cnv_string,
  1182. ((TABLENS,u'border-model'), None): cnv_string,
  1183. ((TABLENS,u'buttons'), None): cnv_string,
  1184. ((TABLENS,u'buttons'), None): cnv_string,
  1185. ((TABLENS,u'case-sensitive'), None): cnv_boolean,
  1186. ((TABLENS,u'case-sensitive'), None): cnv_string,
  1187. ((TABLENS,u'cell-address'), None): cnv_string,
  1188. ((TABLENS,u'cell-range-address'), None): cnv_string,
  1189. ((TABLENS,u'cell-range-address'), None): cnv_string,
  1190. ((TABLENS,u'cell-range'), None): cnv_string,
  1191. ((TABLENS,u'column'), None): cnv_integer,
  1192. ((TABLENS,u'comment'), None): cnv_string,
  1193. ((TABLENS,u'condition'), None): cnv_formula,
  1194. ((TABLENS,u'condition-source'), None): cnv_string,
  1195. ((TABLENS,u'condition-source-range-address'), None): cnv_string,
  1196. ((TABLENS,u'contains-error'), None): cnv_boolean,
  1197. ((TABLENS,u'contains-header'), None): cnv_boolean,
  1198. ((TABLENS,u'content-validation-name'), None): cnv_string,
  1199. ((TABLENS,u'copy-back'), None): cnv_boolean,
  1200. ((TABLENS,u'copy-formulas'), None): cnv_boolean,
  1201. ((TABLENS,u'copy-styles'), None): cnv_boolean,
  1202. ((TABLENS,u'count'), None): cnv_positiveInteger,
  1203. ((TABLENS,u'country'), None): cnv_token,
  1204. ((TABLENS,u'data-cell-range-address'), None): cnv_string,
  1205. ((TABLENS,u'data-field'), None): cnv_string,
  1206. ((TABLENS,u'data-type'), None): cnv_string,
  1207. ((TABLENS,u'database-name'), None): cnv_string,
  1208. ((TABLENS,u'database-table-name'), None): cnv_string,
  1209. ((TABLENS,u'date-end'), None): cnv_string,
  1210. ((TABLENS,u'date-start'), None): cnv_string,
  1211. ((TABLENS,u'date-value'), None): cnv_date,
  1212. ((TABLENS,u'default-cell-style-name'), None): cnv_StyleNameRef,
  1213. ((TABLENS,u'direction'), None): cnv_string,
  1214. ((TABLENS,u'display-border'), None): cnv_boolean,
  1215. ((TABLENS,u'display'), None): cnv_boolean,
  1216. ((TABLENS,u'display-duplicates'), None): cnv_boolean,
  1217. ((TABLENS,u'display-filter-buttons'), None): cnv_boolean,
  1218. ((TABLENS,u'display-list'), None): cnv_string,
  1219. ((TABLENS,u'display-member-mode'), None): cnv_string,
  1220. ((TABLENS,u'drill-down-on-double-click'), None): cnv_boolean,
  1221. ((TABLENS,u'embedded-number-behavior'), None): cnv_string,
  1222. ((TABLENS,u'enabled'), None): cnv_boolean,
  1223. ((TABLENS,u'end-cell-address'), None): cnv_string,
  1224. ((TABLENS,u'end'), None): cnv_string,
  1225. ((TABLENS,u'end-column'), None): cnv_integer,
  1226. ((TABLENS,u'end-position'), None): cnv_integer,
  1227. ((TABLENS,u'end-row'), None): cnv_integer,
  1228. ((TABLENS,u'end-table'), None): cnv_integer,
  1229. ((TABLENS,u'end-x'), None): cnv_length,
  1230. ((TABLENS,u'end-y'), None): cnv_length,
  1231. ((TABLENS,u'execute'), None): cnv_boolean,
  1232. ((TABLENS,u'expression'), None): cnv_formula,
  1233. ((TABLENS,u'field-name'), None): cnv_string,
  1234. ((TABLENS,u'field-number'), None): cnv_nonNegativeInteger,
  1235. ((TABLENS,u'field-number'), None): cnv_string,
  1236. ((TABLENS,u'filter-name'), None): cnv_string,
  1237. ((TABLENS,u'filter-options'), None): cnv_string,
  1238. ((TABLENS,u'first-row-end-column'), None): cnv_rowOrCol,
  1239. ((TABLENS,u'first-row-start-column'), None): cnv_rowOrCol,
  1240. ((TABLENS,u'formula'), None): cnv_formula,
  1241. ((TABLENS,u'function'), None): cnv_string,
  1242. ((TABLENS,u'function'), None): cnv_string,
  1243. ((TABLENS,u'grand-total'), None): cnv_string,
  1244. ((TABLENS,u'group-by-field-number'), None): cnv_nonNegativeInteger,
  1245. ((TABLENS,u'grouped-by'), None): cnv_string,
  1246. ((TABLENS,u'has-persistent-data'), None): cnv_boolean,
  1247. ((TABLENS,u'id'), None): cnv_string,
  1248. ((TABLENS,u'identify-categories'), None): cnv_boolean,
  1249. ((TABLENS,u'ignore-empty-rows'), None): cnv_boolean,
  1250. ((TABLENS,u'index'), None): cnv_nonNegativeInteger,
  1251. ((TABLENS,u'is-active'), None): cnv_boolean,
  1252. ((TABLENS,u'is-data-layout-field'), None): cnv_string,
  1253. ((TABLENS,u'is-selection'), None): cnv_boolean,
  1254. ((TABLENS,u'is-sub-table'), None): cnv_boolean,
  1255. ((TABLENS,u'label-cell-range-address'), None): cnv_string,
  1256. ((TABLENS,u'language'), None): cnv_token,
  1257. ((TABLENS,u'language'), None): cnv_token,
  1258. ((TABLENS,u'last-column-spanned'), None): cnv_positiveInteger,
  1259. ((TABLENS,u'last-row-end-column'), None): cnv_rowOrCol,
  1260. ((TABLENS,u'last-row-spanned'), None): cnv_positiveInteger,
  1261. ((TABLENS,u'last-row-start-column'), None): cnv_rowOrCol,
  1262. ((TABLENS,u'layout-mode'), None): cnv_string,
  1263. ((TABLENS,u'link-to-source-data'), None): cnv_boolean,
  1264. ((TABLENS,u'marked-invalid'), None): cnv_boolean,
  1265. ((TABLENS,u'matrix-covered'), None): cnv_boolean,
  1266. ((TABLENS,u'maximum-difference'), None): cnv_double,
  1267. ((TABLENS,u'member-count'), None): cnv_nonNegativeInteger,
  1268. ((TABLENS,u'member-name'), None): cnv_string,
  1269. ((TABLENS,u'member-type'), None): cnv_string,
  1270. ((TABLENS,u'message-type'), None): cnv_string,
  1271. ((TABLENS,u'mode'), None): cnv_string,
  1272. ((TABLENS,u'multi-deletion-spanned'), None): cnv_integer,
  1273. ((TABLENS,u'name'), None): cnv_string,
  1274. ((TABLENS,u'name'), None): cnv_string,
  1275. ((TABLENS,u'null-year'), None): cnv_positiveInteger,
  1276. ((TABLENS,u'number-columns-repeated'), None): cnv_positiveInteger,
  1277. ((TABLENS,u'number-columns-spanned'), None): cnv_positiveInteger,
  1278. ((TABLENS,u'number-matrix-columns-spanned'), None): cnv_positiveInteger,
  1279. ((TABLENS,u'number-matrix-rows-spanned'), None): cnv_positiveInteger,
  1280. ((TABLENS,u'number-rows-repeated'), None): cnv_positiveInteger,
  1281. ((TABLENS,u'number-rows-spanned'), None): cnv_positiveInteger,
  1282. ((TABLENS,u'object-name'), None): cnv_string,
  1283. ((TABLENS,u'on-update-keep-size'), None): cnv_boolean,
  1284. ((TABLENS,u'on-update-keep-styles'), None): cnv_boolean,
  1285. ((TABLENS,u'operator'), None): cnv_string,
  1286. ((TABLENS,u'operator'), None): cnv_string,
  1287. ((TABLENS,u'order'), None): cnv_string,
  1288. ((TABLENS,u'orientation'), None): cnv_string,
  1289. ((TABLENS,u'orientation'), None): cnv_string,
  1290. ((TABLENS,u'page-breaks-on-group-change'), None): cnv_boolean,
  1291. ((TABLENS,u'paragraph-style-name'), None): cnv_StyleNameRef,
  1292. ((TABLENS,u'parse-sql-statement'), None): cnv_boolean,
  1293. ((TABLENS,u'password'), None): cnv_string,
  1294. ((TABLENS,u'position'), None): cnv_integer,
  1295. ((TABLENS,u'precision-as-shown'), None): cnv_boolean,
  1296. ((TABLENS,u'print'), None): cnv_boolean,
  1297. ((TABLENS,u'print-ranges'), None): cnv_string,
  1298. ((TABLENS,u'protect'), None): cnv_boolean,
  1299. ((TABLENS,u'protected'), None): cnv_boolean,
  1300. ((TABLENS,u'protection-key'), None): cnv_string,
  1301. ((TABLENS,u'protection-key-digest-algorithm'), None): cnv_anyURI,
  1302. ((TABLENS,u'query-name'), None): cnv_string,
  1303. ((TABLENS,u'range-usable-as'), None): cnv_string,
  1304. ((TABLENS,u'rfc-language-tag'), None): cnv_language,
  1305. ((TABLENS,u'refresh-delay'), None): cnv_boolean,
  1306. ((TABLENS,u'refresh-delay'), None): cnv_duration,
  1307. ((TABLENS,u'rejecting-change-id'), None): cnv_string,
  1308. ((TABLENS,u'row'), None): cnv_integer,
  1309. ((TABLENS,u'scenario-ranges'), None): cnv_string,
  1310. ((TABLENS,u'script'), None): cnv_string,
  1311. ((TABLENS,u'search-criteria-must-apply-to-whole-cell'), None): cnv_boolean,
  1312. ((TABLENS,u'selected-page'), None): cnv_string,
  1313. ((TABLENS,u'show-details'), None): cnv_boolean,
  1314. ((TABLENS,u'show-empty'), None): cnv_boolean,
  1315. ((TABLENS,u'show-empty'), None): cnv_string,
  1316. ((TABLENS,u'show-filter-button'), None): cnv_boolean,
  1317. ((TABLENS,u'sort-mode'), None): cnv_string,
  1318. ((TABLENS,u'source-cell-range-addresses'), None): cnv_string,
  1319. ((TABLENS,u'source-cell-range-addresses'), None): cnv_string,
  1320. ((TABLENS,u'source-field-name'), None): cnv_string,
  1321. ((TABLENS,u'source-field-name'), None): cnv_string,
  1322. ((TABLENS,u'source-name'), None): cnv_string,
  1323. ((TABLENS,u'sql-statement'), None): cnv_string,
  1324. ((TABLENS,u'start'), None): cnv_string,
  1325. ((TABLENS,u'start-column'), None): cnv_integer,
  1326. ((TABLENS,u'start-position'), None): cnv_integer,
  1327. ((TABLENS,u'start-row'), None): cnv_integer,
  1328. ((TABLENS,u'start-table'), None): cnv_integer,
  1329. ((TABLENS,u'status'), None): cnv_string,
  1330. ((TABLENS,u'step'), None): cnv_double,
  1331. ((TABLENS,u'steps'), None): cnv_positiveInteger,
  1332. ((TABLENS,u'structure-protected'), None): cnv_boolean,
  1333. ((TABLENS,u'style-name'), None): cnv_StyleNameRef,
  1334. ((TABLENS,u'table-background'), None): cnv_boolean,
  1335. ((TABLENS,u'table'), None): cnv_integer,
  1336. ((TABLENS,u'table-name'), None): cnv_string,
  1337. ((TABLENS,u'target-cell-address'), None): cnv_string,
  1338. ((TABLENS,u'target-cell-address'), None): cnv_string,
  1339. ((TABLENS,u'target-range-address'), None): cnv_string,
  1340. ((TABLENS,u'target-range-address'), None): cnv_string,
  1341. ((TABLENS,u'template-name'), None): cnv_string,
  1342. ((TABLENS,u'title'), None): cnv_string,
  1343. ((TABLENS,u'track-changes'), None): cnv_boolean,
  1344. ((TABLENS,u'type'), None): cnv_string,
  1345. ((TABLENS,u'use-banding-columns-styles'), None): cnv_boolean,
  1346. ((TABLENS,u'use-banding-rows-styles'), None): cnv_boolean,
  1347. ((TABLENS,u'use-first-column-styles'), None): cnv_boolean,
  1348. ((TABLENS,u'use-first-row-styles'), None): cnv_boolean,
  1349. ((TABLENS,u'use-labels'), None): cnv_string,
  1350. ((TABLENS,u'use-last-column-styles'), None): cnv_boolean,
  1351. ((TABLENS,u'use-last-row-styles'), None): cnv_boolean,
  1352. ((TABLENS,u'use-regular-expressions'), None): cnv_boolean,
  1353. ((TABLENS,u'use-wildcards'), None): cnv_boolean,
  1354. ((TABLENS,u'used-hierarchy'), None): cnv_integer,
  1355. ((TABLENS,u'user-name'), None): cnv_string,
  1356. ((TABLENS,u'value'), None): cnv_string,
  1357. ((TABLENS,u'value'), None): cnv_string,
  1358. ((TABLENS,u'value-type'), None): cnv_string,
  1359. ((TABLENS,u'visibility'), None): cnv_string,
  1360. ((TEXTNS,u'active'), None): cnv_boolean,
  1361. ((TEXTNS,u'address'), None): cnv_string,
  1362. ((TEXTNS,u'alphabetical-separators'), None): cnv_boolean,
  1363. ((TEXTNS,u'anchor-page-number'), None): cnv_positiveInteger,
  1364. ((TEXTNS,u'anchor-type'), None): cnv_string,
  1365. ((TEXTNS,u'animation'), None): cnv_string,
  1366. ((TEXTNS,u'animation-delay'), None): cnv_string,
  1367. ((TEXTNS,u'animation-direction'), None): cnv_string,
  1368. ((TEXTNS,u'animation-repeat'), None): cnv_string,
  1369. ((TEXTNS,u'animation-start-inside'), None): cnv_boolean,
  1370. ((TEXTNS,u'animation-steps'), None): cnv_length,
  1371. ((TEXTNS,u'animation-stop-inside'), None): cnv_boolean,
  1372. ((TEXTNS,u'annote'), None): cnv_string,
  1373. ((TEXTNS,u'author'), None): cnv_string,
  1374. ((TEXTNS,u'bibliography-data-field'), None): cnv_string,
  1375. ((TEXTNS,u'bibliography-type'), None): cnv_string,
  1376. ((TEXTNS,u'booktitle'), None): cnv_string,
  1377. ((TEXTNS,u'bullet-char'), None): cnv_string,
  1378. ((TEXTNS,u'bullet-relative-size'), None): cnv_string,
  1379. ((TEXTNS,u'c'), None): cnv_nonNegativeInteger,
  1380. ((TEXTNS,u'capitalize-entries'), None): cnv_boolean,
  1381. ((TEXTNS,u'caption-sequence-format'), None): cnv_string,
  1382. ((TEXTNS,u'caption-sequence-name'), None): cnv_string,
  1383. ((TEXTNS,u'change-id'), None): cnv_IDREF,
  1384. ((TEXTNS,u'chapter'), None): cnv_string,
  1385. ((TEXTNS,u'citation-body-style-name'), None): cnv_StyleNameRef,
  1386. ((TEXTNS,u'citation-style-name'), None): cnv_StyleNameRef,
  1387. ((TEXTNS,u'class-names'), None): cnv_NCNames,
  1388. ((TEXTNS,u'column-name'), None): cnv_string,
  1389. ((TEXTNS,u'combine-entries'), None): cnv_boolean,
  1390. ((TEXTNS,u'combine-entries-with-dash'), None): cnv_boolean,
  1391. ((TEXTNS,u'combine-entries-with-pp'), None): cnv_boolean,
  1392. ((TEXTNS,u'comma-separated'), None): cnv_boolean,
  1393. ((TEXTNS,u'cond-style-name'), None): cnv_StyleNameRef,
  1394. ((TEXTNS,u'condition'), None): cnv_formula,
  1395. ((TEXTNS,u'connection-name'), None): cnv_string,
  1396. ((TEXTNS,u'consecutive-numbering'), None): cnv_boolean,
  1397. ((TEXTNS,u'continue-list'), None): cnv_IDREF,
  1398. ((TEXTNS,u'continue-numbering'), None): cnv_boolean,
  1399. ((TEXTNS,u'copy-outline-levels'), None): cnv_boolean,
  1400. ((TEXTNS,u'count-empty-lines'), None): cnv_boolean,
  1401. ((TEXTNS,u'count-in-text-boxes'), None): cnv_boolean,
  1402. ((TEXTNS,u'current-value'), None): cnv_boolean,
  1403. ((TEXTNS,u'custom1'), None): cnv_string,
  1404. ((TEXTNS,u'custom2'), None): cnv_string,
  1405. ((TEXTNS,u'custom3'), None): cnv_string,
  1406. ((TEXTNS,u'custom4'), None): cnv_string,
  1407. ((TEXTNS,u'custom5'), None): cnv_string,
  1408. ((TEXTNS,u'database-name'), None): cnv_string,
  1409. ((TEXTNS,u'date-adjust'), None): cnv_duration,
  1410. ((TEXTNS,u'date-value'), None): cnv_date,
  1411. # ((TEXTNS,u'date-value'), None): cnv_dateTime,
  1412. ((TEXTNS,u'default-style-name'), None): cnv_StyleNameRef,
  1413. ((TEXTNS,u'description'), None): cnv_string,
  1414. ((TEXTNS,u'display'), None): cnv_string,
  1415. ((TEXTNS,u'display-levels'), None): cnv_positiveInteger,
  1416. ((TEXTNS,u'display-outline-level'), None): cnv_nonNegativeInteger,
  1417. ((TEXTNS,u'dont-balance-text-columns'), None): cnv_boolean,
  1418. ((TEXTNS,u'duration'), None): cnv_duration,
  1419. ((TEXTNS,u'edition'), None): cnv_string,
  1420. ((TEXTNS,u'editor'), None): cnv_string,
  1421. ((TEXTNS,u'filter-name'), None): cnv_string,
  1422. ((TEXTNS,u'fixed'), None): cnv_boolean,
  1423. ((TEXTNS,u'footnotes-position'), None): cnv_string,
  1424. ((TEXTNS,u'formula'), None): cnv_formula,
  1425. ((TEXTNS,u'global'), None): cnv_boolean,
  1426. ((TEXTNS,u'howpublished'), None): cnv_string,
  1427. ((TEXTNS,u'id'), None): cnv_ID,
  1428. # ((TEXTNS,u'id'), None): cnv_string,
  1429. ((TEXTNS,u'identifier'), None): cnv_string,
  1430. ((TEXTNS,u'ignore-case'), None): cnv_boolean,
  1431. ((TEXTNS,u'increment'), None): cnv_nonNegativeInteger,
  1432. ((TEXTNS,u'index-name'), None): cnv_string,
  1433. ((TEXTNS,u'index-scope'), None): cnv_string,
  1434. ((TEXTNS,u'institution'), None): cnv_string,
  1435. ((TEXTNS,u'is-hidden'), None): cnv_boolean,
  1436. ((TEXTNS,u'is-list-header'), None): cnv_boolean,
  1437. ((TEXTNS,u'isbn'), None): cnv_string,
  1438. ((TEXTNS,u'issn'), None): cnv_string,
  1439. ((TEXTNS,u'issn'), None): cnv_string,
  1440. ((TEXTNS,u'journal'), None): cnv_string,
  1441. ((TEXTNS,u'key'), None): cnv_string,
  1442. ((TEXTNS,u'key1'), None): cnv_string,
  1443. ((TEXTNS,u'key1-phonetic'), None): cnv_string,
  1444. ((TEXTNS,u'key2'), None): cnv_string,
  1445. ((TEXTNS,u'key2-phonetic'), None): cnv_string,
  1446. ((TEXTNS,u'kind'), None): cnv_string,
  1447. ((TEXTNS,u'label'), None): cnv_string,
  1448. ((TEXTNS,u'label-followed-by'), None): cnv_string,
  1449. ((TEXTNS,u'level'), None): cnv_positiveInteger,
  1450. ((TEXTNS,u'line-break'), None): cnv_boolean,
  1451. ((TEXTNS,u'line-number'), None): cnv_string,
  1452. ((TEXTNS,u'list-id'), None): cnv_NCName,
  1453. ((TEXTNS,u'list-level-position-and-space-mode'), None): cnv_string,
  1454. ((TEXTNS,u'list-tab-stop-position'), None): cnv_length,
  1455. ((TEXTNS,u'main-entry'), None): cnv_boolean,
  1456. ((TEXTNS,u'main-entry-style-name'), None): cnv_StyleNameRef,
  1457. ((TEXTNS,u'master-page-name'), None): cnv_StyleNameRef,
  1458. ((TEXTNS,u'min-label-distance'), None): cnv_string,
  1459. ((TEXTNS,u'min-label-width'), None): cnv_string,
  1460. ((TEXTNS,u'month'), None): cnv_string,
  1461. ((TEXTNS,u'name'), None): cnv_string,
  1462. ((TEXTNS,u'note-class'), None): cnv_textnoteclass,
  1463. ((TEXTNS,u'note'), None): cnv_string,
  1464. ((TEXTNS,u'number'), None): cnv_string,
  1465. ((TEXTNS,u'number-lines'), None): cnv_boolean,
  1466. ((TEXTNS,u'number-position'), None): cnv_string,
  1467. ((TEXTNS,u'numbered-entries'), None): cnv_boolean,
  1468. ((TEXTNS,u'offset'), None): cnv_string,
  1469. ((TEXTNS,u'organizations'), None): cnv_string,
  1470. ((TEXTNS,u'outline-level'), None): cnv_string,
  1471. ((TEXTNS,u'page-adjust'), None): cnv_integer,
  1472. ((TEXTNS,u'pages'), None): cnv_string,
  1473. ((TEXTNS,u'placeholder-type'), None): cnv_string,
  1474. ((TEXTNS,u'prefix'), None): cnv_string,
  1475. ((TEXTNS,u'protected'), None): cnv_boolean,
  1476. ((TEXTNS,u'protection-key'), None): cnv_string,
  1477. ((TEXTNS,u'protection-key-digest-algorithm'), None): cnv_anyURI,
  1478. ((TEXTNS,u'publisher'), None): cnv_string,
  1479. ((TEXTNS,u'ref-name'), None): cnv_string,
  1480. ((TEXTNS,u'reference-format'), None): cnv_string,
  1481. ((TEXTNS,u'relative-tab-stop-position'), None): cnv_boolean,
  1482. ((TEXTNS,u'report-type'), None): cnv_string,
  1483. ((TEXTNS,u'restart-numbering'), None): cnv_boolean,
  1484. ((TEXTNS,u'restart-on-page'), None): cnv_boolean,
  1485. ((TEXTNS,u'row-number'), None): cnv_nonNegativeInteger,
  1486. ((TEXTNS,u'school'), None): cnv_string,
  1487. ((TEXTNS,u'section-name'), None): cnv_string,
  1488. ((TEXTNS,u'select-page'), None): cnv_string,
  1489. ((TEXTNS,u'separation-character'), None): cnv_string,
  1490. ((TEXTNS,u'series'), None): cnv_string,
  1491. ((TEXTNS,u'sort-algorithm'), None): cnv_string,
  1492. ((TEXTNS,u'sort-ascending'), None): cnv_boolean,
  1493. ((TEXTNS,u'sort-by-position'), None): cnv_boolean,
  1494. ((TEXTNS,u'space-before'), None): cnv_string,
  1495. ((TEXTNS,u'start-numbering-at'), None): cnv_string,
  1496. ((TEXTNS,u'start-value'), None): cnv_nonNegativeInteger,
  1497. ((TEXTNS,u'start-value'), None): cnv_positiveInteger,
  1498. ((TEXTNS,u'string-value'), None): cnv_string,
  1499. ((TEXTNS,u'string-value-if-false'), None): cnv_string,
  1500. ((TEXTNS,u'string-value-if-true'), None): cnv_string,
  1501. ((TEXTNS,u'string-value-phonetic'), None): cnv_string,
  1502. ((TEXTNS,u'style-name'), None): cnv_StyleNameRef,
  1503. ((TEXTNS,u'style-override'), None): cnv_StyleNameRef,
  1504. ((TEXTNS,u'suffix'), None): cnv_string,
  1505. ((TEXTNS,u'tab-ref'), None): cnv_nonNegativeInteger,
  1506. ((TEXTNS,u'table-name'), None): cnv_string,
  1507. ((TEXTNS,u'table-type'), None): cnv_string,
  1508. ((TEXTNS,u'time-adjust'), None): cnv_duration,
  1509. ((TEXTNS,u'time-value'), None): cnv_dateTime,
  1510. ((TEXTNS,u'time-value'), None): cnv_time,
  1511. ((TEXTNS,u'title'), None): cnv_string,
  1512. ((TEXTNS,u'track-changes'), None): cnv_boolean,
  1513. ((TEXTNS,u'url'), None): cnv_string,
  1514. ((TEXTNS,u'use-caption'), None): cnv_boolean,
  1515. ((TEXTNS,u'use-chart-objects'), None): cnv_boolean,
  1516. ((TEXTNS,u'use-draw-objects'), None): cnv_boolean,
  1517. ((TEXTNS,u'use-floating-frames'), None): cnv_boolean,
  1518. ((TEXTNS,u'use-graphics'), None): cnv_boolean,
  1519. ((TEXTNS,u'use-index-marks'), None): cnv_boolean,
  1520. ((TEXTNS,u'use-index-source-styles'), None): cnv_boolean,
  1521. ((TEXTNS,u'use-keys-as-entries'), None): cnv_boolean,
  1522. ((TEXTNS,u'use-math-objects'), None): cnv_boolean,
  1523. ((TEXTNS,u'use-objects'), None): cnv_boolean,
  1524. ((TEXTNS,u'use-other-objects'), None): cnv_boolean,
  1525. ((TEXTNS,u'use-outline-level'), None): cnv_boolean,
  1526. ((TEXTNS,u'use-soft-page-breaks'), None): cnv_boolean,
  1527. ((TEXTNS,u'use-spreadsheet-objects'), None): cnv_boolean,
  1528. ((TEXTNS,u'use-tables'), None): cnv_boolean,
  1529. ((TEXTNS,u'value'), None): cnv_nonNegativeInteger,
  1530. ((TEXTNS,u'visited-style-name'), None): cnv_StyleNameRef,
  1531. ((TEXTNS,u'volume'), None): cnv_string,
  1532. ((TEXTNS,u'year'), None): cnv_string,
  1533. ((XFORMSNS,u'bind'), None): cnv_string,
  1534. ((XHTMLNS,u'about'), None): cnv_anyURI,
  1535. ((XHTMLNS,u'content'), None): cnv_string,
  1536. ((XHTMLNS,u'datatype'), None): cnv_anyURI,
  1537. ((XHTMLNS,u'property'), None): cnv_anyURI,
  1538. ((XLINKNS,u'actuate'), None): cnv_string,
  1539. ((XLINKNS,u'href'), None): cnv_anyURI,
  1540. ((XLINKNS,u'show'), None): cnv_xlinkshow,
  1541. ((XLINKNS,u'title'), None): cnv_string,
  1542. ((XLINKNS,u'type'), None): cnv_xlinktype,
  1543. ((XMLNS,u'id'), None): cnv_NCName,
  1544. }
  1545. class AttrConverters:
  1546. def convert(self, attribute, value, element):
  1547. """ Based on the element, figures out how to check/convert the attribute value
  1548. All values are converted to string
  1549. """
  1550. conversion = attrconverters.get((attribute, element.qname), None)
  1551. if conversion is not None:
  1552. return conversion(attribute, value, element)
  1553. else:
  1554. conversion = attrconverters.get((attribute, None), None)
  1555. if conversion is not None:
  1556. return conversion(attribute, value, element)
  1557. if sys.version_info[0]==2:
  1558. return unicode(value)
  1559. else:
  1560. return str(value)