VTD-XML 2.9 Released

VTD-XML 2.9, the next generation XML Processing API for SOA and Cloud computing, has been released. Please visit  https://sourceforge.net/projects/vtd-xml/files/ to download the latest version.
  • Strict Conformance
    • VTD-XML now fully conforms to XML namespace 1.0 spec
  • Performance Improvement
    • Significantly improved parsing performance for small XML files
  • Expand Core VTD-XML API 
    • Adds getPrefixString(), and toNormalizedString2()
  • Cutting/Splitting
    • Adds getSiblingElementFragment() 
  • A number of bug fixes and code enhancement including:
    • Fixes a bug for reading very large XML documents on some platforms
    • Fixes a bug in parsing processing instruction
    • Fixes a bug in outputAndReparse()
Advertisement

5 comments so far

  1. ami on

    aha! I am able to compile it. moved the variables definition to helper.c code and added vtd-xml.c file to package.

    • jimmyzhang on

      There is a c++ version that just is relesed.. won’t have any compilation issues I think>

  2. rp on

    Sucks..

  3. jimmyzhang on

    working on it… it takes a bit longer…

  4. ami on

    thread safe package is not compiling. getting following errors.
    gcc -c -O3 -Wall -fomit-frame-pointer -fforce-addr -frerun-cse-after-loop -fexpensive-optimizations -fregmove -frerun-loop-opt -fmerge-all-constants -fno-branch-count-reg -funroll-loops -fpeephole -march=i686 example/vtd-xml.c
    example/vtd-xml.c:28: fatal error: ../xpath.h: No such file or directory
    compilation terminated.
    make: *** [vtd-xml.o] Error 1

    I copied the xpath.h from ximpleware_2.9_c code. but the compilation failed afterwards.
    count-reg -funroll-loops -fpeephole -march=i686 autoPilot.c
    UTF8Char.h:22: warning: ‘charLen’ defined but not used
    gcc -c -O3 -Wall -fomit-frame-pointer -fforce-addr -frerun-cse-after-loop -fexpensive-optimizations -fregmove -frerun-loop-opt -fmerge-all-constants -fno-branch-count-reg -funroll-loops -fpeephole -march=i686 XMLChar.c
    make: *** No rule to make target `helper.c’, needed by `helper.o’. Stop.

    helper.c was missing. I added this file as well.

    rayList.o fastIntBuffer.o fastLongBuffer.o contextBuffer.o vtdNav.o vtdGen.o autoPilot.o XMLChar.o helper.o lex.yy.o l8.tab.o literalExpr.o numberExpr.o pathExpr.o filterExpr.o binaryExpr.o unaryExpr.o funcExpr.o locationPathExpr.o intHash.o unionExpr.o decoder.o XMLModifier.o nodeRecorder.o indexHandler.o bookMark.o elementFragmentNs.o transcoder.o textIter.o variableExpr.o -o vtd-xml
    helper.o: In function `resetObj’:
    helper.c:(.text+0×8): undefined reference to `objList’
    helper.c:(.text+0xe): undefined reference to `ptr1′
    helper.c:(.text+0x1e): undefined reference to `ptr2′
    helper.c:(.text+0x5e): undefined reference to `ptr2′
    helper.o: In function `freeAllObj’:
    helper.c:(.text+0×78): undefined reference to `objList’
    helper.c:(.text+0x7e): undefined reference to `ptr1′
    helper.c:(.text+0x8e): undefined reference to `ptr2′
    helper.c:(.text+0xdb): undefined reference to `ptr2′
    helper.o: In function `addObj’:
    helper.c:(.text+0xf9): undefined reference to `objList’
    helper.c:(.text+0x10a): undefined reference to `ptr1′
    helper.c:(.text+0×176): undefined reference to `ptr1′
    collect2: ld returned 1 exit status
    make: *** [vtd-xml] Error 1

    I have commented the extern declaration of the variables.
    /*extern*/ _thread struct obj *objList;
    /*extern*/ _thread struct obj *ptr1;
    /*extern*/ _thread struct obj *ptr2;
    but the compilation failed again.
    gcc -O3 -fomit-frame-pointer -fforce-addr -frerun-cse-after-loop -fexpensive-optimizations -fregmove -frerun-loop-opt -march=pentium -lm -lpthread vtd-xml.o arrayList.o fastIntBuffer.o fastLongBuffer.o contextBuffer.o vtdNav.o vtdGen.o autoPilot.o XMLChar.o helper.o lex.yy.o l8.tab.o literalExpr.o numberExpr.o pathExpr.o filterExpr.o binaryExpr.o unaryExpr.o funcExpr.o locationPathExpr.o intHash.o unionExpr.o decoder.o XMLModifier.o nodeRecorder.o indexHandler.o bookMark.o elementFragmentNs.o transcoder.o textIter.o variableExpr.o -o vtd-xml
    vtdNav.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    vtdNav.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    vtdNav.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    autoPilot.o:(.tbss+0×8): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    autoPilot.o:(.tbss+0xc): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    autoPilot.o:(.tbss+0×10): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    helper.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    helper.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    helper.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    lex.yy.o:(.tbss+0×38): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    lex.yy.o:(.tbss+0x3c): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    lex.yy.o:(.tbss+0×40): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    l8.tab.o:(.tbss+0xc): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    l8.tab.o:(.tbss+0×10): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    l8.tab.o:(.tbss+0×14): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    literalExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    literalExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    literalExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    numberExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    numberExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    numberExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    pathExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    pathExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    pathExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    filterExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    filterExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    filterExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    binaryExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    binaryExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    binaryExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    unaryExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    unaryExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    unaryExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    funcExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    funcExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    funcExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    locationPathExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    locationPathExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    locationPathExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    intHash.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    intHash.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    intHash.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    unionExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    unionExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    unionExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    XMLModifier.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    XMLModifier.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    XMLModifier.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    bookMark.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    bookMark.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    bookMark.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    variableExpr.o:(.tbss+0×0): multiple definition of `objList’
    vtd-xml.o:(.tbss+0×18): first defined here
    variableExpr.o:(.tbss+0×4): multiple definition of `ptr1′
    vtd-xml.o:(.tbss+0x1c): first defined here
    variableExpr.o:(.tbss+0×8): multiple definition of `ptr2′
    vtd-xml.o:(.tbss+0×20): first defined here
    collect2: ld returned 1 exit status
    make: *** [vtd-xml] Error 1


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.