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
- PngBitmapDecoder.cs
- FlowDocument.cs
- DomainConstraint.cs
- SemanticValue.cs
- DialogDivider.cs
- ClientSettingsStore.cs
- ObjectDisposedException.cs
- FrameworkObject.cs
- SQlBooleanStorage.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ItemAutomationPeer.cs
- DataGridViewRowHeaderCell.cs
- TheQuery.cs
- ZipIOCentralDirectoryBlock.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SinglePhaseEnlistment.cs
- ApplySecurityAndSendAsyncResult.cs
- CompilerErrorCollection.cs
- DataSourceConverter.cs
- DefaultValueAttribute.cs
- OutputChannelBinder.cs
- Content.cs
- SqlDataReader.cs
- Filter.cs
- CaseInsensitiveHashCodeProvider.cs
- FormClosingEvent.cs
- DataColumnSelectionConverter.cs
- ThreadAbortException.cs
- Enum.cs
- HttpListenerException.cs
- EntityDataSourceView.cs
- ListViewHitTestInfo.cs
- FormViewPageEventArgs.cs
- KeyGestureConverter.cs
- TreeViewHitTestInfo.cs
- NotFiniteNumberException.cs
- RenamedEventArgs.cs
- NegationPusher.cs
- TaskHelper.cs
- TextDecoration.cs
- EntityStoreSchemaFilterEntry.cs
- ConnectionInterfaceCollection.cs
- Effect.cs
- RowCache.cs
- WebControl.cs
- ApplicationBuildProvider.cs
- DataGridPageChangedEventArgs.cs
- ApplicationSecurityManager.cs
- CompressedStack.cs
- ImageSource.cs
- MemberJoinTreeNode.cs
- DrawTreeNodeEventArgs.cs
- DataControlField.cs
- TaskHelper.cs
- TranslateTransform3D.cs
- DataGridViewRowHeaderCell.cs
- PolyQuadraticBezierSegment.cs
- ListViewUpdatedEventArgs.cs
- Point3D.cs
- CodeCatchClause.cs
- DataGridViewRowStateChangedEventArgs.cs
- ErasingStroke.cs
- Pen.cs
- Shape.cs
- ViewGenerator.cs
- ProcessThread.cs
- SHA256Managed.cs
- MailHeaderInfo.cs
- CollectionBase.cs
- RadioButtonList.cs
- PermissionToken.cs
- FilePrompt.cs
- TreeViewImageIndexConverter.cs
- LayoutTableCell.cs
- FixedTextView.cs
- xmlfixedPageInfo.cs
- WebPart.cs
- FontDifferentiator.cs
- CollectionChangedEventManager.cs
- MobileErrorInfo.cs
- AppDomainManager.cs
- RawKeyboardInputReport.cs
- ExpanderAutomationPeer.cs
- UserControlAutomationPeer.cs
- OdbcConnectionPoolProviderInfo.cs
- FragmentQueryProcessor.cs
- HuffModule.cs
- XmlConvert.cs
- ControlValuePropertyAttribute.cs
- TabletCollection.cs
- RSAOAEPKeyExchangeDeformatter.cs
- OrderingExpression.cs
- UniqueEventHelper.cs
- WebSysDisplayNameAttribute.cs
- XPathException.cs
- _UriSyntax.cs
- WsdlInspector.cs
- DataDocumentXPathNavigator.cs
- XmlException.cs
- DataGridViewComboBoxEditingControl.cs