TODO
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:8k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1.            TODO for the XML parser and stuff:
  2.    ==================================
  3. TODO:
  4. =====
  5. - DOM needs
  6.   xmlAttrPtr xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value)
  7.   int xmlPruneProp(xmlNodePtr node, xmlAtttrPtr attr);
  8. - Fix DTD + namespace validity problem
  9.   "Not valid: root and DtD name do not match 'ROOT' and 'prefix:ROOT'"
  10. - add support for the trick from Henry conf/sun/valid/empty.xml
  11. - Correct standalone checking/emitting (hard)
  12.   2.9 Standalone Document Declaration
  13. - URI checkings (no fragments) rfc2396.txt
  14. - Better checking of external parsed entities TAG 1234
  15. - Find way of representing PERefs in the Dtd so that %entity; can
  16.   be saved back.
  17. - Go through erratas and do the cleanup.
  18.   http://www.w3.org/XML/xml-19980210-errata ... bummmer 
  19. - Handle undefined namespaces in entity contents better ... at least
  20.   issue a warning
  21. - General checking of DTD validation in presence of namespaces ... hairy
  22. TODO:
  23. =====
  24. - Get OASIS testsuite to a more friendly result, check all the results
  25.   once stable.
  26.   http://xmlsoft.org/conf/result.html
  27. - Optimization of tag strings allocation ?
  28. - maintain coherency of namespace when doing cut'n paste operations
  29.   => the functions are coded, but need testing
  30. - function to rebuild the ID table
  31. - functions to rebuild the DTD hash tables (after DTD changes).
  32.    
  33. EXTENSIONS:
  34. ===========
  35. - Tools to produce man pages from the SGML docs.
  36. - Finish XPath
  37.   => attributes addressing troubles
  38.   => defaulted attributes handling
  39.   => namespace axis ?
  40. - Add Xpointer recognition/API
  41. - Add Xlink recognition/API
  42.   => started adding an xlink.[ch] with a unified API for XML and HTML.
  43. - Implement XSLT
  44.   => seems that someone volunteered ?!?
  45. - Implement XSchemas
  46. - O2K parsing;
  47.   => this is a somewhat ugly mix of HTML and XML, adding a specific
  48.      routine in the comment parsing code of HTML and plug the XML 
  49.      parsing one in-there should not be too hard. Key point is to get
  50.      XSL to transform all this to something decent ...
  51. - extend the shell with:
  52.    - edit
  53.    - load/save
  54.    - mv (yum, yum, but it's harder because directories are ordered in
  55.      our case, mvup and mvdown would be required)
  56. - Add HTML validation using the XHTML DTD
  57.   - problem: do we want to keep and maintain the code for handling
  58.     DTD/System ID cache directly in libxml ?
  59. - Add a DTD cache prefilled with xhtml DTDs and entities and a program to
  60.   manage them -> like the /usr/bin/install-catalog from SGML
  61.   right place seems $datadir/xmldtds
  62.   Maybe this is better left to user apps
  63. - Add output to XHTML in case of HTML documents.
  64. Done:
  65. =====
  66. - Added a clean mechanism for overload or added input methods:
  67.   xmlRegisterInputCallbacks()
  68. - dynamically adapt the alloc entry point to use g_alloc()/g_free()
  69.   if the programmer wants it: 
  70.     - use xmlMemSetup() to reset the routines used.
  71. - Check attribute normalization especially xmlGetProp()
  72. - Validity checking problems for NOTATIONS attributes
  73. - Validity checking problems for ENTITY ENTITIES attributes
  74. - Parsing of a well balanced chunk xmlParseBalancedChunkMemory()
  75. - URI module: validation, base, etc ... see uri.[ch]
  76. - turn tester into a generic program xmllint installed with libxml
  77. - extend validity checks to go through entities content instead of
  78.   just labelling them PCDATA
  79. - Save Dtds using the children list instead of dumping the tables,
  80.   order is preserved as well as comments and PIs
  81. - Wrote a notice of changes requires to go from 1.x to 2.x
  82. - make sure that all SAX callbacks are disabled if a WF error is detected
  83. - checking/handling of newline normalization
  84.   http://localhost/www.xml.com/axml/target.html#sec-line-ends
  85. - correct checking of '&' '%' on entities content.
  86. - checking of PE/Nesting on entities declaration
  87. - checking/handling of xml:space
  88.    - checking done.
  89.    - handling done, not well tested
  90. - Language identification code, productions [33] to [38]
  91.   => done, the check has been added and report WFness errors
  92. - Conditional sections in DTDs [61] to [65]
  93.   => should this crap be really implemented ???
  94.   => Yep OASIS testsuite uses them
  95. - Allow parsed entities defined in the internal subset to override
  96.   the ones defined in the external subset (DtD customization).
  97.   => This mean that the entity content should be computed only at
  98.      use time, i.e. keep the orig string only at parse time and expand
  99.      only when referenced from the external subset :-(
  100.      Needed for complete use of most DTD from Eve Maler
  101. - Add regression tests for all WFC errors
  102.   => did some in test/WFC
  103.   => added OASIS testsuite routines
  104.      http://xmlsoft.org/conf/result.html
  105. - I18N: http://wap.trondheim.com/vaer/index.phtml is not XML and accepted
  106.   by the XML parser, UTF-8 should be checked when there is no "encoding"
  107.   declared !
  108. - Support for UTF-8 and UTF-16 encoding
  109.   => added some convertion routines provided by Martin Durst
  110.      patched them, got fixes from @@@
  111.      I plan to keep everything internally as UTF-8 (or ISO-Latin-X)
  112.      this is slightly more costly but more compact, and recent processors
  113.      efficiency is cache related. The key for good performances is keeping
  114.      the data set small, so will I.
  115.   => the new progressive reading routines call the detection code
  116.      is enabled, tested the ISO->UTF-8 stuff
  117. - External entities loading: 
  118.    - allow override by client code
  119.    - make sure it is alled for all external entities referenced
  120.   Done, client code should use xmlSetExternalEntityLoader() to set
  121.   the default loading routine. It will be called each time an external
  122.   entity entity resolution is triggered.
  123. - maintain ID coherency when removing/changing attributes
  124.   The function used to deallocate attributes now check for it being an
  125.   ID and removes it from the table.
  126. - push mode parsing i.e. non-blocking state based parser
  127.   done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt()
  128.   and xmlParseChunk() and html counterparts.
  129.   The tester program now has a --push option to select that parser 
  130.   front-end. Douplicated tests to use both and check results are similar.
  131. - Most of XPath, still see some troubles and occasionnal memleaks.
  132. - an XML shell, allowing to traverse/manipulate an XML document with
  133.   a shell like interface, and using XPath for the anming syntax
  134.   - use of readline and history added when available
  135.   - the shell interface has been cleanly separated and moved to debugXML.c
  136. - HTML parser, should be fairly stable now
  137. - API to search the lang of an attribute
  138. - Collect IDs at parsing and maintain a table. 
  139.    PBM: maintain the table coherency
  140.    PBM: how to detect ID types in absence of DtD !
  141. - Use it for XPath ID support
  142. - Add validity checking
  143.   Should be finished now !
  144. - Add regression tests with entity substitutions
  145. - External Parsed entities, either XML or external Subset [78] and [79]
  146.   parsing the xmllang DtD now works, so it should be sufficient for
  147.   most cases !
  148. - progressive reading. The entity support is a first step toward
  149.   asbtraction of an input stream. A large part of the context is still
  150.   located on the stack, moving to a state machine and putting everyting
  151.   in the parsing context should provide an adequate solution.
  152.   => Rather than progressive parsing, give more power to the SAX-like
  153.      interface. Currently the DOM-like representation is built but
  154.      => it should be possible to define that only as a set of SAX callbacks
  155. and remove the tree creation from the parser code.
  156. DONE
  157. - DOM support, instead of using a proprietary in memory
  158.   format for the document representation, the parser should
  159.   call a DOM API to actually build the resulting document.
  160.   Then the parser becomes independent of the in-memory
  161.   representation of the document. Even better using RPC's
  162.   the parser can actually build the document in another
  163.   program.
  164.   => Work started, now the internal representation is by default
  165.      very near a direct DOM implementation. The DOM glue is implemented
  166.      as a separate module. See the GNOME gdome module.
  167. - C++ support : John Ehresman <jehresma@dsg.harvard.edu>
  168. - Updated code to follow more recent specs, added compatibility flag
  169. - Better error handling, use a dedicated, overridable error
  170.   handling function.
  171. - Support for CDATA.
  172. - Keep track of line numbers for better error reporting.
  173. - Support for PI (SAX one).
  174. - Support for Comments (bad, should be in ASAP, they are parsed
  175.   but not stored), should be configurable.
  176. - Improve the support of entities on save (+SAX).