package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`<outcomeDeclaration(.*?)\/>`)
var str = `<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1.xsd" identifier="IT0000300" title="IT0000300" label="Item Label" adaptive="false" timeDependent="false" toolName="TAO" toolVersion="3.1.0-sprint23">
<responseDeclaration identifier="_64B7CBD9-8ED4-EC27-D190-BD0751A38A95" cardinality="single" baseType="string"/>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
<defaultValue>
<value>0</value>
</defaultValue>
</outcomeDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
<stylesheet href="style/custom/tao-user-styles.css" type="text/css" media="all" title=""/>
<itemBody>
<div class="grid-row">
<div class="col-12"><prompt>
<p>300</p>
</prompt>
<extendedTextInteraction responseIdentifier="_64B7CBD9-8ED4-EC27-D190-BD0751A38A95" base="10" minStrings="0" format="plain" class="">
</extendedTextInteraction>
</div>
</div>
</itemBody>`
var substitution = "<outcomeDeclaration$1>\n\t<defaultValue>\n\t\t<value>0</value>\n\t</defaultValue>\n</outcomeDeclaration>"
fmt.Println(re.ReplaceAllString(str, substitution))
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/