Actually write out relationship information when saving
This commit is contained in:
parent
1f0e8845e8
commit
e278ba5c16
@ -91,6 +91,13 @@ namespace UniversalEditor.DataFormats.Package.OpenPackagingConvention
|
||||
File _rels = new File();
|
||||
_rels.Name = ".rels";
|
||||
|
||||
RelationshipsObjectModel rels = new RelationshipsObjectModel ();
|
||||
foreach (Relationship rel in package.Relationships)
|
||||
{
|
||||
rels.Relationships.Add (rel);
|
||||
}
|
||||
_rels.SetObjectModel<RelationshipsObjectModel> (new OPCRelationshipsDataFormat (), rels);
|
||||
|
||||
fldr.Files.Add(_rels);
|
||||
|
||||
fsom.Folders.Add(fldr);
|
||||
|
||||
@ -44,5 +44,30 @@ namespace UniversalEditor.DataFormats.Package.Relationships
|
||||
rels.Relationships.Add(rel);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void BeforeSaveInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.BeforeSaveInternal (objectModels);
|
||||
|
||||
RelationshipsObjectModel rels = (objectModels.Pop () as RelationshipsObjectModel);
|
||||
MarkupObjectModel mom = new MarkupObjectModel ();
|
||||
|
||||
MarkupTagElement tagRelationships = new MarkupTagElement ();
|
||||
tagRelationships.Attributes.Add ("xmlns", "http://schemas.openxmlformats.org/package/2006/relationships");
|
||||
tagRelationships.FullName = "Relationships";
|
||||
foreach (Relationship rel in rels.Relationships)
|
||||
{
|
||||
MarkupTagElement tagRelationship = new MarkupTagElement ();
|
||||
tagRelationship.FullName = "Relationship";
|
||||
tagRelationship.Attributes.Add ("Target", rel.Target);
|
||||
tagRelationship.Attributes.Add ("Id", rel.ID);
|
||||
tagRelationship.Attributes.Add ("Type", rel.Schema);
|
||||
tagRelationships.Elements.Add (tagRelationship);
|
||||
}
|
||||
|
||||
mom.Elements.Add (tagRelationships);
|
||||
|
||||
objectModels.Push (mom);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user