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
- ThaiBuddhistCalendar.cs
- QueryExpression.cs
- BoundColumn.cs
- StateMachineSubscriptionManager.cs
- MarkupExtensionSerializer.cs
- MonikerProxyAttribute.cs
- ToolZone.cs
- IndexedString.cs
- BaseDataListPage.cs
- Expr.cs
- DeferredSelectedIndexReference.cs
- CheckBoxAutomationPeer.cs
- MarkupWriter.cs
- ImageListStreamer.cs
- UnsafePeerToPeerMethods.cs
- UrlMappingCollection.cs
- FileAuthorizationModule.cs
- StyleCollection.cs
- StrokeCollectionConverter.cs
- DataTableReader.cs
- SHA1.cs
- ModifierKeysValueSerializer.cs
- RoutedCommand.cs
- Control.cs
- Script.cs
- PeerCollaborationPermission.cs
- FixedLineResult.cs
- NumericUpDownAcceleration.cs
- Internal.cs
- DisplayInformation.cs
- ParagraphResult.cs
- ByteStorage.cs
- ManualResetEvent.cs
- DockPatternIdentifiers.cs
- ColorConverter.cs
- DataKeyCollection.cs
- DataGridComboBoxColumn.cs
- ReaderWriterLockWrapper.cs
- FamilyMapCollection.cs
- GroupBox.cs
- ChtmlPhoneCallAdapter.cs
- COM2AboutBoxPropertyDescriptor.cs
- MergeLocalizationDirectives.cs
- Point4D.cs
- MenuItemCollection.cs
- IndexingContentUnit.cs
- TimeoutException.cs
- TheQuery.cs
- baseaxisquery.cs
- ImageCodecInfo.cs
- FieldNameLookup.cs
- TextDecorationCollection.cs
- SqlError.cs
- WindowsMenu.cs
- CompensationParticipant.cs
- Symbol.cs
- GridViewCommandEventArgs.cs
- ConfigurationValidatorBase.cs
- ProfileEventArgs.cs
- _SslStream.cs
- Wildcard.cs
- TracedNativeMethods.cs
- Model3DCollection.cs
- GeometryConverter.cs
- WebControlsSection.cs
- DataControlLinkButton.cs
- SoapFault.cs
- GreenMethods.cs
- ChildDocumentBlock.cs
- EventMap.cs
- ExeContext.cs
- BooleanSwitch.cs
- XmlResolver.cs
- LassoSelectionBehavior.cs
- COM2ExtendedUITypeEditor.cs
- CryptoConfig.cs
- WebConfigurationHost.cs
- util.cs
- HotSpotCollection.cs
- FamilyMap.cs
- ToolStripActionList.cs
- ParallelLoopState.cs
- AppDomain.cs
- Formatter.cs
- SqlDataSourceConfigureSortForm.cs
- EpmTargetTree.cs
- ReachSerializationUtils.cs
- EmptyEnumerator.cs
- DataGridViewCheckBoxColumn.cs
- GridToolTip.cs
- CookieHandler.cs
- Transform3DCollection.cs
- CompositeDesignerAccessibleObject.cs
- TypedTableBaseExtensions.cs
- UiaCoreProviderApi.cs
- CodeAttributeDeclarationCollection.cs
- BinaryCommonClasses.cs
- BackStopAuthenticationModule.cs
- TypeConstant.cs
- HttpEncoder.cs