Пример #1
0
        public void AddNS(XmlNode node)
        {
            if (node.NodeType != XmlNodeType.Element)
            {
                return;
            }

            PrefixURI prefixUri = new PrefixURI();

            prefixUri.strPrefix = node.Prefix;
            prefixUri.strURI    = node.NamespaceURI;

            prefixUri.strNodeName = node.Name;

            if (prefixUri.strNodeName != "" &&
                prefixUri.strURI != "")
            {
                if (prefixUri.strPrefix == "")
                {
                    prefixUri.strPrefix = "__pub" + Convert.ToString(nSeed);
                    nSeed++;
                }
                this.Add(prefixUri);
            }

            foreach (XmlNode child in node.ChildNodes)
            {
                AddNS(child);
            }
        }
Пример #2
0
        //去重
        public void DumpRep()
        {
            int i, j;

            for (i = 0; i < this.Count; i++)
            {
                PrefixURI prefixUri1 = (PrefixURI)this[i];
                for (j = i + 1; j < this.Count; j++)
                {
                    PrefixURI prefixUri2 = (PrefixURI)this[j];
                    if (prefixUri1.strPrefix == prefixUri2.strPrefix &&
                        prefixUri1.strURI == prefixUri2.strURI)
                    {
                        j--;
                        this.Remove(prefixUri2);
                    }
                }
            }
        }
Пример #3
0
        public void CreateNSOfCfg(XmlDocument domData,
                                  XmlDocument domCfg)
        {
            XmlNodeList nsitemList = domCfg.DocumentElement.SelectNodes("/root/nstable/item");

            foreach (XmlNode nsitemNode in nsitemList)
            {
                XmlNode nsNode     = nsitemNode.SelectSingleNode("nameSpace");
                XmlNode prefixNode = nsitemNode.SelectSingleNode("prefix");

                PrefixURI prefixUri = new PrefixURI();
                if (prefixNode != null)
                {
                    prefixUri.strPrefix = DomUtil.GetNodeText(prefixNode);
                }
                if (nsNode != null)
                {
                    prefixUri.strURI = DomUtil.GetNodeText(nsNode);
                }

                if (prefixUri.strPrefix != "" &&
                    prefixUri.strURI != "")                         //在配置文件里不允许前缀为空
                {
                    this.Add(prefixUri);
                }
            }

            this.Sort();
            this.DumpRep();

            //if (this.Count > 0)
            //{
            this.nsmgr = new XmlNamespaceManager(domData.NameTable);
            Add2nsmgr();
            //}
        }
Пример #4
0
		public void CreateNSOfCfg(XmlDocument domData,
			XmlDocument domCfg)
		{
			XmlNodeList nsitemList = domCfg.DocumentElement.SelectNodes ("/root/nstable/item");
			foreach(XmlNode nsitemNode in nsitemList)
			{
				XmlNode nsNode = nsitemNode.SelectSingleNode ("nameSpace");
				XmlNode prefixNode = nsitemNode.SelectSingleNode ("prefix");

				PrefixURI prefixUri = new PrefixURI();
                if (prefixNode != null)
				    prefixUri.strPrefix = DomUtil.GetNodeText(prefixNode);
                if (nsNode != null)
				    prefixUri.strURI  = DomUtil.GetNodeText(nsNode);
				
				if (prefixUri.strPrefix != ""
					&& prefixUri.strURI != "")  //在配置文件里不允许前缀为空
				{
					this.Add (prefixUri);
				}
			}

			this.Sort ();
			this.DumpRep ();

			//if (this.Count > 0)
			//{
			this.nsmgr = new XmlNamespaceManager (domData.NameTable );
			Add2nsmgr();
			//}
		}
Пример #5
0
		public void AddNS(XmlNode node)
		{
			if (node.NodeType != XmlNodeType.Element )
				return;

			PrefixURI prefixUri= new PrefixURI ();
			prefixUri.strPrefix = node.Prefix ;
			prefixUri.strURI = node.NamespaceURI ;

			prefixUri.strNodeName = node.Name ;

			if (prefixUri.strNodeName != ""
				&& prefixUri.strURI != "")
			{
				if (prefixUri.strPrefix == "")
				{
					prefixUri.strPrefix = "__pub" + Convert.ToString (nSeed);
					nSeed++;
				}
				this.Add (prefixUri);
			}

			foreach(XmlNode child in node.ChildNodes )
			{
				AddNS(child);
			}
		}
Пример #6
0
        //隐式执行,可能直接通过DpKey的对象实例来访问
        //obj: 比较的对象
        //0表示相等,其它表示不等
        public int CompareTo(object obj)
        {
            PrefixURI prefixURI = (PrefixURI)obj;

            return(String.Compare(this.strPrefix, prefixURI.strPrefix));
        }