public void SingleResourceTwoLanguages_SingleEntry_TranslationBothLanguages()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
            <displayoption>This is display option</displayoption>
              </language>
              <language name=""Norsk"" id=""no"">
            <displayoption>Det er skjemalternativ</displayoption>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.True(resource.Count == 1);

            var firstResource = resource.First();
            Assert.Equal("/displayoption", firstResource.ResourceKey);

            Assert.Equal(2, firstResource.Translations.Count);

            var norwegianTranslation = firstResource.Translations.First(t => t.Language == "no");
            Assert.Equal("no", norwegianTranslation.Language);
            Assert.Equal("Det er skjemalternativ", norwegianTranslation.Value);
        }
        public bool ParseXml(string xmlContent, object context)
        {
            try
            {
#if JAVASCRIPT
                XmlDocumentParser parser   = new XmlDocumentParser();
                XmlDocument       document = parser.ParseFromString(xmlContent, "text/xml");
#else
                XmlDocument document = new XmlDocument();
                document.LoadXml(xmlContent);
#endif
                foreach (XmlNode root in document.ChildNodes)
                {
                    if (StringEquals(root.Name, "root"))
                    {
                        foreach (XmlNode node in root.ChildNodes)
                        {
                            ProcessXmlNode(node, context);
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine("Exception loading xml content: " + ex);
                return(false);
            }
        }
        public void TwoResourcesSingleLanguage_AllEntries_TranslationInEnglish()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
    <displayoption>This is display option</displayoption>
    <displayoption2>This is display option 2</displayoption2>
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.True(resource.Count == 2);

            var firstResource = resource[1];

            Assert.Equal("/displayoption2", firstResource.ResourceKey);

            Assert.Equal(1, firstResource.Translations.Count);

            var firstTranslation = firstResource.Translations.First();

            Assert.Equal("en", firstTranslation.Language);
            Assert.Equal("This is display option 2", firstTranslation.Value);
        }
        public void SingleResourceDuplicateLanguages_ExceptionNotThrownWithIgnoreDuplicateKeysOption()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
                <displayoption>This is display option</displayoption>
              </language>
              <language name=""English"" id=""en"">
                <displayoption>Whatever!</displayoption>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc, true, "in-memory").ToList();

            var firstResource = resource.First();

            Assert.Equal("/displayoption", firstResource.ResourceKey);

            Assert.Equal(1, firstResource.Translations.Count);

            var englishTranslation = firstResource.Translations.First(t => t.Language == "en");

            Assert.Equal("en", englishTranslation.Language);
            Assert.Equal("This is display option", englishTranslation.Value);
        }
Exemple #5
0
        private void LoadCabinet()
        {
            if (webFile.State == StateType.Error)
            {
                Script.Literal("alert({0})", webFile.Message);
            }
            else if (webFile.State == StateType.Received)
            {
                mainBlob = (System.Html.Data.Files.Blob)webFile.GetBlob();
                FileReader chunck = new FileReader();
                chunck.OnLoadEnd = delegate(System.Html.Data.Files.FileProgressEvent e)
                {
                    int offset = GetSize((string)chunck.Result);

                    FileReader header = new FileReader();
                    header.OnLoadEnd = delegate(System.Html.Data.Files.FileProgressEvent ee)
                    {
                        string            data    = header.Result as string;
                        XmlDocumentParser xParser = new XmlDocumentParser();
                        Extract(xParser.ParseFromString(data, "text/xml"), offset);
                        callMe();
                    };
                    header.ReadAsText(mainBlob.Slice(0, offset));
                };
                chunck.ReadAsText(mainBlob.Slice(0, 255));
            }
        }
        public void NestedResourcesSingleLanguage_AllEntry_TranslationInEnglish()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
            <displayoptions>
            <displayoption>This is display option</displayoption>
            <displayoption2>This is display option 2</displayoption2>
            </displayoptions>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.True(resource.Count == 2);

            var firstResource = resource[1];
            Assert.Equal("/displayoptions/displayoption2", firstResource.ResourceKey);

            Assert.Equal(1, firstResource.Translations.Count);

            var firstTranslation = firstResource.Translations.First();
            Assert.Equal("en", firstTranslation.Language);
            Assert.Equal("This is display option 2", firstTranslation.Value);
        }
        public void SingleResourceTwoLanguages_SingleEntry_TranslationBothLanguages()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
    <displayoption>This is display option</displayoption>
  </language>
  <language name=""Norsk"" id=""no"">
    <displayoption>Det er skjemalternativ</displayoption>
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.True(resource.Count == 1);

            var firstResource = resource.First();

            Assert.Equal("/displayoption", firstResource.ResourceKey);

            Assert.Equal(2, firstResource.Translations.Count);

            var norwegianTranslation = firstResource.Translations.First(t => t.Language == "no");

            Assert.Equal("no", norwegianTranslation.Language);
            Assert.Equal("Det er skjemalternativ", norwegianTranslation.Value);
        }
        public void OneResourceWithAttributeValueOnParent_CorrectResourceKey()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
    <displayoptions>
        <displayoption name=""mobile"">
            <name>Mobile</name>
        </displayoption>
    </displayoptions>
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.Single(resource);

            var firstResource = resource[0];

            Assert.Equal(@"/displayoptions/displayoption[@name=""mobile""]/name", firstResource.ResourceKey);
        }
Exemple #9
0
        public static VoTable LoadFromString(string data)
        {
            XmlDocumentParser xParser = new XmlDocumentParser();
            XmlDocument       doc     = xParser.ParseFromString(data, "text/xml");

            VoTable table = new VoTable();

            table.LoadFromXML(doc);

            return(table);
        }
Exemple #10
0
        public App()
        {
            MyElement elem = (MyElement)Document.GetElementById("foo");
            string    s    = elem.myString;

            elem["Smith"] = elem["Joe"];

            int         n   = Math.Truncate(5.5);
            XmlDocument doc = XmlDocumentParser.Parse("<markup></markup>");
            Date        d   = Date.Parse("1/1/2010");
        }
Exemple #11
0
        public void GivenDocumentWithConstant_WhenParseDocument_ThenSchemaHasRootWithConstant()
        {
            // given
            var document = Resources.ResourceManager.GetString("XMLDocumentWithConstant");

            // when
            var parser = new XmlDocumentParser();
            var schema = parser.Parse(document);

            // then
            Assert.AreEqual(schema.Root.Children.Count, 1);
            Assert.IsInstanceOf <SchemaConstant>(schema.Root.Children[0]);
        }
Exemple #12
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public override XmlDocument parse(TextReader source)
        {
            if ( source == null )
                throw new ArgumentNullException( "source" );

            XmlReader reader = XmlReader.Create( new XmlTextReader( source, this.context_.NameTable ),
                                                 this.settings_
                                                 );

            XmlDocumentParser parser = new XmlDocumentParser( createDocument() );

            return parser.parse( reader );
        }
        public void EmptyList_NoEntries()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.Empty(resource);
        }
        public void EmptyList_NoEntries()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.Empty(resource);
        }
Exemple #15
0
        private void LoadXmlDocument()
        {
            string master = cabinet.MasterFile;

            FileReader doc = new FileReader();

            doc.OnLoadEnd = delegate(FileProgressEvent ee)
            {
                string            data    = doc.Result as string;
                XmlDocumentParser xParser = new XmlDocumentParser();
                FromXml(xParser.ParseFromString(data, "text/xml"));
                callMe();
            };
            doc.ReadAsText(cabinet.GetFileBlob(master));
        }
        public void SingleResourceDuplicateLanguages_ExceptionThrown()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
    <displayoption>This is display option</displayoption>
  </language>
  <language name=""English"" id=""en"">
    <displayoption>Whatever!</displayoption>
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            Assert.Throws <NotSupportedException>(() => parser.ReadXml(doc).ToList());
        }
        public void SingleResourceDuplicateLanguages_ExceptionThrown()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
            <displayoption>This is display option</displayoption>
              </language>
              <language name=""English"" id=""en"">
            <displayoption>Whatever!</displayoption>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            Assert.Throws<NotSupportedException>(() => parser.ReadXml(doc).ToList());
        }
Exemple #18
0
            public static void Parse(SymbolDescriptionProvider provider, ISymbol symbol)
            {
                var rawXml  = "<i>" + symbol.GetDocumentationCommentXml() + "</i>";
                var comment = new XmlDocumentParser(provider, symbol);

                XDocument doc = null;

                try
                {
                    doc = XDocument.Parse(rawXml);
                }
                catch (XmlException)
                {
                    return;
                }

                comment.Parse(doc);
            }
Exemple #19
0
        public void GivenTwoElementsWithTwoAttributesEach_WhenParseDocument_ThenSchemaHasTwoElementsWithTwoAttributesEach()
        {
            // given
            var document = Resources.ResourceManager.GetString("XMLDocumentWithTwoElements");

            // when
            var parser = new XmlDocumentParser();
            var schema = parser.Parse(document);

            // then
            Assert.AreEqual(schema.Root.Children.Count, 2);
            var firstElement = schema.Root.Children[0];

            Assert.AreEqual(firstElement.Attributes.Count, 2);
            var secondElement = schema.Root.Children[1];

            Assert.AreEqual(secondElement.Attributes.Count, 2);
        }
Exemple #20
0
        public App()
        {
            MyElement elem = (MyElement)Document.GetElementById("foo");
            string    s    = elem.myString;

            elem.DoFoo();
            elem.DoBar(10);

            elem["Smith"] = elem["Joe"];

            int n = Math.Truncate(5.5);
            XmlDocumentParser parser = new XmlDocumentParser();
            XmlDocument       doc    = parser.ParseFromString("<markup></markup>", "text/xml");
            Date d = Date.Parse("1/1/2010");

            Action eventHandler = delegate() { };

            elem.Click += eventHandler;
            elem.Click -= eventHandler;
        }
        private void LoadXmlDocument()
        {
            try
            {
                string master = cabinet.MasterFile;

                FileReader doc = new FileReader();
                doc.OnLoadEnd = delegate(FileProgressEvent ee)
                {
                    string            data    = doc.Result as string;
                    XmlDocumentParser xParser = new XmlDocumentParser();
                    FromXml(xParser.ParseFromString(data, "text/xml"));
                    callMe();
                };
                doc.ReadAsText(cabinet.GetFileBlob(master));
            }
            catch (Exception ex)
            {
                WWTControl.scriptInterface.FireTourError(ex);
            }
        }
Exemple #22
0
        private void OnBeautifyByMeClick(object sender, EventArgs e)
        {
            var text = _currentFileStatus.Text;

            if (string.IsNullOrEmpty(text))
            {
                _warningShower.Show("I can't beautify emptiness");
                return;
            }

            // try
            // {
            var parser = new XmlDocumentParser();
            var schema = parser.Parse(text);

            _currentFileStatus.Text = parser.Stringify(schema);
            // }
            // catch (ParseException ex)
            // {
            //     _warningShower.Show($"Invalid xml document: {ex.Message}");
            // }
        }
        public void SingleResourceWithIgnoredAttribute_SingleResource()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
    <displayoptions>
        <displayoption file=""something.txt"">Mobile</displayoption>
    </displayoptions>
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resources = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resources);
            Assert.Single(resources);

            var firstResource = resources.First();

            Assert.Equal(@"/displayoptions/displayoption", firstResource.ResourceKey);
        }
        public void SameKeyWithDifferentAttributeValue_TwoSeparateResourcesWithXPathInKey()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
<languages>
  <language name=""English"" id=""en"">
    <displayoptions>
        <displayoption name=""mobile"">Mobile</displayoption>
        <displayoption name=""desktop"">Desktop</displayoption>
    </displayoptions>
  </language>
</languages>";

            var parser = new XmlDocumentParser();
            var doc    = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.True(resource.Count == 2);

            var firstResource = resource[0];

            Assert.Equal(@"/displayoptions/displayoption[@name=""mobile""]", firstResource.ResourceKey);
        }
        public void SameKeyWithDifferentAttributeValue_TwoSeparateResourcesWithXPathInKey()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
            <displayoptions>
            <displayoption name=""mobile"">Mobile</displayoption>
            <displayoption name=""desktop"">Desktop</displayoption>
            </displayoptions>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.True(resource.Count == 2);

            var firstResource = resource[0];
            Assert.Equal(@"/displayoptions/displayoption[@name='mobile']", firstResource.ResourceKey);
        }
        public XmlDocument GetXml()
        {
            XmlDocumentParser xParser = new XmlDocumentParser();

            return(xParser.ParseFromString(_data, "text/xml"));
        }
Exemple #27
0
 public static XmlDocument ParseXml(string xml)
 {
     return(XmlDocumentParser.Parse(xml));
 }
        public void OneResourceWithAttributeValueOnParent_CorrectResourceKey()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
            <displayoptions>
            <displayoption name=""mobile"">
            <name>Mobile</name>
            </displayoption>
            </displayoptions>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            var resource = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resource);
            Assert.Single(resource);

            var firstResource = resource[0];
            Assert.Equal(@"/displayoptions/displayoption[@name='mobile']/name", firstResource.ResourceKey);
        }
        public void SingleResourceWithIgnoredAttribute_SingleResource()
        {
            var xmlSample = @"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>
            <languages>
              <language name=""English"" id=""en"">
            <displayoptions>
            <displayoption file=""something.txt"">Mobile</displayoption>
            </displayoptions>
              </language>
            </languages>";

            var parser = new XmlDocumentParser();
            var doc = XDocument.Parse(xmlSample);

            var resources = parser.ReadXml(doc).ToList();

            Assert.NotEmpty(resources);
            Assert.Single(resources);

            var firstResource = resources.First();
            Assert.Equal(@"/displayoptions/displayoption", firstResource.ResourceKey);
        }
        static void Generate()
        {
            var selections = Selection.GetFiltered(typeof(TextAsset), SelectionMode.DeepAssets);

            if (selections == null || selections.Length <= 0)
            {
                return;
            }

            var    dir       = EditorPrefs.GetString(OUTPUT_DIR_KEY, DEFAULT_OUTPUT_DIR);
            var    className = EditorPrefs.GetString(CLASS_NAME_KEY, DEFAULT_CLASS_NAME);
            string location  = EditorUtility.SaveFilePanel("Generate Code", dir, className, "cs");

            if (string.IsNullOrEmpty(location))
            {
                return;
            }

            dir       = GetRelativeDirectory(location);
            className = GetClassName(location);

            EditorPrefs.SetString(OUTPUT_DIR_KEY, dir);
            EditorPrefs.SetString(CLASS_NAME_KEY, className);

            CodeGenerator               generator = new CodeGenerator();
            XmlDocumentParser           parser    = new XmlDocumentParser();
            Dictionary <string, object> data      = new Dictionary <string, object> ();

            foreach (var s in selections)
            {
                try {
                    string path = AssetDatabase.GetAssetPath(s);
                    if (!path.ToLower().EndsWith(EXTENSION))
                    {
                        continue;
                    }

                    var dict = parser.Parse(new MemoryStream((s as TextAsset).bytes));
                    foreach (KeyValuePair <string, object> kv in dict)
                    {
                        data [kv.Key] = kv.Value;
                    }
                } catch (Exception) {
                }
            }
            if (data.Count <= 0)
            {
                return;
            }

            var code = generator.Generate(className, data);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            File.WriteAllText(location, code);

            AssetDatabase.Refresh();
        }