Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / PrefixQName.cs / 1305376 / PrefixQName.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Xsl.XsltOld { using Res = System.Xml.Utils.Res; using System; using System.Diagnostics; using System.Xml; internal sealed class PrefixQName { public string Prefix; public string Name; public string Namespace; internal void ClearPrefix() { Prefix = string.Empty; } internal void SetQName(string qname) { PrefixQName.ParseQualifiedName(qname, out Prefix, out Name); } // // Parsing qualified names // public static void ParseQualifiedName(string qname, out string prefix, out string local) { Debug.Assert(qname != null); prefix = string.Empty; local = string.Empty; // parse first NCName (prefix or local name) int position = ValidateNames.ParseNCName(qname); if (position == 0) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } local = qname.Substring(0, position); // not at the end -> parse ':' and the second NCName (local name) if (position < qname.Length) { if (qname[position] == ':') { int startLocalNamePos = ++position; prefix = local; int len = ValidateNames.ParseNCName(qname, position); position += len; if (len == 0) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } local = qname.Substring(startLocalNamePos, len); } // still not at the end -> error if (position < qname.Length) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } } } public static bool ValidatePrefix(string prefix) { if (prefix.Length == 0) { return false; } int endPos = ValidateNames.ParseNCName(prefix, 0); return endPos == prefix.Length; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProcessModelInfo.cs
- Utilities.cs
- ReliableOutputConnection.cs
- Transform.cs
- SQLRoleProvider.cs
- NodeFunctions.cs
- TextTrailingCharacterEllipsis.cs
- ThemeDictionaryExtension.cs
- OpenTypeCommon.cs
- HtmlTableCellCollection.cs
- SystemFonts.cs
- BitmapPalettes.cs
- UnsafeNativeMethodsTablet.cs
- XmlSchemaChoice.cs
- PanelStyle.cs
- ToolStripItemGlyph.cs
- RawUIStateInputReport.cs
- ClonableStack.cs
- RIPEMD160Managed.cs
- FixedSOMTable.cs
- SafeLocalMemHandle.cs
- MenuAutomationPeer.cs
- Automation.cs
- MessageHeaderException.cs
- WebPartHeaderCloseVerb.cs
- BindValidationContext.cs
- InvalidProgramException.cs
- XmlNodeChangedEventArgs.cs
- ColorContextHelper.cs
- PolicyLevel.cs
- ValidatedControlConverter.cs
- SqlServices.cs
- Simplifier.cs
- XmlNullResolver.cs
- StretchValidation.cs
- HttpRequestCacheValidator.cs
- HandlerBase.cs
- FilterQuery.cs
- DataGridViewRowCancelEventArgs.cs
- MissingSatelliteAssemblyException.cs
- ObjectDataSourceFilteringEventArgs.cs
- CheckedListBox.cs
- MergablePropertyAttribute.cs
- OracleNumber.cs
- XmlSchemaSearchPattern.cs
- Literal.cs
- MulticastIPAddressInformationCollection.cs
- ParameterCollectionEditorForm.cs
- LineVisual.cs
- UxThemeWrapper.cs
- CodeTypeDeclarationCollection.cs
- ObjectSet.cs
- Constant.cs
- RSAPKCS1SignatureFormatter.cs
- ProviderMetadata.cs
- GorillaCodec.cs
- connectionpool.cs
- AuthStoreRoleProvider.cs
- ConditionCollection.cs
- MimeMapping.cs
- EmptyElement.cs
- documentsequencetextpointer.cs
- StrongNamePublicKeyBlob.cs
- PointIndependentAnimationStorage.cs
- DurationConverter.cs
- Compensation.cs
- TabRenderer.cs
- StatusBarItem.cs
- isolationinterop.cs
- ObjectListGeneralPage.cs
- AnnotationDocumentPaginator.cs
- ExpressionBuilder.cs
- XmlQueryTypeFactory.cs
- shaperfactoryquerycachekey.cs
- InteropExecutor.cs
- LockCookie.cs
- HandlerFactoryCache.cs
- GridViewRowPresenter.cs
- PropertyDescriptorGridEntry.cs
- UpdateTranslator.cs
- ConfigurationPropertyAttribute.cs
- UnsafeNativeMethods.cs
- NotifyCollectionChangedEventArgs.cs
- WebControlsSection.cs
- InternalResources.cs
- MetroSerializationManager.cs
- Validator.cs
- ApplicationProxyInternal.cs
- DecimalAnimation.cs
- ObjectRef.cs
- UrlPath.cs
- WebBrowser.cs
- IItemContainerGenerator.cs
- PropertyManager.cs
- ConfigurationElementProperty.cs
- Queue.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SoapReflector.cs
- BindUriHelper.cs
- Margins.cs