Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / XmlUtil.cs / 1 / XmlUtil.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Xml; using System.Diagnostics; static class XmlUtil { public const string XmlNs = "http://www.w3.org/XML/1998/namespace"; public const string XmlNsNs = "http://www.w3.org/2000/xmlns/"; public static string GetXmlLangAttribute(XmlReader reader) { string xmlLang = null; if (reader.MoveToAttribute("lang", XmlNs)) { xmlLang = reader.Value; reader.MoveToElement(); } if (xmlLang == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.XmlLangAttributeMissing))); return xmlLang; } // FIX for 7455 public static bool IsTrue(string booleanValue) { if (string.IsNullOrEmpty(booleanValue)) { return false; } return XmlConvert.ToBoolean(booleanValue); } public static void ReadContentAsQName(XmlReader reader, out string localName, out string ns) { ParseQName(reader, reader.ReadContentAsString(), out localName, out ns); } public static bool IsWhitespace(char ch) { return (ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n'); } public static string TrimEnd(string s) { int i; for (i = s.Length; i > 0 && IsWhitespace(s[i - 1]); i--) ; if (i != s.Length) { return s.Substring(0, i); } return s; } public static string TrimStart(string s) { int i; for (i = 0; i < s.Length && IsWhitespace(s[i]); i++) ; if (i != 0) { return s.Substring(i); } return s; } public static string Trim(string s) { int i; for (i = 0; i < s.Length && IsWhitespace(s[i]); i++); if (i >= s.Length) { return string.Empty; } int j; for (j = s.Length; j > 0 && IsWhitespace(s[j - 1]); j--); DiagnosticUtility.DebugAssert(j > i, "Logic error in XmlUtil.Trim()."); if (i != 0 || j != s.Length) { return s.Substring(i, j - i); } return s; } public static void ParseQName(XmlReader reader, string qname, out string localName, out string ns) { int index = qname.IndexOf(':'); string prefix; if (index < 0) { prefix = ""; localName = TrimStart(TrimEnd(qname)); } else { if (index == qname.Length - 1) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.InvalidXmlQualifiedName, qname))); prefix = TrimStart(qname.Substring(0, index)); localName = TrimEnd(qname.Substring(index + 1)); } ns = reader.LookupNamespace(prefix); if (ns == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.UnboundPrefixInQName, qname))); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CollectionViewSource.cs
- CodeTypeDelegate.cs
- RecognitionEventArgs.cs
- NameSpaceExtractor.cs
- ToolStripDropTargetManager.cs
- CultureInfo.cs
- WindowsServiceCredential.cs
- CheckBoxList.cs
- GlyphCollection.cs
- ActivityTypeResolver.xaml.cs
- NetStream.cs
- XmlSchemaAll.cs
- XmlCollation.cs
- GetRecipientRequest.cs
- AlternateView.cs
- SafeTokenHandle.cs
- MessageFault.cs
- ColorBlend.cs
- DBSqlParserTableCollection.cs
- InputReport.cs
- InputMethodStateChangeEventArgs.cs
- XNodeNavigator.cs
- LeaseManager.cs
- CacheSection.cs
- MenuItemStyle.cs
- UnicastIPAddressInformationCollection.cs
- ChannelDispatcherBase.cs
- EndPoint.cs
- NameHandler.cs
- SessionIDManager.cs
- DocumentViewerAutomationPeer.cs
- ObjectDataSourceChooseMethodsPanel.cs
- IdentityNotMappedException.cs
- MinimizableAttributeTypeConverter.cs
- HelpInfo.cs
- WebBrowserProgressChangedEventHandler.cs
- SecurityElement.cs
- EndpointInstanceProvider.cs
- Size.cs
- ListDictionary.cs
- ExtensionSimplifierMarkupObject.cs
- InternalConfigHost.cs
- WebServiceErrorEvent.cs
- ComboBoxItem.cs
- DataServiceConfiguration.cs
- EventSinkActivity.cs
- Subtree.cs
- DurableInstance.cs
- DetailsViewPageEventArgs.cs
- StaticDataManager.cs
- Profiler.cs
- RectValueSerializer.cs
- DataTablePropertyDescriptor.cs
- PartialCachingAttribute.cs
- BmpBitmapDecoder.cs
- TextSelectionProcessor.cs
- CrossSiteScriptingValidation.cs
- WsrmFault.cs
- RedirectionProxy.cs
- Models.cs
- Visual3D.cs
- TabControlAutomationPeer.cs
- InstanceKeyView.cs
- SQLUtility.cs
- xmlfixedPageInfo.cs
- WindowPatternIdentifiers.cs
- TextServicesDisplayAttributePropertyRanges.cs
- HttpCachePolicy.cs
- MimeTypePropertyAttribute.cs
- ResetableIterator.cs
- PolygonHotSpot.cs
- UriTemplateTableMatchCandidate.cs
- CompositionDesigner.cs
- BasicHttpMessageCredentialType.cs
- XmlTextReaderImplHelpers.cs
- ScaleTransform3D.cs
- SharedDp.cs
- ServicesUtilities.cs
- UrlMappingCollection.cs
- MobileListItem.cs
- OutputScopeManager.cs
- StringPropertyBuilder.cs
- DrawingVisual.cs
- DrawItemEvent.cs
- SqlBulkCopy.cs
- PointAnimationUsingPath.cs
- RoleManagerModule.cs
- CodeTypeDeclaration.cs
- GradientBrush.cs
- Size3DConverter.cs
- FolderLevelBuildProviderCollection.cs
- StyleXamlTreeBuilder.cs
- Event.cs
- DateTimeUtil.cs
- DesignerWithHeader.cs
- SecondaryIndexList.cs
- InstanceCompleteException.cs
- DataFormats.cs
- Brush.cs
- TextServicesCompartment.cs