private void CreateNodes(XmlDocument doc, XmlElement inTreeNode, object o, bool bParentIsArray, ref uint iNodeCount) { if (o is ArrayList) { ArrayList arrayList = o as ArrayList; if (arrayList.Count <= 0) { return; } if (bParentIsArray) { XmlElement node = doc.CreateElement("Array"); inTreeNode.AppendChild(node); inTreeNode = node; ++iNodeCount; } foreach (object o1 in arrayList) { this.CreateNodes(doc, inTreeNode, o1, true, ref iNodeCount); } } else if (o is Hashtable) { Hashtable hashtable = o as Hashtable; if (hashtable.Count <= 0) { return; } if (bParentIsArray && hashtable.Count > 1) { XmlElement node = doc.CreateElement("Object"); inTreeNode.AppendChild(node); inTreeNode = node; ++iNodeCount; } foreach (DictionaryEntry dictionaryEntry in new SortedList((IDictionary)hashtable)) { string sText = dictionaryEntry.Key.ToString(); XmlElement node = doc.CreateElement(XmlConvert.EncodeNmToken(sText)); inTreeNode.AppendChild(node); ++iNodeCount; this.CreateNodes(doc, node, dictionaryEntry.Value, false, ref iNodeCount); } } else { string sText = o != null ? (!(o is DateTime) ? (!(o is double) ? o.ToString() : ((double)o).ToString("R", (IFormatProvider)CultureInfo.InvariantCulture)) : ((DateTime)o).ToString("r")) : "(null)"; if (bParentIsArray) { XmlElement node = doc.CreateElement(XmlConvert.EncodeLocalName(sText)); inTreeNode.AppendChild(node); ++iNodeCount; } else { inTreeNode.InnerText = sText; } } }
public void EncodeNmToken() { Assert.IsNull(XmlConvert.EncodeNmToken(null)); AssertNmToken("Test", "Test"); AssertNmToken("Hello_x0020_my_x0020_friends.", "Hello my friends."); AssertNmToken("123", "123"); AssertNmToken("_x005F_x0031_23", "_x0031_23"); }
//[Variation("DecodeName with uppercase/lowercase")] public int v4() { CError.Equals(XmlConvert.EncodeName("_xFF71__xff71_"), "_x005F_xFF71__x005F_xff71_", "EncodeName"); CError.Equals(XmlConvert.EncodeLocalName("_xFF71__xff71_"), "_x005F_xFF71__x005F_xff71_", "EncodeLocalName"); CError.Equals(XmlConvert.EncodeNmToken("_xFF71__xff71_"), "_x005F_xFF71__x005F_xff71_", "EncodeNmToken"); CError.Equals(XmlConvert.DecodeName("_xFF71__xff71_"), "\uFF71\uFF71", "DecodeName"); return(TEST_PASS); }
public int XmlEncodeName2() { int i = ((CurVariation.id) - 1) * 2; string strEnVal = String.Empty; strEnVal = XmlConvert.EncodeNmToken((BitConverter.ToChar(_byte_EmbeddedNull, i)).ToString()); CError.Compare(strEnVal, _Expbyte_EmbeddedNull[i / 2], "Comparison failed at " + i); return(TEST_PASS); }
internal ExportResult Export(ICollection <LocalizationResource> resources, CultureInfo fromLanguage, CultureInfo toLanguage) { if (resources == null) { throw new ArgumentNullException(nameof(resources)); } if (fromLanguage == null) { throw new ArgumentNullException(nameof(fromLanguage)); } if (toLanguage == null) { throw new ArgumentNullException(nameof(toLanguage)); } var doc = new XliffDocument(fromLanguage.Name) { TargetLanguage = toLanguage.Name }; var file = new File("f1"); doc.Files.Add(file); var unit = new Unit("u1"); file.Containers.Add(unit); foreach (var resource in resources) { var segment = new Segment(XmlConvert.EncodeNmToken(resource.ResourceKey)) { Source = new Source(), Target = new Target() }; segment.Source.Text.Add(new CDataTag(resource.Translations.ByLanguage(fromLanguage.Name, false))); segment.Target.Text.Add(new CDataTag(resource.Translations.ByLanguage(toLanguage.Name, false))); unit.Resources.Add(segment); } var dest = new MemoryStream(); var settings = new XliffWriterSettings(); settings.Validators.Clear(); var writer = new XliffWriter(settings); writer.Serialize(dest, doc); dest.Position = 0; var reader = new StreamReader(dest); return(new ExportResult(reader.ReadToEnd(), "application/x-xliff+xml", $"{fromLanguage.Name}-{toLanguage.Name}-{DateTime.UtcNow:yyyyMMdd}.xliff")); }
public int XmlEncodeName2() { int i = (CurVariation.id) - 1; string strEnVal = string.Empty; CError.WriteLine(strEncode[i]); strEnVal = XmlConvert.EncodeNmToken(strEncode[i]); CError.Compare(strEnVal, strExpEncodeNmToken[i], "Comparison failed at " + i); return(TEST_PASS); }
public int XmlEncodeName2() { int i = ((CurVariation.id) - 1) * 2; string strEnVal = string.Empty; char c = (char)BinaryPrimitives.ReadUInt16LittleEndian(new Span <byte>(_byte_EmbeddedNull, i, 2)); strEnVal = XmlConvert.EncodeNmToken(c.ToString()); CError.Compare(strEnVal, _Expbyte_EmbeddedNull[i / 2], "Comparison failed at " + i); return(TEST_PASS); }
public int XmlEncodeName2() { int i = ((CurVariation.id) - 1) * 2; string strEnVal = String.Empty; strEnVal = XmlConvert.EncodeNmToken((BitConverter.ToChar(_byte_Digit, i)).ToString()); if (_Expbyte_Digit[i / 2] != "_x0A70_") { CError.Compare(strEnVal, _Expbyte_Digit[i / 2], "Comparison failed at " + i); } return(TEST_PASS); }
//[Variation("EncodeName with null and String.Empty")] public int v1() { CError.Compare(XmlConvert.EncodeName(null), null, " en null"); CError.Compare(XmlConvert.EncodeName(string.Empty), string.Empty, "en empty"); CError.Compare(XmlConvert.EncodeLocalName(null), null, "eln null"); CError.Compare(XmlConvert.EncodeLocalName(string.Empty), string.Empty, "eln empty"); CError.Compare(XmlConvert.DecodeName(null), null, " de null"); CError.Compare(XmlConvert.DecodeName(string.Empty), string.Empty, "de empty"); CError.Compare(XmlConvert.EncodeNmToken(null), null, " ent null"); CError.Compare(XmlConvert.EncodeNmToken(string.Empty), string.Empty, "ent empty"); return(TEST_PASS); }
internal static void WriteElementToXml(XmlWriter writer, WiniumElement element) { if (element == null) { return; } var className = element.ClassName; var tagName = XmlConvert.EncodeNmToken(className); writer.WriteStartElement(tagName); var rect = element.GetRect(); var attributes = new Dictionary <string, string> { { "name", element.AutomationName }, { "id", element.AutomationId }, { "class_name", className }, { "xname", element.XName }, { "visible", element.IsUserVisible().ToString().ToLowerInvariant() }, { "value", element.GetText() }, { "x", rect.X.ToString(CultureInfo.InvariantCulture) }, { "y", rect.Y.ToString(CultureInfo.InvariantCulture) }, { "width", rect.Width.ToString(CultureInfo.InvariantCulture) }, { "height", rect.Height.ToString(CultureInfo.InvariantCulture) }, { "clickable_point", element.GetCoordinatesInView() .ToString(CultureInfo.InvariantCulture) } }; foreach (var attribute in attributes) { writer.WriteAttributeString(attribute.Key, attribute.Value); } foreach (var child in element.Find(TreeScope.Children, x => true)) { WriteElementToXml(writer, child); } writer.WriteEndElement(); }
public int XmlEncodeName5() { int i = ((CurVariation.id) - 1) * 2; string strEnVal = string.Empty; strEnVal = XmlConvert.EncodeNmToken((BitConverter.ToChar(_byte_BaseChar, i)).ToString()); if (_Expbyte_BaseChar[i / 2] != "_x0387_" && _Expbyte_BaseChar[i / 2] != "_x0640_" && _Expbyte_BaseChar[i / 2] != "_x064B_" && _Expbyte_BaseChar[i / 2] != "_x0670_" && _Expbyte_BaseChar[i / 2] != "_x06D6_" && _Expbyte_BaseChar[i / 2] != "_x06E4_" && _Expbyte_BaseChar[i / 2] != "_x06E7_" && _Expbyte_BaseChar[i / 2] != "_x093C_" && _Expbyte_BaseChar[i / 2] != "_x093E_" && _Expbyte_BaseChar[i / 2] != "_x0962_" && _Expbyte_BaseChar[i / 2] != "_x09E2_" && _Expbyte_BaseChar[i / 2] != "_x09EF_" && _Expbyte_BaseChar[i / 2] != "_x0A71_" && _Expbyte_BaseChar[i / 2] != "_x0ABC_" && _Expbyte_BaseChar[i / 2] != "_x0ABE_" && _Expbyte_BaseChar[i / 2] != "_x0B3C_" && _Expbyte_BaseChar[i / 2] != "_x0B3E_" && _Expbyte_BaseChar[i / 2] != "_x0E31_" && _Expbyte_BaseChar[i / 2] != "_x0E34_" && _Expbyte_BaseChar[i / 2] != "_x0E46_" && _Expbyte_BaseChar[i / 2] != "_x0EB1_" && _Expbyte_BaseChar[i / 2] != "_x0EB4_" && _Expbyte_BaseChar[i / 2] != "_x0EBC_" && _Expbyte_BaseChar[i / 2] != "_x0F3F_") { CError.Compare(strEnVal, _Expbyte_BaseChar[i / 2], "Comparison failed at " + i); } return(TEST_PASS); }
/// <summary> /// Pseudo-globablizes given string. /// </summary> /// <param name="text">String to pseudo-globilize</param> /// <param name="isPropertyName">Indicates if the item is a property name</param> /// <returns>String with Unicode characters appended to the end</returns> public string PseudoLocalize(string text, bool isPropertyName) { var appendix = this.stringGenerator.GenerateString(this.random, this.MinGlobalizationLength, this.MaxGlobalizationLength); appendix = this.RemoveUnsupportedChars(appendix); if (isPropertyName) { // TODO: Make sure the text is valid for xml names in case it is written in an xml response payload appendix = XmlConvert.EncodeNmToken(text); } return(text += appendix); }
public void XliffWriter_InvalidSegmentId() { var unit = new Unit("u1"); var segment = new Segment(XmlConvert.EncodeNmToken("/this/is/legacy/id")) { Source = new Source(), Target = new Target() }; segment.Source.Text.Add(new CDataTag("from-source")); segment.Target.Text.Add(new CDataTag("to-target")); unit.Resources.Add(segment); var segment2 = new Segment(XmlConvert.EncodeNmToken("this+is+nested")) { Source = new Source(), Target = new Target() }; segment2.Source.Text.Add(new CDataTag("from-source-nested")); segment2.Target.Text.Add(new CDataTag("to-target-nested")); unit.Resources.Add(segment2); var segment3 = new Segment(XmlConvert.EncodeNmToken("this.is.normal.id")) { Source = new Source(), Target = new Target() }; segment3.Source.Text.Add(new CDataTag("from-source-normal")); segment3.Target.Text.Add(new CDataTag("to-target-normal")); unit.Resources.Add(segment3); _document.Files.Add(new File("f1")); _document.Files[0].Containers.Add(unit); var actualValue = Serialize(); var reader = new XliffReader(); var doc = reader.Deserialize(AsStream(actualValue)); var resources = doc.Files[0].Containers.OfType <Unit>().First().Resources; Assert.NotNull(resources.FirstOrDefault(r => XmlConvert.DecodeName(r.Id) == "this+is+nested")); Assert.NotNull(resources.FirstOrDefault(r => XmlConvert.DecodeName(r.Id) == "/this/is/legacy/id")); Assert.NotNull(resources.FirstOrDefault(r => XmlConvert.DecodeName(r.Id) == "this.is.normal.id")); }
public int XmlEncodeName() { int i = ((CurVariation.id) - 1) * 2; string strEnVal = string.Empty; char c = (char)BinaryPrimitives.ReadUInt16LittleEndian(new Span <byte>(_byte_Ideographic, i, 2)); strEnVal = XmlConvert.EncodeNmToken(c.ToString()); if (_Expbyte_Ideographic[i / 2] != "_x302A_") { CError.Compare(strEnVal, _Expbyte_Ideographic[i / 2], "Comparison failed at " + i); } return(TEST_PASS); }
public int XmlEncodeName5() { int i = ((CurVariation.id) - 1) * 2; string strEnVal = string.Empty; char c = (char)BinaryPrimitives.ReadUInt16LittleEndian(new Span <byte>(_byte_BaseChar, i, 2)); strEnVal = XmlConvert.EncodeNmToken(c.ToString()); if (_Expbyte_BaseChar[i / 2] != "_x0387_" && _Expbyte_BaseChar[i / 2] != "_x0640_" && _Expbyte_BaseChar[i / 2] != "_x064B_" && _Expbyte_BaseChar[i / 2] != "_x0670_" && _Expbyte_BaseChar[i / 2] != "_x06D6_" && _Expbyte_BaseChar[i / 2] != "_x06E4_" && _Expbyte_BaseChar[i / 2] != "_x06E7_" && _Expbyte_BaseChar[i / 2] != "_x093C_" && _Expbyte_BaseChar[i / 2] != "_x093E_" && _Expbyte_BaseChar[i / 2] != "_x0962_" && _Expbyte_BaseChar[i / 2] != "_x09E2_" && _Expbyte_BaseChar[i / 2] != "_x09EF_" && _Expbyte_BaseChar[i / 2] != "_x0A71_" && _Expbyte_BaseChar[i / 2] != "_x0ABC_" && _Expbyte_BaseChar[i / 2] != "_x0ABE_" && _Expbyte_BaseChar[i / 2] != "_x0B3C_" && _Expbyte_BaseChar[i / 2] != "_x0B3E_" && _Expbyte_BaseChar[i / 2] != "_x0E31_" && _Expbyte_BaseChar[i / 2] != "_x0E34_" && _Expbyte_BaseChar[i / 2] != "_x0E46_" && _Expbyte_BaseChar[i / 2] != "_x0EB1_" && _Expbyte_BaseChar[i / 2] != "_x0EB4_" && _Expbyte_BaseChar[i / 2] != "_x0EBC_" && _Expbyte_BaseChar[i / 2] != "_x0F3F_") { CError.Compare(strEnVal, _Expbyte_BaseChar[i / 2], "Comparison failed at " + i); } return(TEST_PASS); }
//[Variation("EncodeName in uppercase")] public int v3() { byte[] _dbyte = { 0x71, 0xFF }; string strUni = string.Empty; for (int i = 0; i < _dbyte.Length; i = i + 2) { strUni += (BitConverter.ToChar(_dbyte, i)).ToString(); } CError.WriteLine(strUni + " " + XmlConvert.EncodeName(strUni)); CError.Compare(XmlConvert.EncodeName(strUni), "_xFF71_", "EncodeName"); CError.Compare(XmlConvert.EncodeLocalName(strUni), "_xFF71_", "EncodeLocalName"); CError.Compare(XmlConvert.EncodeNmToken(strUni), "_xFF71_", "EncodeNmToken"); return(TEST_PASS); }
//[Variation("EncodeName in uppercase")] public int v3() { byte[] _dbyte = { 0x71, 0xFF }; string strUni = string.Empty; for (int i = 0; i < _dbyte.Length; i = i + 2) { char c = (char)BinaryPrimitives.ReadUInt16LittleEndian(new Span <byte>(_dbyte, i, 2)); strUni += c.ToString(); } CError.WriteLine(strUni + " " + XmlConvert.EncodeName(strUni)); CError.Compare(XmlConvert.EncodeName(strUni), "_xFF71_", "EncodeName"); CError.Compare(XmlConvert.EncodeLocalName(strUni), "_xFF71_", "EncodeLocalName"); CError.Compare(XmlConvert.EncodeNmToken(strUni), "_xFF71_", "EncodeNmToken"); return(TEST_PASS); }
private int SetSharedString(string value) { // Assume the string won't be found (assign it an impossible index): var index = -1; // Check to see if the string already exists. If so, retrieve its index. // This search is case-sensitive, but Excel stores differently cased // strings separately within the string file. var encodedValue = ReferenceEquals(value, null) ? null : value.Trim(); if (!string.IsNullOrEmpty(encodedValue)) { encodedValue = XmlConvert.EncodeNmToken(encodedValue); } var stringNode = _xlWorksheet.xlPackage.Workbook.SharedStringsXml.SelectSingleNode( string.Format("//d:si[d:t='{0}']", encodedValue), _xlWorksheet.NameSpaceManager); if (stringNode == null) { // You didn't find the string in the table, so add it now. stringNode = _xlWorksheet.xlPackage.Workbook.SharedStringsXml.CreateElement("si", ExcelPackage.schemaMain); var textNode = _xlWorksheet.xlPackage.Workbook.SharedStringsXml.CreateElement("t", ExcelPackage. schemaMain); textNode.InnerText = value; stringNode.AppendChild(textNode); _xlWorksheet.xlPackage.Workbook.SharedStringsXml.DocumentElement.AppendChild(stringNode); } // Retrieve the index of the selected node. // To do that, count the number of preceding // nodes by retrieving a reference to those nodes. var nodes = stringNode.SelectNodes("preceding-sibling::d:si", _xlWorksheet.NameSpaceManager); index = nodes.Count; return(index); }
// Test the "XmlConvert.EncodeNmToken" method. public void TestXmlConvertEncodeNmToken() { AssertNull("EncodeNmToken (1)", XmlConvert.EncodeNmToken(null)); AssertEquals("EncodeNmToken (2)", String.Empty, XmlConvert.EncodeNmToken("")); AssertEquals("EncodeNmToken (3)", "foo", XmlConvert.EncodeNmToken("foo")); AssertEquals("EncodeNmToken (4)", "foo:bar", XmlConvert.EncodeNmToken("foo:bar")); AssertEquals("EncodeNmToken (5)", "foo:bar_x002B_", XmlConvert.EncodeNmToken("foo:bar+")); AssertEquals("EncodeNmToken (6)", "2foo", XmlConvert.EncodeNmToken("2foo")); AssertEquals("EncodeNmToken (7)", "foo2", XmlConvert.EncodeNmToken("foo2")); AssertEquals("EncodeNmToken (8)", "_", XmlConvert.EncodeNmToken("_")); AssertEquals("EncodeNmToken (9)", "_x005F_x", XmlConvert.EncodeNmToken("_x")); }
internal static string ToXmlNmToken(string value) { return(XmlConvert.EncodeNmToken(value)); }
internal static string FromXmlNmToken(string nmToken) { return(XmlConvert.EncodeNmToken(nmToken)); }
public void EncodeNmTokenError() { XmlConvert.EncodeNmToken(String.Empty); }
private void AssertNmToken(string result, string source) { Assert.AreEqual(result, XmlConvert.EncodeNmToken(source)); }
public void WriteToXMLWriter(XmlWriter xmlWriter, DAIEbx EbxFile) { if (Descriptor.FieldName == "$") { ComplexValue.WriteToXmlWriter(xmlWriter, EbxFile); return; } xmlWriter.WriteStartElement(Descriptor.FieldName); switch (ValueType) { case DAIFieldType.DAI_Complex: case DAIFieldType.DAI_Array: if (ComplexValue != null) { ComplexValue.WriteToXmlWriter(xmlWriter, EbxFile); } break; case DAIFieldType.DAI_String: xmlWriter.WriteString(XmlConvert.EncodeNmToken(GetStringValue())); break; case DAIFieldType.DAI_Int: xmlWriter.WriteValue(GetIntValue().ToString("X8")); break; case DAIFieldType.DAI_UInt: xmlWriter.WriteValue(GetUIntValue().ToString("X8")); break; case DAIFieldType.DAI_Float: xmlWriter.WriteValue(GetFloatValue().ToString("F3")); break; case DAIFieldType.DAI_Short: xmlWriter.WriteValue(GetShortValue().ToString("X4")); break; case DAIFieldType.DAI_UShort: xmlWriter.WriteValue(GetUShortValue().ToString("X4")); break; case DAIFieldType.DAI_Byte: xmlWriter.WriteValue(GetByteValue().ToString("X2")); break; case DAIFieldType.DAI_Long: xmlWriter.WriteValue(GetLongValue().ToString("X16")); break; case DAIFieldType.DAI_LongLong: for (int i = 0; i < Value.Length; i++) { xmlWriter.WriteValue(Value[i].ToString("X2")); } break; case DAIFieldType.DAI_Enum: xmlWriter.WriteString(XmlConvert.EncodeNmToken(GetEnumValue())); break; case DAIFieldType.DAI_Guid: { uint UIntValue = GetUIntValue(); if ((UIntValue >> 31) == 1) { /* External Guid */ DAIExternalGuid Guid = EbxFile.ExternalGuids.ElementAt((int)(UIntValue & 0x7fffffff)); xmlWriter.WriteValue(Guid.ToString()); } else if (UIntValue == 0) { /* NULL Guid */ xmlWriter.WriteValue("00"); } else { /* Internal Guid */ byte[] Guid = EbxFile.InternalGuids[(int)(UIntValue - 1)]; for (int i = 0; i < Guid.Length; i++) { xmlWriter.WriteValue(Guid[i].ToString("X2")); } } } break; } xmlWriter.WriteEndElement(); }