From c4f17779cbe4af80334b76c28a7014a220190a4a Mon Sep 17 00:00:00 2001 From: Todd Berman Date: Tue, 30 Sep 2003 22:25:13 +0000 Subject: [PATCH] 2003-09-30 Todd Berman * Microsoft.Web.Services.Addressing/AttributedUriString.cs: implemented svn path=/trunk/mcs/; revision=18451 --- mcs/class/Microsoft.Web.Services/ChangeLog | 4 ++ .../AttributedUriString.cs | 40 ++++++++++++++++--- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/mcs/class/Microsoft.Web.Services/ChangeLog b/mcs/class/Microsoft.Web.Services/ChangeLog index 73840176ef2..ac4feaf8353 100644 --- a/mcs/class/Microsoft.Web.Services/ChangeLog +++ b/mcs/class/Microsoft.Web.Services/ChangeLog @@ -1,3 +1,7 @@ +2003-09-30 Todd Berman + + * Microsoft.Web.Services.Addressing/AttributedUriString.cs: implemented + 2003-09-30 Todd Berman * Ok, this was the beforementioned (on -devel) WSE Makefile edit. diff --git a/mcs/class/Microsoft.Web.Services/Microsoft.Web.Services.Addressing/AttributedUriString.cs b/mcs/class/Microsoft.Web.Services/Microsoft.Web.Services.Addressing/AttributedUriString.cs index d539480d4b6..ee831ec6627 100644 --- a/mcs/class/Microsoft.Web.Services/Microsoft.Web.Services.Addressing/AttributedUriString.cs +++ b/mcs/class/Microsoft.Web.Services/Microsoft.Web.Services.Addressing/AttributedUriString.cs @@ -6,6 +6,7 @@ // (C) 2003 Todd Berman using System; +using System.Xml; using Microsoft.Web.Services.Xml; namespace Microsoft.Web.Services.Addressing @@ -16,16 +17,45 @@ namespace Microsoft.Web.Services.Addressing private string _uri; - [MonoTODO] - public AttributedUriString () + public AttributedUriString () : base () { - throw new NotImplementedException (); } - [MonoTODO] public AttributedUriString (string uri) { - throw new NotImplementedException (); + if(uri == null) { + throw new ArgumentNullException ("uri"); + } + _uri = uri; + } + + public void GetXmlUri (XmlDocument document, XmlElement element) + { + if(element == null) { + throw new ArgumentNullException ("element"); + } + element.InnerText = _uri; + GetXmlAny (document, element); + } + + public void LoadXmlUri (XmlElement element) + { + if(element == null) { + throw new ArgumentNullException ("element"); + } + ValidateSchema (element); + LoadXmlAny (element); + _uri = element.InnerText; + } + + public void ValidateSchema (XmlElement element) + { + if(element.ChildNodes.Count >= 2) { + throw new AddressingFormatException ("wsa_InvalidAttributeUri"); + } + if(element.ChildNodes.Count == 1 && !(element.FirstChild is XmlText)) { + throw new AddressingFormatException ("wsa_InvalidAttributeUri"); + } } public string Value { -- 2.25.1