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 }