~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XDom.cs

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
ImportĀ upstreamĀ versionĀ 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
149
149
        {
150
150
                string prefix;
151
151
                string name;
152
 
                
 
152
 
153
153
                public XName (string prefix, string name)
154
154
                {
155
155
                        this.prefix = prefix;
203
203
                        return hash;
204
204
                }
205
205
                
206
 
                public XName ToLower ()
207
 
                {
208
 
                        string lowerName = name == null? null : name.ToLower ();
209
 
                        return prefix == null
210
 
                                ? new XName (lowerName)
211
 
                                : new XName (prefix.ToLower (), lowerName);
212
 
                }
213
 
                
214
 
                public XName ToUpper ()
215
 
                {
216
 
                        string upperName = name == null? null : name.ToUpper ();
217
 
                        return prefix == null
218
 
                                ? new XName (upperName)
219
 
                                : new XName (prefix.ToUpper (), upperName);
220
 
                }
221
 
                
222
206
                #endregion
 
207
 
 
208
                public static bool Equals (XName a, XName b, bool ignoreCase)
 
209
                {
 
210
                        StringComparison comp = ignoreCase? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal;
 
211
                        return string.Equals (a.prefix, b.prefix, comp) && string.Equals (a.name, b.name, comp);
 
212
                }
223
213
        }
224
214
        
225
215
        public abstract class XContainer : XNode
501
491
                                return null;
502
492
                        }
503
493
                }
 
494
 
 
495
                public XAttribute Get (XName name, bool ignoreCase)
 
496
                {
 
497
                        XAttribute current = firstChild;
 
498
                        while (current != null) {
 
499
                                if (XName.Equals (current.Name, name, ignoreCase))
 
500
                                        return current;
 
501
                                current = current.NextSibling;
 
502
                        }
 
503
                        return null;
 
504
                }
 
505
 
 
506
                public string GetValue (XName name, bool ignoreCase)
 
507
                {
 
508
                        var att = Get (name, ignoreCase);
 
509
                        return att != null? att.Value : null;
 
510
                }
504
511
                
505
512
                public void AddAttribute (XAttribute newChild)
506
513
                {