1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- License:
- ========
- iksemel is developed and released under GNU Lesser General Public License.
- A copy of the license can be found in the file COPYING. You should read it
- before sending patches to the iksemel, since it is implicitly assumed that
- your patches are also submitted under the LGPL license.
- Roadmap:
- ========
- Main goal of the iksemel is removing complexity from programs using the
- library and the library itself. This is the reason why only a subset of XML
- is supported. Some things like UTF16, entity definitons, DTDs will be eventually
- implemented when we found ways to implement them without adding
- too much complexity to the iksemel code. Somewhat external standarts
- (XPath, XQuery, XSLT, vs) will probably not make it into the iksemel.
- * validation
- I think easiest way to add this feature is writing another parser based on the
- sax parser which parses a dtd (either from sax parser's markup callback which
- needs to be implemented or from an external source via iks_vsax_set_dtd() call)
- and checks the arguments of sax callbacks. Using it via dom or stream parsers
- can require some clever tricks. there are also xml schemas. they are easy to parse
- (it is xml anyway) but can be hard to apply.
- * utf16
- There are two sides of this. Improving parser to accept utf16 can be relatively
- easy. But on the client side things can get confusing. What will be the default
- character set used by iks_new(), iks_insert_cdata() and similar functions? and
- how they will allow other charsets to be used. Supporting more than utf8 and
- utf16 is more difficult. Hopefully there is no immediate need for this. Jabber
- uses only utf8 and you can use iconv if you are using another charset in your
- application. Btw, there is also byte order issue which is silly. Inventor of BOM
- crap must be killed.
- * jabber roster
- Roster handling generally depends on the UI system used. But I think a generic
- roster handler which parses roster result, pushes, presence changes and
- allows application to access and display this data can be useful. Challenge
- here is making it UI independent and extensible by the application.
- File Layout:
- ============
- doc/
- * iksemel.texi Documentation in texinfo format.
- include/
- * common.h Internal header for some common definitions.
- * iksemel.h Library API
- * finetune.h Default memory allocation sizes.
- src/
- * ikstack.c Memory management functions.
- * utility.c Small string utility functions.
- * iks.c XML tree management.
- * sax.c SAX parser.
- * dom.c DOM parser.
- * stream.c Stream parser.
- * sha.c SHA1 hash functions.
- * jabber.c Jabber utilities.
- * filter.c Packet filter for Jabber.
- test/
- (self test programs)
- tools/
- (varius utility programs)
|