private void ReadParagraph(Chapter chapter, XmlNode node) { Verse verse = null; bool isNewParagraph = true; foreach (XmlNode child in node.ChildNodes) switch (child.Name) { case "v": verse = new Verse(chapter) { Number = GetAttributeInt(child, "id"), IsParagraphStart = isNewParagraph, }; chapter.Verses.Add(verse); isNewParagraph = false; break; case "w": verse.Words.Add(ReadWord(verse, child)); break; case "add": verse.Words.Add(ReadWord(verse, child, true)); break; case "#text": if (verse != null) { verse.Words.Add(ReadWord(verse, child)); } break; case "ve": // Do nothing... Verse End marker break; } }
public VerseMarkerView(Verse verse) : this() { uxTbVerseMarker.Text = string.Format("{0}:{1}", verse.Chapter.Number, verse.Number); if (verse.IsParagraphStart) { uxTbVerseMarker.FontWeight = FontWeights.Bold; uxTbVerseMarker.Background = Brushes.LightSeaGreen; } else { uxTbVerseMarker.Background = Brushes.LightBlue; } }
private Word ReadWord(Verse verse, XmlNode node, bool isAddedByTranslators = false) { Word word = new Word(verse) { Text = node.InnerText.Replace('\n', ' ').Trim(), // Verses with 'LORD' have this - e.g. Gen 2:4 IsAddedByTranslators = isAddedByTranslators, IsPunctuation = node.Name == "#text" && !char.IsLetterOrDigit(node.InnerText.Trim()[0]), }; string strongsNumbers = GetAttribute(node, "s"); if (strongsNumbers != null) word.StrongsNumbers = strongsNumbers.Split(' '); return word; }
public Word(Verse verse) { Verse = verse; }