typeinfo.cpp
来自「IBM的解析xml的工具Xerces的源代码」· C++ 代码 · 共 973 行 · 第 1/3 页
CPP
973 行
DOMElement *testEle = findElement(X("eleTest")); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_STRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_BOOLEAN, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_DECIMAL, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_FLOAT, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_DOUBLE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_DURATION, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_DATETIME, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_TIME, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_DATE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_YEARMONTH, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_YEAR, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_MONTHDAY, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_DAY, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_MONTH, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_HEXBINARY, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_BASE64BINARY, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_ANYURI, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_QNAME, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_NORMALIZEDSTRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_TOKEN, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_LANGUAGE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), XMLUni::fgNmTokenString, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), XMLUni::fgNmTokensString, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_NAME, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_NCNAME, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_INTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_NONPOSITIVEINTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_NEGATIVEINTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_LONG, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_INT, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_SHORT, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_BYTE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_NONNEGATIVEINTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_ULONG, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_UINT, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_USHORT, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_UBYTE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_POSITIVEINTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgATTVAL_ANYTYPE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); return passed;}bool TypeInfo::testSimpleDerived() { bool passed = true; DOMNode *docEle = doc->getDocumentElement(); //element simpleDerTest DOMElement *testEle = (DOMElement *)docEle->getFirstChild()->getNextSibling()->getNextSibling() ->getNextSibling()->getNextSibling()->getNextSibling(); DOMAttr *testAtt = testEle->getAttributeNodeNS(0, X("decimalDerived")); DOMTYPEINFOTEST(testAtt->getTypeInfo(), X("decimalDerivedType"), X(""), __LINE__); testAtt = testEle->getAttributeNodeNS(0, X("stringDerived")); DOMTYPEINFOTEST(testAtt->getTypeInfo(), X("stringDerivedType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("decimalDerivedType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("stringDerivedType"), X(""), __LINE__); return passed;}bool TypeInfo::testComplexTypes() { bool passed = true; DOMNode *docEle = doc->getDocumentElement(); //element complexTest DOMElement *testEle = findElement(X("complexTest")); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("complexTestType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("complexDerTestType"), X(""), __LINE__); return passed;}bool TypeInfo::testUnions() { bool passed = true; DOMNode *docEle = doc->getDocumentElement(); DOMAttr *testAttr; //element unionTest DOMElement *testEle = findElement(X("unionTest")); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("decimalDerivedType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("stringDerivedType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("decimal"), SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("string"), SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); testAttr = testEle->getAttributeNodeNS(0, X("testAttr")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("decimalDerivedType"), X(""), __LINE__); testAttr = testEle->getAttributeNodeNS(0, X("testAttr2")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("stringDerivedType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); testAttr = testEle->getAttributeNodeNS(0, X("testAttr")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("stringDerivedType"), X(""), __LINE__); testAttr = testEle->getAttributeNodeNS(0, X("testAttr2")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("decimalDerivedType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); testAttr = testEle->getAttributeNodeNS(0, X("testAttr")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("decimal"), SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testAttr = testEle->getAttributeNodeNS(0, X("testAttr2")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("string"), SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); testAttr = testEle->getAttributeNodeNS(0, X("testAttr")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("string"), SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testAttr = testEle->getAttributeNodeNS(0, X("testAttr2")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("decimal"), SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); return passed;}bool TypeInfo::testAnonymous() { bool passed = true; DOMNode *docEle = doc->getDocumentElement(); DOMAttr *testAttr; //element anonymousTest DOMElement *testEle = findElement(X("anonymousTest")); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("C1"), X(""), __LINE__); testAttr = testEle->getAttributeNodeNS(X(""), X("partNum")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), X("S7"), X(""), __LINE__); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("S2"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("S4"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("S6"), X(""), __LINE__); return passed;}bool TypeInfo::testXsiTypes() { bool passed = true; DOMNode *docEle = doc->getDocumentElement(); //element xsiTypeTest DOMElement *testEle = findElement(X("xsiTypeTest")); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("base"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("level1"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("level2"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("baseComplex"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("level1Complex"), X(""), __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("level2Complex"), X(""), __LINE__); return passed;}bool TypeInfo::testAnys() { bool passed = true; DOMNode *docEle = doc->getDocumentElement(); DOMAttr *testAttr; //element anyTestPartial DOMElement *testEle = findElement(X("anyTestPartial")); DOMElement *back = testEle; testAttr = testEle->getAttributeNodeNS(X("http://www.w3.org/1999/xhtml"), X("attr2")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), 0, 0, __LINE__); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("anyTestPartialType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), 0, 0, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), 0, 0, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_STRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); //element anyTest testEle = (DOMElement *)back->getNextSibling()->getNextSibling(); back = testEle; testAttr = testEle->getAttributeNodeNS(X("http://www.secondSchema"), X("attr1")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), SchemaSymbols::fgDT_STRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testAttr = testEle->getAttributeNodeNS(X("http://www.secondSchema"), X("attr2")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), SchemaSymbols::fgDT_INTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testAttr = testEle->getAttributeNodeNS(X("http://www.secondSchema"), X("attr3")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), SchemaSymbols::fgDT_STRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testAttr = testEle->getAttributeNodeNS(X("http://www.secondSchema"), X("attr4")); DOMTYPEINFOTEST(testAttr->getTypeInfo(), SchemaSymbols::fgDT_INTEGER, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); DOMTYPEINFOTEST(testEle->getTypeInfo(), X("anyTestType"), X(""), __LINE__); testEle = (DOMElement *)testEle->getFirstChild()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_STRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), SchemaSymbols::fgDT_STRING, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, __LINE__); testEle = (DOMElement *)testEle->getNextSibling()->getNextSibling(); DOMTYPEINFOTEST(testEle->getTypeInfo(), 0, 0, __LINE__); //anyTestAttr1 testEle = (DOMElement *)back->getNextSibling()->getNextSibling(); back = testEle; testAttr = testEle->getAttributeNodeNS(X("http://www.secondSchema"), X("attr5"));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?