// DatasetId.h #ifndef DatasetId_H #define DatasetId_H // Identifier for datasets. // We use Unique identifier. // // XML representation: // // DatasetId // collection = 123 // entry = 1 #include "dataset_id/UniqueId.h" #include "dataset_util/Text.h" class DatasetId : public UniqueId { public : // static functions // Return the xml name. static const char* xml_name() { return "DatasetId"; } // XML DTD. static const Text& dtd(); public : // functions // Default constructor. DatasetId(); // Constructor from an UniqueID. DatasetId(const UniqueId& uid); // Constructor from collection and entry. DatasetId(Index col, Index ent); // Constructor from string specifying collection and entry. // Format is iii-jjj where iii=collectiona dn jjj=entry. explicit DatasetId(std::string sid); // Constructor from XML. DatasetId(const XmlElement& ele); // Write to XML. const XmlElement* xml() const; }; #endif