Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / PrefixQName.cs / 1 / 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 // private static string ParseNCName(string qname, ref int position) { int qnameLength = qname.Length; int nameStart = position; XmlCharType xmlCharType = XmlCharType.Instance; if ( qnameLength == position || // Zero length ncname ! xmlCharType.IsStartNCNameChar(qname[position]) // Start from invalid char ) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } position ++; while (position < qnameLength && xmlCharType.IsNCNameChar(qname[position])) { position ++; } return qname.Substring(nameStart, position - nameStart); } public static void ParseQualifiedName(string qname, out string prefix, out string local) { Debug.Assert(qname != null); prefix = string.Empty; local = string.Empty; int position = 0; local = ParseNCName(qname, ref position); if (position < qname.Length) { if (qname[position] == ':') { position ++; prefix = local; local = ParseNCName(qname, ref position); } if (position < qname.Length) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } } } public static bool ValidatePrefix(string prefix) { if (prefix.Length == 0) { return false; } XmlCharType xmlCharType = XmlCharType.Instance; if (! xmlCharType.IsStartNCNameChar(prefix[0])) { return false; } for (int i = 1; i < prefix.Length; i ++) { if (! xmlCharType.IsNCNameChar(prefix[i])) { return false; } } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// 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 // private static string ParseNCName(string qname, ref int position) { int qnameLength = qname.Length; int nameStart = position; XmlCharType xmlCharType = XmlCharType.Instance; if ( qnameLength == position || // Zero length ncname ! xmlCharType.IsStartNCNameChar(qname[position]) // Start from invalid char ) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } position ++; while (position < qnameLength && xmlCharType.IsNCNameChar(qname[position])) { position ++; } return qname.Substring(nameStart, position - nameStart); } public static void ParseQualifiedName(string qname, out string prefix, out string local) { Debug.Assert(qname != null); prefix = string.Empty; local = string.Empty; int position = 0; local = ParseNCName(qname, ref position); if (position < qname.Length) { if (qname[position] == ':') { position ++; prefix = local; local = ParseNCName(qname, ref position); } if (position < qname.Length) { throw XsltException.Create(Res.Xslt_InvalidQName, qname); } } } public static bool ValidatePrefix(string prefix) { if (prefix.Length == 0) { return false; } XmlCharType xmlCharType = XmlCharType.Instance; if (! xmlCharType.IsStartNCNameChar(prefix[0])) { return false; } for (int i = 1; i < prefix.Length; i ++) { if (! xmlCharType.IsNCNameChar(prefix[i])) { return false; } } return true; } } } // 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
- BinaryUtilClasses.cs
- TracedNativeMethods.cs
- NativeCppClassAttribute.cs
- TypedTableBase.cs
- Vector3DCollection.cs
- Rect3DConverter.cs
- SizeF.cs
- JoinSymbol.cs
- Char.cs
- SqlReferenceCollection.cs
- StrokeNodeData.cs
- ResourceReferenceKeyNotFoundException.cs
- KnownTypesHelper.cs
- CqlBlock.cs
- BaseDataBoundControl.cs
- CodeConditionStatement.cs
- PropertyChangedEventManager.cs
- ObjectDataSource.cs
- CompiledAction.cs
- XmlNodeReader.cs
- EventProviderWriter.cs
- PrinterUnitConvert.cs
- CssStyleCollection.cs
- XmlDictionaryReaderQuotas.cs
- assertwrapper.cs
- RijndaelManaged.cs
- InvalidCommandTreeException.cs
- ValidationManager.cs
- StackSpiller.Bindings.cs
- ProcessHostMapPath.cs
- Point3DCollection.cs
- BlobPersonalizationState.cs
- RangeValidator.cs
- DynamicArgumentDialog.cs
- CompensatableSequenceActivity.cs
- ZipIOBlockManager.cs
- EventHandlerService.cs
- GeometryDrawing.cs
- SoapClientProtocol.cs
- MessagingDescriptionAttribute.cs
- SimpleFieldTemplateUserControl.cs
- HostDesigntimeLicenseContext.cs
- MatrixCamera.cs
- CodeTypeParameterCollection.cs
- RadioButtonList.cs
- DisplayNameAttribute.cs
- InvalidCastException.cs
- SerializationObjectManager.cs
- PeekCompletedEventArgs.cs
- EncryptedKey.cs
- Stylesheet.cs
- UncommonField.cs
- Variant.cs
- EdmSchemaAttribute.cs
- formatter.cs
- HtmlGenericControl.cs
- PropertyEmitter.cs
- TemplateBindingExtension.cs
- Vector3D.cs
- OdbcUtils.cs
- WebPartDisplayModeCancelEventArgs.cs
- mediaeventshelper.cs
- AutomationPattern.cs
- SerialReceived.cs
- BasicBrowserDialog.cs
- ItemAutomationPeer.cs
- DataGridViewImageColumn.cs
- OdbcStatementHandle.cs
- StateDesigner.CommentLayoutGlyph.cs
- SynchronizedDispatch.cs
- WebPartZoneDesigner.cs
- HostingPreferredMapPath.cs
- Timer.cs
- WebZone.cs
- XappLauncher.cs
- GlyphShapingProperties.cs
- InkPresenter.cs
- XamlInt32CollectionSerializer.cs
- PointIndependentAnimationStorage.cs
- SqlProfileProvider.cs
- EndSelectCardRequest.cs
- Formatter.cs
- Collection.cs
- Scheduler.cs
- FixedTextContainer.cs
- XPathConvert.cs
- SchemaElement.cs
- SimpleApplicationHost.cs
- RenderOptions.cs
- WinFormsComponentEditor.cs
- EnumConverter.cs
- CodeSubDirectory.cs
- TableChangeProcessor.cs
- SplashScreen.cs
- Event.cs
- Ref.cs
- XmlElement.cs
- TransformGroup.cs
- QuotaThrottle.cs
- StrokeNode.cs