/// <summary> /// Formats tag into xml /// </summary> /// <param name="tag"></param> /// <returns></returns> public XElement FormatTag(T tag) { var xTag = new XElement(TagName); var objectID = GetObjectID(tag); if (objectID.HasValue) { xTag.Add(new XAttribute(OBJECT_ID_ATTRIB, objectID.Value)); } var data = GetData(tag); if (data != null) { xTag.Add(new XElement("data", XBinary.ToXml(data))); } FormatTagElement(tag, xTag); if (tag.RestData != null && tag.RestData.Length > 0) { xTag.Add(new XElement(REST_ELEM, FormatBase64(tag.RestData))); } return(xTag); }
protected override void FormatTagElement(DefineBitsJPEG3Tag tag, XElement xTag) { xTag.Add(new XElement("alpha", XBinary.ToXml(tag.BitmapAlphaData))); }
protected override void FormatTagElement(DefineBitsJPEG4Tag tag, XElement xTag) { xTag.Add(new XAttribute("deblock", tag.DeblockParam)); xTag.Add(new XElement("alpha", XBinary.ToXml(tag.BitmapAlphaData))); }
XElement IActionVisitor <XElement, XElement> .Visit(ActionUnknown action, XElement arg) { return(new XElement("Unknown", new XAttribute("type", (byte)action.ActionCode), XBinary.ToXml(action.Data))); }