Exemple #1
0
        private static string GetDefaultParagraphStyleName(XDocument stylesXDoc)
        {
            XElement defaultParagraphStyle;
            string?  defaultParagraphStyleName = null;

            var stylesInfo = stylesXDoc.Annotation <StylesInfo>();

            if (stylesInfo != null)
            {
                defaultParagraphStyleName = stylesInfo.DefaultParagraphStyleName;
            }
            else
            {
                defaultParagraphStyle = stylesXDoc
                                        .Root
                                        .Elements(W.style)
                                        .FirstOrDefault(s =>
                {
                    if ((string)s.Attribute(W.type) != "paragraph")
                    {
                        return(false);
                    }

                    var defaultAttribute = s.Attribute(W._default);

                    if (defaultAttribute != null && s.Attribute(W._default).ToBoolean().HasValue)
                    {
                        return(s.Attribute(W._default)?.ToBoolean() ?? false);
                    }

                    return(false);
                });
                defaultParagraphStyleName = null;
                if (defaultParagraphStyle != null)
                {
                    defaultParagraphStyleName = (string)defaultParagraphStyle.Attribute(W.styleId);
                }

                stylesInfo = new StylesInfo()
                {
                    DefaultParagraphStyleName = defaultParagraphStyleName,
                };
                stylesXDoc.AddAnnotation(stylesInfo);
            }
            return(defaultParagraphStyleName);
        }
        private static string GetDefaultParagraphStyleName(XDocument stylesXDoc)
        {
            XElement defaultParagraphStyle;
            string defaultParagraphStyleName = null;

            StylesInfo stylesInfo = stylesXDoc.Annotation<StylesInfo>();

            if (stylesInfo != null)
                defaultParagraphStyleName = stylesInfo.DefaultParagraphStyleName;
            else
            {
                defaultParagraphStyle = stylesXDoc
                    .Root
                    .Elements(W.style)
                    .FirstOrDefault(s =>
                    {
                        if ((string)s.Attribute(W.type) != "paragraph")
                            return false;
                        var defaultAttribute = s.Attribute(W._default);
                        var isDefault = false;
                        if (defaultAttribute != null &&
                            (bool)s.Attribute(W._default).ToBoolean())
                            isDefault = true;
                        return isDefault;
                    });
                defaultParagraphStyleName = null;
                if (defaultParagraphStyle != null)
                    defaultParagraphStyleName = (string)defaultParagraphStyle.Attribute(W.styleId);
                stylesInfo = new StylesInfo()
                {
                    DefaultParagraphStyleName = defaultParagraphStyleName,
                };
                stylesXDoc.AddAnnotation(stylesInfo);
            }
            return defaultParagraphStyleName;
        }