package template
import (
"fmt"
"strings"
)
// Extract returns the content between marker comments in a Confluence XML document.
func Extract(xmlDoc, markerStart, markerEnd string) (string, error) {
startIdx := strings.Index(xmlDoc, markerStart)
if startIdx == -1 {
return "", fmt.Errorf("start marker %q not found in document", markerStart)
}
endIdx := strings.Index(xmlDoc, markerEnd)
if endIdx == -1 {
return "", fmt.Errorf("end marker %q not found in document", markerEnd)
}
if endIdx < startIdx {
return "", fmt.Errorf("end marker appears before start marker")
}
content := xmlDoc[startIdx+len(markerStart) : endIdx]
return strings.TrimSpace(content), nil
}