示例#1
0
		protected XmlnsDefinitionMap(ITypeResolver typeResolver, IAssembly targetAssembly, XmlNamespaceCanonicalization canonicalization)
		{
			this.typeResolver = typeResolver;
			this.map = new Dictionary<IXmlNamespace, XmlnsDefinitionMap.XmlNamespaceTypeMap>();
			this.targetAssembly = targetAssembly;
			this.canonicalization = canonicalization;
		}
 public XmlNamespace GetXmlNamespace(XmlnsPrefix prefix, XmlNamespaceCanonicalization canonicalization)
 {
     if (prefix == XmlnsPrefix.EmptyPrefix)
     {
         return(XmlNamespace.AvalonXmlNamespace);
     }
     if (prefix.Value == "x")
     {
         return(XmlNamespace.XamlXmlNamespace);
     }
     return((XmlNamespace)null);
 }
示例#3
0
 XmlNamespace IXmlNamespaceResolver.GetXmlNamespace(XmlnsPrefix prefix, XmlNamespaceCanonicalization canonicalization)
 {
     for (XmlElementReference elementReference = this; elementReference != null; elementReference = elementReference.Parent as XmlElementReference)
     {
         foreach (XmlElementReference.Attribute attribute in elementReference.AttributesToPreserve)
         {
             if ((attribute.Type == XmlElementReference.AttributeType.Xmlns || attribute.Type == XmlElementReference.AttributeType.SerializerAddedXmlns) && string.Equals(string.IsNullOrEmpty(attribute.XmlAttribute.Prefix) ? attribute.XmlAttribute.Prefix : attribute.XmlAttribute.LocalName, prefix.Value, StringComparison.Ordinal))
             {
                 return(XmlNamespace.ToNamespace(attribute.XmlAttribute.Value.Value, canonicalization));
             }
         }
     }
     return((XmlNamespace)null);
 }
示例#4
0
        public static XmlNamespace ToNamespace(string value, XmlNamespaceCanonicalization canonicalization)
        {
            switch (value)
            {
            case "http://schemas.microsoft.com/winfx/2006/xaml/presentation":
                if (canonicalization == XmlNamespaceCanonicalization.ToJolt)
                {
                    return(XmlNamespace.JoltXmlNamespace);
                }
                return(XmlNamespace.AvalonXmlNamespace);

            case "http://schemas.microsoft.com/client/2007":
                if (canonicalization == XmlNamespaceCanonicalization.ToAvalon)
                {
                    return(XmlNamespace.AvalonXmlNamespace);
                }
                return(XmlNamespace.JoltXmlNamespace);

            case "http://schemas.microsoft.com/netfx/2007/xaml/presentation":
                return(XmlNamespace.NetFx2007Namespace);

            case "http://schemas.microsoft.com/winfx/2006/xaml":
                return(XmlNamespace.XamlXmlNamespace);

            case "http://schemas.microsoft.com/winfx/2006/xaml/presentation/options":
                return(XmlNamespace.PresentationOptionsXmlNamespace);

            case "http://schemas.openxmlformats.org/markup-compatibility/2006":
                return(XmlNamespace.CompatibilityXmlNamespace);

            case "http://schemas.microsoft.com/expression/blend/2008":
            case "http://schemas.microsoft.com/expression/interactivedesigner/2006":
            case "http://schemas.microsoft.com/expression/blend/2006":
                return(XmlNamespace.DesignTimeXmlNamespace);

            case "http://schemas.microsoft.com/expression/blend/extensions/annotations/2008":
                return(XmlNamespace.AnnotationsXmlNamespace);

            default:
                return(new XmlNamespace(value));
            }
        }