private void RecursivelySortChildrenResource(LocaleStringResourceParent resource) { ArrayList.Adapter((IList)resource.ChildLocaleStringResources).Sort(new LocalizationService.ComparisonComparer <LocaleStringResourceParent>((x1, x2) => x1.ResourceName.CompareTo(x2.ResourceName))); foreach (var child in resource.ChildLocaleStringResources) { RecursivelySortChildrenResource(child); } }
private void RecursivelyWriteResource(LocaleStringResourceParent resource, XmlWriter writer) { //The value isn't actually used, but the name is used to create a namespace. if (resource.IsPersistable) { writer.WriteStartElement("LocaleResource", ""); writer.WriteStartAttribute("Name", ""); writer.WriteString(resource.NameWithNamespace); writer.WriteEndAttribute(); writer.WriteStartElement("Value", ""); writer.WriteString(resource.ResourceValue); writer.WriteEndElement(); writer.WriteEndElement(); } foreach (var child in resource.ChildLocaleStringResources) { RecursivelyWriteResource(child, writer); } }
private void RecursivelyWriteResource(LocaleStringResourceParent resource, XmlWriter writer, bool?parentAppendRootKey) { //The value isn't actually used, but the name is used to create a namespace. if (resource.IsPersistable) { writer.WriteStartElement("LocaleResource", ""); writer.WriteStartAttribute("Name", ""); writer.WriteString(resource.NameWithNamespace); writer.WriteEndAttribute(); if (resource.AppendRootKey.HasValue) { writer.WriteStartAttribute("AppendRootKey", ""); writer.WriteString(resource.AppendRootKey.Value ? "true" : "false"); writer.WriteEndAttribute(); parentAppendRootKey = resource.AppendRootKey; } else if (parentAppendRootKey.HasValue) { writer.WriteStartAttribute("AppendRootKey", ""); writer.WriteString(parentAppendRootKey.Value ? "true" : "false"); writer.WriteEndAttribute(); } writer.WriteStartElement("Value", ""); writer.WriteString(resource.ResourceValue); writer.WriteEndElement(); writer.WriteEndElement(); } foreach (var child in resource.ChildLocaleStringResources) { RecursivelyWriteResource(child, writer, resource.AppendRootKey ?? parentAppendRootKey); } }
/// <summary> /// Recursivelies the write resource. /// </summary> /// <param name="resource">The resource.</param> /// <param name="writer">The writer.</param> /// <remarks></remarks> private void RecursivelyWriteResource(LocaleStringResourceParent resource, XmlWriter writer) { //The value isn't actually used, but the name is used to create a namespace. if (resource.IsPersistable) { writer.WriteStartElement("LocaleResource", ""); writer.WriteStartAttribute("Name", ""); writer.WriteString(resource.NameWithNamespace); writer.WriteEndAttribute(); writer.WriteStartElement("Value", ""); writer.WriteString(resource.ResourceValue); writer.WriteEndElement(); writer.WriteEndElement(); } foreach (var child in resource.ChildLocaleStringResources) { RecursivelyWriteResource(child, writer); } }