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
- figurelengthconverter.cs
- EncoderReplacementFallback.cs
- MouseCaptureWithinProperty.cs
- Mutex.cs
- TrueReadOnlyCollection.cs
- InfoCardTraceRecord.cs
- DataObjectFieldAttribute.cs
- BinaryKeyIdentifierClause.cs
- EntityParameterCollection.cs
- httpstaticobjectscollection.cs
- TextRangeProviderWrapper.cs
- Metafile.cs
- DataControlButton.cs
- OleDbPropertySetGuid.cs
- DurableErrorHandler.cs
- StylusPointPropertyInfoDefaults.cs
- ProjectedSlot.cs
- PipeSecurity.cs
- PreloadHost.cs
- SqlCacheDependencySection.cs
- ListViewGroupItemCollection.cs
- ArgIterator.cs
- Nodes.cs
- TransformDescriptor.cs
- tabpagecollectioneditor.cs
- Converter.cs
- SQlBooleanStorage.cs
- IsolatedStorageSecurityState.cs
- TriggerActionCollection.cs
- StorageMappingItemCollection.cs
- DesignTimeTemplateParser.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- QueryContinueDragEvent.cs
- _Semaphore.cs
- MembershipUser.cs
- EncodingDataItem.cs
- OperationInfo.cs
- CalendarItem.cs
- Parsers.cs
- CookieParameter.cs
- ToolTip.cs
- EventsTab.cs
- XhtmlTextWriter.cs
- JsonObjectDataContract.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- AlternateView.cs
- ClientRuntime.cs
- LookupBindingPropertiesAttribute.cs
- AmbientProperties.cs
- InstanceLockException.cs
- Argument.cs
- TransportReplyChannelAcceptor.cs
- CodeIdentifiers.cs
- SmtpReplyReader.cs
- SchemaDeclBase.cs
- EdmScalarPropertyAttribute.cs
- DataGridViewDataConnection.cs
- ApplicationManager.cs
- XmlCharCheckingReader.cs
- isolationinterop.cs
- ObjectContext.cs
- ListViewItemEventArgs.cs
- BufferBuilder.cs
- OdbcError.cs
- ViewManager.cs
- DomainConstraint.cs
- CallbackException.cs
- StateRuntime.cs
- MetabaseSettingsIis7.cs
- ISAPIRuntime.cs
- SQLInt64Storage.cs
- PartitionedStream.cs
- XmlDataFileEditor.cs
- EnvelopedPkcs7.cs
- SharedStatics.cs
- ServiceContractListItemList.cs
- SoapSchemaMember.cs
- XmlHierarchicalEnumerable.cs
- DbConnectionFactory.cs
- MembershipUser.cs
- RootBrowserWindow.cs
- PreDigestedSignedInfo.cs
- DbModificationClause.cs
- DataGridItemCollection.cs
- Enlistment.cs
- StringFunctions.cs
- ConfigurationFileMap.cs
- SHA512.cs
- SessionPageStateSection.cs
- CalendarDataBindingHandler.cs
- OdbcErrorCollection.cs
- CustomAttributeBuilder.cs
- PKCS1MaskGenerationMethod.cs
- PixelShader.cs
- PassportAuthenticationModule.cs
- PersonalizationStateQuery.cs
- MailMessage.cs
- ContentElement.cs
- ContextStaticAttribute.cs
- Stylesheet.cs