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
- DataListItemCollection.cs
- SuppressIldasmAttribute.cs
- AppDomainProtocolHandler.cs
- EDesignUtil.cs
- Char.cs
- SQLBinaryStorage.cs
- Vector3DAnimationUsingKeyFrames.cs
- StringToken.cs
- HttpCookieCollection.cs
- UnauthorizedAccessException.cs
- PointLight.cs
- SafeMILHandle.cs
- DependencyObject.cs
- Bezier.cs
- ValueTypeFixupInfo.cs
- CommandEventArgs.cs
- SelectionManager.cs
- ChangeTracker.cs
- XmlSerializationReader.cs
- ZipIORawDataFileBlock.cs
- MenuBase.cs
- ConfigurationLockCollection.cs
- BitmapEffectGeneralTransform.cs
- HttpContextWrapper.cs
- SaveFileDialog.cs
- WindowsFormsSynchronizationContext.cs
- ConnectionManagementElement.cs
- WebBrowserBase.cs
- CodeBlockBuilder.cs
- TypeNameConverter.cs
- XmlDomTextWriter.cs
- PageRanges.cs
- OrderPreservingPipeliningSpoolingTask.cs
- PrintPreviewDialog.cs
- SvcMapFile.cs
- Set.cs
- DataObject.cs
- SafeRegistryHandle.cs
- XmlValidatingReaderImpl.cs
- Annotation.cs
- ProjectionPruner.cs
- CodeVariableDeclarationStatement.cs
- ThicknessKeyFrameCollection.cs
- ContentPosition.cs
- WebPartMenuStyle.cs
- DataSourceConverter.cs
- BinaryObjectReader.cs
- ClientCultureInfo.cs
- FragmentQuery.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- ICspAsymmetricAlgorithm.cs
- AdPostCacheSubstitution.cs
- XmlEncoding.cs
- FacetChecker.cs
- WriteableBitmap.cs
- GridViewRow.cs
- ColorBlend.cs
- Currency.cs
- List.cs
- HttpCapabilitiesEvaluator.cs
- BinaryParser.cs
- X509Utils.cs
- CodeGotoStatement.cs
- ReferentialConstraint.cs
- AsmxEndpointPickerExtension.cs
- HtmlInputImage.cs
- ExpressionVisitorHelpers.cs
- InternalConfigConfigurationFactory.cs
- CachedPathData.cs
- TableLayoutColumnStyleCollection.cs
- UnsafeNativeMethods.cs
- BaseTemplateBuildProvider.cs
- PropertyTabChangedEvent.cs
- CalendarSelectionChangedEventArgs.cs
- Debug.cs
- LinkUtilities.cs
- ClientTarget.cs
- CodeParameterDeclarationExpression.cs
- Debugger.cs
- DeviceContext2.cs
- GroupBoxAutomationPeer.cs
- UnauthorizedWebPart.cs
- ObjectHelper.cs
- BitmapImage.cs
- DataChangedEventManager.cs
- XmlSchemaAttributeGroupRef.cs
- Point3DIndependentAnimationStorage.cs
- TextHidden.cs
- XPathNodeHelper.cs
- SoapFault.cs
- DelayedRegex.cs
- DataServiceRequestOfT.cs
- ToolStripItemTextRenderEventArgs.cs
- Brush.cs
- UTF32Encoding.cs
- ObjectSecurity.cs
- InternalEnumValidatorAttribute.cs
- SpeechRecognitionEngine.cs
- SqlMultiplexer.cs
- RangeValueProviderWrapper.cs