Skip to content

Commit 9143ee6

Browse files
add namespaces to value elements
1 parent 3d1158f commit 9143ee6

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

pkg/datastore/target/netconf/xmlBuilder.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,15 @@ func (x *XMLConfigBuilder) AddValue(ctx context.Context, p *sdcpb.Path, v *sdcpb
153153
for _, tv := range val.LeaflistVal.GetElement() {
154154
subelem := parent.CreateElement(p.Elem[len(p.Elem)-1].Name)
155155

156+
//perform namespace operations
157+
namespaceUri, err := x.resolveNamespace(ctx, p, len(p.GetElem())-1)
158+
if err != nil {
159+
return err
160+
}
161+
if x.cfg.HonorNamespace && namespaceUri != parent.NamespaceURI() {
162+
subelem.CreateAttr("xmlns", namespaceUri)
163+
}
164+
156165
value, err := valueAsString(tv)
157166
if err != nil {
158167
return err
@@ -176,6 +185,16 @@ func (x *XMLConfigBuilder) AddValue(ctx context.Context, p *sdcpb.Path, v *sdcpb
176185
parent.RemoveChild(elem)
177186

178187
default:
188+
//perform namespace operations
189+
namespaceUri, err := x.resolveNamespace(ctx, p, len(p.GetElem())-1)
190+
if err != nil {
191+
return err
192+
}
193+
parent := elem.Parent()
194+
if x.cfg.HonorNamespace && (parent == nil || namespaceUri != parent.NamespaceURI()) {
195+
elem.CreateAttr("xmlns", namespaceUri)
196+
}
197+
179198
value, err := valueAsString(v)
180199
if err != nil {
181200
return err

0 commit comments

Comments
 (0)