예제 #1
0
        private void WriteCollationRulesFromICUString(XmlWriter writer, XmlReader reader, string icu)
        {
            Debug.Assert(writer != null);
            icu = icu ?? string.Empty;
            if (reader != null)
            {
                // don't copy any alias that would override our rules
                if (FindElement(reader, "alias"))
                {
                    reader.Skip();
                }
                CopyUntilElement(writer, reader, "settings");
                // for now we'll omit anything in the suppress_contractions and optimize nodes
                FindElement(reader, "special");
            }
            IcuRulesParser parser = new IcuRulesParser(false);
            string         message;

            // avoid throwing exception, just don't save invalid data
            if (!parser.ValidateIcuRules(icu, out message))
            {
                return;
            }
            parser.WriteIcuRules(writer, icu);
        }
예제 #2
0
		public static bool ValidateSortRules(string rules, out string message)
		{
			IcuRulesParser parser = new IcuRulesParser();
			if (!parser.ValidateIcuRules(rules, out message))
			{
				return false;
			}
			try
			{
				new IcuRulesCollator(rules);
			}
			catch (Exception e)
			{
				message = String.Format("Invalid ICU sort rules: {0}", e.Message);
				return false;
			}
			return true;
		}
예제 #3
0
 public void SetUp()
 {
     _icuParser = new IcuRulesParser();
     _xmlText   = new StringBuilder();
     _writer    = XmlWriter.Create(_xmlText, CanonicalXmlSettings.CreateXmlWriterSettings(ConformanceLevel.Fragment));
 }
예제 #4
0
		private void WriteCollationRulesFromICUString(XmlWriter writer, string icu)
		{
			icu = icu ?? string.Empty;

			IcuRulesParser parser = new IcuRulesParser(false);
			string message;
			// avoid throwing exception, just don't save invalid data
			if (!parser.ValidateIcuRules(icu, out message))
			{
				return;
			}
			parser.WriteIcuRules(writer, icu);
		}
예제 #5
0
		private void WriteCollationRulesFromICUString(XmlWriter writer, XmlReader reader, string icu)
		{
			Debug.Assert(writer != null);
			icu = icu ?? string.Empty;
			if (reader != null)
			{
				// don't copy any alias that would override our rules
				if (FindElement(reader, "alias"))
				{
					reader.Skip();
				}
				CopyUntilElement(writer, reader, "settings");
				// for now we'll omit anything in the suppress_contractions and optimize nodes
				FindElement(reader, "special");
			}
			IcuRulesParser parser = new IcuRulesParser(false);
			string message;
			// avoid throwing exception, just don't save invalid data
			if (!parser.ValidateIcuRules(icu, out message))
			{
				return;
			}
			parser.WriteIcuRules(writer, icu);
		}
예제 #6
0
		public void SetUp()
		{
			_icuParser = new IcuRulesParser();
			_xmlText = new StringBuilder();
			_writer = XmlWriter.Create(_xmlText, CanonicalXmlSettings.CreateXmlWriterSettings(ConformanceLevel.Fragment));
		}