diff --git a/ofdgo_editor_versions.go b/ofdgo_editor_versions.go index 5417c51..5272783 100644 --- a/ofdgo_editor_versions.go +++ b/ofdgo_editor_versions.go @@ -24,7 +24,6 @@ import ( "path" "slices" "strconv" - "strings" ) // DocumentVersions 获取当前编辑文档的版本信息,包含尚未写出的修改 @@ -117,7 +116,7 @@ func (e *Editor) AddVersion(name string) (string, error) { return 0, err } body := root.childAt("DocBody", reader.documentIndex) - location := packageAvailableName(reader, nil, path.Join(path.Dir(entry), "Versions", id+".xml")) + location := packageAvailableName(reader, nil, path.Join(path.Dir(entry), "Versions", "Version_"+strconv.FormatInt(int64(index), 10)+".xml")) attrs := ofdAttrs{{Name: xml.Name{Local: "ID"}, Value: id}} format := reader.Version() if reader.versionInfo != nil && reader.versionInfo.Version != "" { @@ -250,8 +249,7 @@ func (e *Editor) RenameVersion(id, name string) error { if err != nil { return 0, err } - extension := path.Ext(version.Location) - location := packageAvailableName(reader, nil, strings.TrimSuffix(version.Location, extension)+".edit"+extension) + location := packageAvailableName(reader, nil, version.Location) body := root.childAt("DocBody", reader.documentIndex) for _, node := range body.child("Versions").children { if node.matchesOFD("Version") && node.attr("ID") == id { diff --git a/ofdgo_version_edit.go b/ofdgo_version_edit.go index 5ec227e..7b43c71 100644 --- a/ofdgo_version_edit.go +++ b/ofdgo_version_edit.go @@ -20,7 +20,6 @@ import ( "encoding/xml" "fmt" "maps" - "path" "slices" "strconv" "strings" @@ -272,8 +271,7 @@ func (r *Reader) versionOutputChanges(ctx context.Context, changes map[string][] reserved := maps.Clone(parts) var pending []string allocate := func(name string) { - extension := path.Ext(name) - target := packageAvailableName(r, reserved, strings.TrimSuffix(name, extension)+".edit"+extension) + target := packageAvailableName(r, reserved, name) paths[name], reserved[target] = target, nil pending = append(pending, name) } @@ -452,8 +450,7 @@ func (r *Reader) versionManifest(parts map[string][]byte, paths map[string]strin } name := version.Location if shared[name] { - extension := path.Ext(name) - name = packageAvailableName(r, parts, strings.TrimSuffix(name, extension)+".edit"+extension) + name = packageAvailableName(r, parts, name) entry, ok := parts["OFD.xml"] if !ok { entry, err = r.readFile("OFD.xml")