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
aha! I am able to compile it. moved the variables definition to helper.c code and added vtd-xml.c file to package.
There is a c++ version that just is relesed.. won’t have any compilation issues I think>
Sucks..
working on it… it takes a bit longer…
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