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
- FixedSOMElement.cs
- TextBoxRenderer.cs
- LongAverageAggregationOperator.cs
- FormClosingEvent.cs
- BamlResourceContent.cs
- ConnectionPoolRegistry.cs
- TransformConverter.cs
- RangeExpression.cs
- InvokePattern.cs
- NonVisualControlAttribute.cs
- UnauthorizedWebPart.cs
- sqlnorm.cs
- ListSortDescriptionCollection.cs
- HttpConfigurationContext.cs
- SessionIDManager.cs
- _CacheStreams.cs
- AuthenticatedStream.cs
- BooleanAnimationUsingKeyFrames.cs
- FixedFlowMap.cs
- sqlpipe.cs
- MimeWriter.cs
- TabItemWrapperAutomationPeer.cs
- RuntimeWrappedException.cs
- InputMethodStateChangeEventArgs.cs
- OdbcHandle.cs
- StandardBindingReliableSessionElement.cs
- TemplateParser.cs
- CryptographicAttribute.cs
- BindingContext.cs
- GlyphShapingProperties.cs
- CryptoKeySecurity.cs
- SQLMoney.cs
- XmlCodeExporter.cs
- WebHeaderCollection.cs
- TextClipboardData.cs
- TdsEnums.cs
- IgnoreFileBuildProvider.cs
- Vector3DConverter.cs
- ExpressionTable.cs
- Matrix3DConverter.cs
- GenericIdentity.cs
- FastEncoderStatics.cs
- ContentDesigner.cs
- NameValueFileSectionHandler.cs
- NetworkInformationPermission.cs
- ValueConversionAttribute.cs
- CodeVariableDeclarationStatement.cs
- WebConfigurationFileMap.cs
- CodeTypeReference.cs
- VirtualPathProvider.cs
- ToolStripSettings.cs
- CodeSubDirectory.cs
- input.cs
- ScriptServiceAttribute.cs
- DependencyPropertyChangedEventArgs.cs
- PrintPageEvent.cs
- IndexedEnumerable.cs
- XPathDescendantIterator.cs
- ApplicationCommands.cs
- ComponentDispatcherThread.cs
- ExpressionBuilder.cs
- MobileUserControl.cs
- MessageHeaderDescription.cs
- CertificateManager.cs
- DataBindingExpressionBuilder.cs
- Double.cs
- ProtectedProviderSettings.cs
- ObjectQuery.cs
- UnsafeNativeMethods.cs
- InstanceKeyCompleteException.cs
- BindingWorker.cs
- ExtensionSimplifierMarkupObject.cs
- DateTimeConstantAttribute.cs
- ManagementExtension.cs
- DataListCommandEventArgs.cs
- ContainerControl.cs
- ContainsRowNumberChecker.cs
- ChangeNode.cs
- PanelContainerDesigner.cs
- ExecutionContext.cs
- Action.cs
- TextProviderWrapper.cs
- DecimalConstantAttribute.cs
- TypeUtil.cs
- SpellerStatusTable.cs
- TextElementEnumerator.cs
- SamlConditions.cs
- _AutoWebProxyScriptEngine.cs
- WebRequestModuleElementCollection.cs
- _IPv4Address.cs
- DateTimeFormatInfoScanner.cs
- OdbcError.cs
- Utility.cs
- WsdlWriter.cs
- WebBrowserContainer.cs
- WindowsGraphics.cs
- EDesignUtil.cs
- SymbolEqualComparer.cs
- PageCodeDomTreeGenerator.cs
- TextElementEnumerator.cs