Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ProviderException.cs
- HitTestWithGeometryDrawingContextWalker.cs
- FileNotFoundException.cs
- ClientScriptItemCollection.cs
- IsolatedStorageFile.cs
- SqlBuffer.cs
- UpdatePanelTrigger.cs
- AttachInfo.cs
- WebBodyFormatMessageProperty.cs
- IndentTextWriter.cs
- XmlDesigner.cs
- TypeProvider.cs
- CommandValueSerializer.cs
- XPathAncestorIterator.cs
- parserscommon.cs
- IdnMapping.cs
- Logging.cs
- ColorMatrix.cs
- EventDescriptorCollection.cs
- InternalDispatchObject.cs
- SelectorAutomationPeer.cs
- Splitter.cs
- CodeRegionDirective.cs
- ListItem.cs
- IOException.cs
- TabRenderer.cs
- Win32Exception.cs
- OutputCacheSection.cs
- HttpProcessUtility.cs
- ExitEventArgs.cs
- __TransparentProxy.cs
- Clipboard.cs
- StaticExtension.cs
- Parsers.cs
- PriorityQueue.cs
- PassportPrincipal.cs
- HtmlInputReset.cs
- ArraySortHelper.cs
- XXXOnTypeBuilderInstantiation.cs
- Separator.cs
- ToolStripItemCollection.cs
- HelpEvent.cs
- LocationSectionRecord.cs
- TypeDescriptionProvider.cs
- StorageSetMapping.cs
- MultipleViewPattern.cs
- BitConverter.cs
- DataGridCellsPanel.cs
- TypeLibraryHelper.cs
- RuleInfoComparer.cs
- SimpleExpression.cs
- PrivilegeNotHeldException.cs
- PasswordRecovery.cs
- StyleSheetDesigner.cs
- SqlDataSourceSummaryPanel.cs
- TextSerializer.cs
- Rotation3DAnimationBase.cs
- OpenTypeLayout.cs
- GenericPrincipal.cs
- PipeSecurity.cs
- HttpsChannelListener.cs
- MailDefinition.cs
- WebPartConnectVerb.cs
- BuildProviderAppliesToAttribute.cs
- WpfKnownMemberInvoker.cs
- GradientStopCollection.cs
- ColorInterpolationModeValidation.cs
- TransactionFlowBindingElement.cs
- Ref.cs
- Positioning.cs
- MDIClient.cs
- DataTableReader.cs
- XmlDictionaryString.cs
- MappingModelBuildProvider.cs
- CharUnicodeInfo.cs
- Transform3DGroup.cs
- DSASignatureDeformatter.cs
- BitmapScalingModeValidation.cs
- AnnotationService.cs
- ExtenderControl.cs
- AdornerLayer.cs
- ContextInformation.cs
- WindowsFormsSynchronizationContext.cs
- QuerySafeNavigator.cs
- coordinatorfactory.cs
- CodeObjectCreateExpression.cs
- MDIWindowDialog.cs
- InstanceLockException.cs
- OnOperation.cs
- RectangleGeometry.cs
- UnaryNode.cs
- ColumnHeaderConverter.cs
- HtmlEmptyTagControlBuilder.cs
- SystemSounds.cs
- PathSegment.cs
- SoapSchemaExporter.cs
- JournalEntryStack.cs
- RuleRef.cs
- Site.cs
- DataTemplateSelector.cs