equal
deleted
inserted
replaced
38 using namespace relpipe::reader; |
38 using namespace relpipe::reader; |
39 using namespace relpipe::xmlwriter; |
39 using namespace relpipe::xmlwriter; |
40 |
40 |
41 class XmlHandler : public handlers::RelationalReaderStringHadler { |
41 class XmlHandler : public handlers::RelationalReaderStringHadler { |
42 private: |
42 private: |
|
43 const wstring XMLNS = L"tag:globalcode.info,2018:relpipe"; |
43 shared_ptr<XMLWriter> xmlWriter; |
44 shared_ptr<XMLWriter> xmlWriter; |
44 std::vector<TypeId> columnTypes; |
45 std::vector<TypeId> columnTypes; |
45 std::vector<string_t> columnTypeCodes; |
46 std::vector<string_t> columnTypeCodes; |
46 std::vector<string_t> columnNames; |
47 std::vector<string_t> columnNames; |
47 integer_t valueCount = 0; |
48 integer_t valueCount = 0; |
56 void startRelation(string_t name, std::vector<handlers::AttributeMetadata> attributes) override { |
57 void startRelation(string_t name, std::vector<handlers::AttributeMetadata> attributes) override { |
57 valueCount = 0; |
58 valueCount = 0; |
58 columnCount = 0; |
59 columnCount = 0; |
59 |
60 |
60 if (relationCount == 0) { |
61 if (relationCount == 0) { |
61 xmlWriter->writeStartElement(L"relpipe",{L"xmlns", L"tag:globalcode.info,2018:relpipe"}); |
62 xmlWriter->writeStartElement(L"relpipe",{L"xmlns", XMLNS}); |
62 } else { |
63 } else { |
63 xmlWriter->writeEndElement(); |
64 xmlWriter->writeEndElement(); |
64 xmlWriter->writeEndElement(); |
65 xmlWriter->writeEndElement(); |
65 } |
66 } |
66 relationCount++; |
67 relationCount++; |