Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let ContextSerialize (x:Context) =
- let doc = new doc();
- let tag = makeTag doc
- let attr : string -> obj -> node -> node = makeAttr doc
- let child = makeChild doc
- let children = makeChildren
- tag "Context"
- |> attr "Id" x.Id
- |> attr "Name" x.Name
- |> child "DataTypeList"
- |> children x.DataTypes (fun kvp ->
- let dt = kvp.Value
- tag "DataType"
- |> attr "Id" dt.Id
- |> attr "Name" dt.Name
- |> attr "Color" (clr2str dt.Color))
- |> parent
- |> child "NodeTypeList"
- |> children x.NodeTypes (fun kvp ->
- let nt = kvp.Value
- tag "NodeType"
- |> attr "Id" nt.Id
- |> attr "Name" nt.Name
- |> attr "Color" (clr2str nt.Color)
- |> children nt.SlotsIn (serializeSlot tag attr)
- |> children nt.SlotsOut (serializeSlot tag attr))
- |> parent
- |> child "LinkTypeList"
- |> children x.LinkTypes (fun kvp ->
- let lt = kvp.Value
- tag "LinkType"
- |> attr "Id" lt.Id
- |> attr "Name" lt.Name
- |> attr "Color" (clr2str lt.Color))
- |> parent
- |> doc.AppendChild
- |> ignore
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement