Home   |   Products   |   Documentation
 

dev net revision
29 July 2008
 

 
 

CMarkup Developer

The Evaluation Version of CMarkup has all the basic methods for parsing, navigation, creating and modifying XML documents for MFC or STL, and you are strongly encouraged to try it in your project before purchasing. When you purchase a CMarkup Developer license you get:

  • exclusive features (MFC/STL) listed below that are not in the evaluation version
  • more test code (MFC/STL) demonstrating CMarkup methods and functionality
  • unlimited royalty-free use of the CMarkup software components compiled into your commercial applications
  • a year of priority support and upgrades
  • The CMarkup Developer License symbol (at left) is used to denote features only available to CMarkup Developers in the Developer Version of CMarkup.

    See also the Advanced CMarkup Developer license which gives you everything here plus the same use of additional components not available for source code evaluation.

      

    CMarkup Developer
    Purchasing Information

    Top 10 exclusive features of CMarkup Developer version

    1. Store binary data in Base64. The Developer version has encode and decode functions. See EncodeBase64 and DecodeBase64 Functions.

    EncodeBase64( pBuffer, nBufferLen )
    DecodeBase64( csBase64, pBuffer, nBufferLen )
    

    2. Use paths for quicker navigation. Call FindElem with paths such as "/Message/Payload/Buyer" to go directly to the desired element in one function call rather than several. Or use //Buyer to find elements with the tag name Buyer anywhere, plus use simple predicates [n], [@attrib] and [CHILDTAG], and the GetElemPath method. You also get the FindGetData and FindSetData methods which in combination with paths are especially useful in applications where you are treating the XML document like hierarchical structures. See Paths In CMarkup.

    GetElemPath()
    FindGetData( szPath )
    FindSetData( szPath, szData, nCDATA=0 )
    

    3. Remove attributes. In the Evaluation version you cannot actually remove attributes, you can only set the value to an empty string. The Developer version supports removing attributes.

    RemoveAttrib( szAttrib )
    RemoveChildAttrib( szAttrib )

    4. Prepend XML declaration. The Developer version also supports automatic prefixing of the document with an XML declaration such as <?xml version="1.0">.

    5. Load and save UTF-16 XML files. The Developer version (6.6) tests for the BOM on Load to read UTF-16 (and UCS-2) files as well as writing UTF-16 when desired on Save. See UTF-16 Files and the Byte Order Mark (BOM).

    6. Navigate to previous sibling element. The Developer version (7.0) has functions to go to the previous sibling of the main position or child position.

    FindPrevElem( szName )
    FindPrevChildElem( szName )

    7. Use element indexes. It is also very useful to get the handle or index of the current main position element in the document as an integer for more complex navigation. The Developer version contains sample source code for sorting and Breadth-First traversal that use ElemIndex Navigation.

    GetElemIndex()
    GotoElemIndex()

    8. Use document offsets. This is useful with using CMarkup in edit controls. See the GetOffsets and GetAttribOffsets methods.

    9. Reuse deleted index memory. This is a memory management enhancement implemented in the developer version since release 7.0.

    10. Element count and level methods. The Developer version comes with GetDocElemCount (since 9.0) and GetElemLevel (since 8.3) functions to provide additional information that can be useful.

    int GetDocElemCount()
    int GetElemLevel()

    I like the MarkupSTLAndrew Scheurer 20-Jan-2007

    I like the MarkupSTL and noticed its footprint considerably improved since 5.1 as I recall. It used to be that the size of the XML file was == to that of the memory consumed. I can see in 6.3 that dynamic memory is less than the size of the XML file by a lot. I would consider the advanced developer version but I don't code in MFC - I use C++ for Windows but not MFC - it would be great if your advanced developer library were not so dependent on MFC - the STL version of CMarkup is perfect and also works quite well on the Palm OS platform which I use as well w/ CodeWarrior 9.3 and now considering the Linux compiler for the Palm OS. In either case CMarkupSTL works.
    Andy

    Thanks for writing. It can be confusing so for other readers I'll say again that the CMarkup Developer version is for MFC and STL. It is the Advanced CMarkup Developer package that is MFC only (many Windows classes that were developed in MFC).

     
     

    Question or comment about this article?

    ©Copyright 2008 First Objective Software, Inc. All rights reserved.