8 #ifndef __VRV_EXPANSION_MAP_H__
9 #define __VRV_EXPANSION_MAP_H__
15 #include "expansion.h"
45 void Expand(
Expansion *expansion, xsdAnyURI_List &existingList,
Object *prevSection, xsdAnyURI_List &deletionList,
48 std::vector<std::string> GetExpansionIDsForElement(
const std::string &xmlId);
56 bool UpdateIDs(
Object *
object);
58 void GetIDList(
Object *
object, std::vector<std::string> &idList);
60 void GeneratePredictableIDs(
Object *source,
Object *target);
63 bool AddExpandedIDToExpansionMap(
const std::string &origXmlId, std::string newXmlId);
67 std::map<std::string, std::vector<std::string>>
m_map;
This class represents a MEI expansion.
Definition: expansion.h:26
Definition: expansionmap.h:20
std::map< std::string, std::vector< std::string > > m_map
The expansion map indicates which xmlId has been repeated (expanded) elsewhere.
Definition: expansionmap.h:67
void ToJson(std::string &output)
Write the currentexpansionMap to a JSON string.
void Expand(Expansion *expansion, xsdAnyURI_List &existingList, Object *prevSection, xsdAnyURI_List &deletionList, bool deleteList)
Expand expansion recursively.
bool HasExpansionMap()
Check if m_expansionMap has been filled.
This class represents a basic object.
Definition: object.h:62