| 93 | |
| 94 | |
| 95 | void Ilvis2MetadataReader::parseGranuleURMetaData(xmlNodePtr node, |
| 96 | MetadataNode* m) |
| 97 | { |
| 98 | assertElementIs(node, "GranuleURMetaData"); |
| 99 | |
| 100 | xmlNodePtr child; |
| 101 | |
| 102 | child = getFirstChildElementNode(node); |
| 103 | assertElementIs(child, "GranuleUR"); |
| 104 | m->add("GranuleUR", extractString(child)); |
| 105 | |
| 106 | child = getNextElementNode(child); |
| 107 | assertElementIs(child, "DbID"); |
| 108 | m->add<long>("DbID", extractLong(child)); |
| 109 | |
| 110 | child = getNextElementNode(child); |
| 111 | assertElementIs(child, "InsertTime"); |
| 112 | m->add("InsertTime", extractString(child)); |
| 113 | |
| 114 | child = getNextElementNode(child); |
| 115 | assertElementIs(child, "LastUpdate"); |
| 116 | m->add("LastUpdate", extractString(child)); |
| 117 | |
| 118 | child = getNextElementNode(child); |
| 119 | if (nodeElementIs(child, "CollectionMetaData")) |
| 120 | { |
| 121 | parseCollectionMetaData(child, m); |
| 122 | child = getNextElementNode(child); |
| 123 | } |
| 124 | |
| 125 | if (nodeElementIs(child, "DataFiles")) |
| 126 | { |
| 127 | parseDataFiles(child, m); |
| 128 | child = getNextElementNode(child); |
| 129 | } |
| 130 | |
| 131 | if (nodeElementIs(child, "ECSDataGranule")) |
| 132 | { |
| 133 | parseECSDataGranule(child, m); |
| 134 | child = getNextElementNode(child); |
| 135 | } |
| 136 | |
| 137 | if (nodeElementIs(child, "RangeDateTime")) |
| 138 | { |
| 139 | parseRangeDateTime(child, m); |
| 140 | child = getNextElementNode(child); |
| 141 | } |
| 142 | |
| 143 | if (nodeElementIs(child, "SpatialDomainContainer")) |
| 144 | { |
| 145 | parseSpatialDomainContainer(child, m); |
| 146 | child = getNextElementNode(child); |
| 147 | } |
| 148 | |
| 149 | while (nodeElementIs(child, "Platform")) |
| 150 | { |
| 151 | MetadataNode plat = m->addList("Platform"); |
| 152 | parsePlatform(child, &plat); |