Ejemplo n.º 1
0
 public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (GetIsInNodeSet())
     {
         CanonicalizationDispatcher.WriteGenericNode(this, strBuilder, docPos, anc);
     }
 }
Ejemplo n.º 2
0
        public void WriteHash(ISigner signer, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (!IsInNodeSet || !IncludeComments)
            {
                return;
            }

            UTF8Encoding utf8 = new UTF8Encoding(false);

            byte[] rgbData = utf8.GetBytes("(char) 10");
            if (docPos == DocPosition.AfterRootElement)
            {
                signer.BlockUpdate(rgbData, 0, rgbData.Length);
            }
            rgbData = utf8.GetBytes("<!--");
            signer.BlockUpdate(rgbData, 0, rgbData.Length);
            rgbData = utf8.GetBytes(Value);
            signer.BlockUpdate(rgbData, 0, rgbData.Length);
            rgbData = utf8.GetBytes("-->");
            signer.BlockUpdate(rgbData, 0, rgbData.Length);
            if (docPos == DocPosition.BeforeRootElement)
            {
                rgbData = utf8.GetBytes("(char) 10");
                signer.BlockUpdate(rgbData, 0, rgbData.Length);
            }
        }
Ejemplo n.º 3
0
 public void WriteHash(IHash hash, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (GetIsInNodeSet())
     {
         CanonicalizationDispatcher.WriteHashGenericNode(this, hash, docPos, anc);
     }
 }
        public void WriteHash(IHash hash, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (!IsInNodeSet)
            {
                return;
            }

            UTF8Encoding utf8 = new UTF8Encoding(false);

            byte[] rgbData;
            if (docPos == DocPosition.AfterRootElement)
            {
                rgbData = utf8.GetBytes("(char) 10");
                hash.BlockUpdate(rgbData, 0, rgbData.Length);
            }
            rgbData = utf8.GetBytes("<?");
            hash.BlockUpdate(rgbData, 0, rgbData.Length);
            rgbData = utf8.GetBytes((Name));
            hash.BlockUpdate(rgbData, 0, rgbData.Length);
            if ((Value != null) && (Value.Length > 0))
            {
                rgbData = utf8.GetBytes(" " + Value);
                hash.BlockUpdate(rgbData, 0, rgbData.Length);
            }
            rgbData = utf8.GetBytes("?>");
            hash.BlockUpdate(rgbData, 0, rgbData.Length);
            if (docPos == DocPosition.BeforeRootElement)
            {
                rgbData = utf8.GetBytes("(char) 10");
                hash.BlockUpdate(rgbData, 0, rgbData.Length);
            }
        }
 public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (IsInNodeSet)
     {
         strBuilder.Append(Utils.EscapeCData(Data));
     }
 }
Ejemplo n.º 6
0
 public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (IsInNodeSet && docPos == DocPosition.InRootElement)
     {
         strBuilder.Append(Utils.EscapeWhitespaceData(Value));
     }
 }
 public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (GetIsInNodeSet())
     {
         strBuilder.Append(ParserUtils.EscapeTextData(Value));
     }
 }
 public void WriteHash(ISigner signer, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (IsInNodeSet)
     {
         CanonicalizationDispatcher.WriteHashGenericNode(this, signer, docPos, anc);
     }
 }
 public void WriteHash(IHash hash, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (IsInNodeSet)
     {
         UTF8Encoding utf8    = new UTF8Encoding(false);
         byte[]       rgbData = utf8.GetBytes(Utils.EscapeCData(Data));
         hash.BlockUpdate(rgbData, 0, rgbData.Length);
     }
 }
Ejemplo n.º 10
0
 public void WriteHash(ISigner signer, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (IsInNodeSet && docPos == DocPosition.InRootElement)
     {
         UTF8Encoding utf8    = new UTF8Encoding(false);
         byte[]       rgbData = utf8.GetBytes(Utils.EscapeWhitespaceData(Value));
         signer.BlockUpdate(rgbData, 0, rgbData.Length);
     }
 }
Ejemplo n.º 11
0
        public void WriteHash(ISigner signer, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            UTF8Encoding utf8 = new UTF8Encoding(false);

            byte[] rgbData = utf8.GetBytes(" " + Name + "=\"");
            signer.BlockUpdate(rgbData, 0, rgbData.Length);
            rgbData = utf8.GetBytes(Utils.EscapeAttributeValue(Value));
            signer.BlockUpdate(rgbData, 0, rgbData.Length);
            rgbData = utf8.GetBytes("\"");
            signer.BlockUpdate(rgbData, 0, rgbData.Length);
        }
 public static void WriteHash(XmlNode node, IHash hash, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (node is ICanonicalizableNode)
     {
         ((ICanonicalizableNode)node).WriteHash(hash, docPos, anc);
     }
     else
     {
         WriteHashGenericNode(node, hash, docPos, anc);
     }
 }
Ejemplo n.º 13
0
 public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     docPos = DocPosition.BeforeRootElement;
     foreach (XmlNode childNode in ChildNodes)
     {
         if (childNode.NodeType == XmlNodeType.Element)
         {
             CanonicalizationDispatcher.Write(childNode, strBuilder, DocPosition.InRootElement, anc);
             docPos = DocPosition.AfterRootElement;
         }
         else
         {
             CanonicalizationDispatcher.Write(childNode, strBuilder, docPos, anc);
         }
     }
 }
Ejemplo n.º 14
0
        public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (!IsInNodeSet || !IncludeComments)
            {
                return;
            }

            if (docPos == DocPosition.AfterRootElement)
            {
                strBuilder.Append((char)10);
            }
            strBuilder.Append("<!--");
            strBuilder.Append(Value);
            strBuilder.Append("-->");
            if (docPos == DocPosition.BeforeRootElement)
            {
                strBuilder.Append((char)10);
            }
        }
Ejemplo n.º 15
0
        public void WriteHash(IHash signer, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (signer is null)
            {
                throw new System.ArgumentNullException(nameof(signer));
            }

            docPos = DocPosition.BeforeRootElement;
            foreach (XmlNode childNode in ChildNodes)
            {
                if (childNode.NodeType == XmlNodeType.Element)
                {
                    CanonicalizationDispatcher.WriteHash(childNode, signer, DocPosition.InRootElement, anc);
                    docPos = DocPosition.AfterRootElement;
                }
                else
                {
                    CanonicalizationDispatcher.WriteHash(childNode, signer, docPos, anc);
                }
            }
        }
        public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (!IsInNodeSet)
            {
                return;
            }

            if (docPos == DocPosition.AfterRootElement)
            {
                strBuilder.Append((char)10);
            }
            strBuilder.Append("<?");
            strBuilder.Append(Name);
            if ((Value != null) && (Value.Length > 0))
            {
                strBuilder.Append(" " + Value);
            }
            strBuilder.Append("?>");
            if (docPos == DocPosition.BeforeRootElement)
            {
                strBuilder.Append((char)10);
            }
        }
 public static void Write(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     if (node is ICanonicalizableNode)
     {
         ((ICanonicalizableNode)node).Write(strBuilder, docPos, anc);
     }
     else
     {
         WriteGenericNode(node, strBuilder, docPos, anc);
     }
 }
        public static void WriteGenericNode(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            XmlNodeList childNodes = node.ChildNodes;

            foreach (XmlNode childNode in childNodes)
            {
                Write(childNode, strBuilder, docPos, anc);
            }
        }
Ejemplo n.º 19
0
        public void WriteHash(IHash hash, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            Hashtable    nsLocallyDeclared = new Hashtable();
            SortedList   nsListToRender    = new SortedList(new NamespaceSortOrder());
            SortedList   attrListToRender  = new SortedList(new AttributeSortOrder());
            UTF8Encoding utf8 = new UTF8Encoding(false);

            byte[] rgbData;

            XmlAttributeCollection attrList = Attributes;

            if (attrList != null)
            {
                foreach (XmlAttribute attr in attrList)
                {
                    if (((CanonicalXmlAttribute)attr).IsInNodeSet || Utils.IsNamespaceNode(attr) || Utils.IsXmlNamespaceNode(attr))
                    {
                        if (Utils.IsNamespaceNode(attr))
                        {
                            anc.TrackNamespaceNode(attr, nsListToRender, nsLocallyDeclared);
                        }
                        else if (Utils.IsXmlNamespaceNode(attr))
                        {
                            anc.TrackXmlNamespaceNode(attr, nsListToRender, attrListToRender, nsLocallyDeclared);
                        }
                        else if (IsInNodeSet)
                        {
                            attrListToRender.Add(attr, null);
                        }
                    }
                }
            }

            if (!Utils.IsCommittedNamespace(this, Prefix, NamespaceURI))
            {
                string       name     = ((Prefix.Length > 0) ? "xmlns" + ":" + Prefix : "xmlns");
                XmlAttribute nsattrib = (XmlAttribute)OwnerDocument.CreateAttribute(name);
                nsattrib.Value = NamespaceURI;
                anc.TrackNamespaceNode(nsattrib, nsListToRender, nsLocallyDeclared);
            }

            if (IsInNodeSet)
            {
                anc.GetNamespacesToRender(this, attrListToRender, nsListToRender, nsLocallyDeclared);
                rgbData = utf8.GetBytes("<" + Name);
                hash.BlockUpdate(rgbData, 0, rgbData.Length);
                foreach (object attr in nsListToRender.GetKeyList())
                {
                    (attr as CanonicalXmlAttribute).WriteHash(hash, docPos, anc);
                }
                foreach (object attr in attrListToRender.GetKeyList())
                {
                    (attr as CanonicalXmlAttribute).WriteHash(hash, docPos, anc);
                }
                rgbData = utf8.GetBytes(">");
                hash.BlockUpdate(rgbData, 0, rgbData.Length);
            }

            anc.EnterElementContext();
            anc.LoadUnrenderedNamespaces(nsLocallyDeclared);
            anc.LoadRenderedNamespaces(nsListToRender);

            XmlNodeList childNodes = ChildNodes;

            foreach (XmlNode childNode in childNodes)
            {
                CanonicalizationDispatcher.WriteHash(childNode, hash, docPos, anc);
            }

            anc.ExitElementContext();

            if (IsInNodeSet)
            {
                rgbData = utf8.GetBytes("</" + Name + ">");
                hash.BlockUpdate(rgbData, 0, rgbData.Length);
            }
        }
Ejemplo n.º 20
0
 public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
 {
     strBuilder.Append(" " + Name + "=\"");
     strBuilder.Append(Utils.EscapeAttributeValue(Value));
     strBuilder.Append("\"");
 }
Ejemplo n.º 21
0
        public void Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            Hashtable  nsLocallyDeclared = new Hashtable();
            SortedList nsListToRender    = new SortedList(new NamespaceSortOrder());
            SortedList attrListToRender  = new SortedList(new AttributeSortOrder());

            XmlAttributeCollection attrList = Attributes;

            if (attrList != null)
            {
                foreach (XmlAttribute attr in attrList)
                {
                    if (((CanonicalXmlAttribute)attr).IsInNodeSet || Utils.IsNamespaceNode(attr) || Utils.IsXmlNamespaceNode(attr))
                    {
                        if (Utils.IsNamespaceNode(attr))
                        {
                            anc.TrackNamespaceNode(attr, nsListToRender, nsLocallyDeclared);
                        }
                        else if (Utils.IsXmlNamespaceNode(attr))
                        {
                            anc.TrackXmlNamespaceNode(attr, nsListToRender, attrListToRender, nsLocallyDeclared);
                        }
                        else if (IsInNodeSet)
                        {
                            attrListToRender.Add(attr, null);
                        }
                    }
                }
            }

            if (!Utils.IsCommittedNamespace(this, Prefix, NamespaceURI))
            {
                string       name     = ((Prefix.Length > 0) ? "xmlns" + ":" + Prefix : "xmlns");
                XmlAttribute nsattrib = (XmlAttribute)OwnerDocument.CreateAttribute(name);
                nsattrib.Value = NamespaceURI;
                anc.TrackNamespaceNode(nsattrib, nsListToRender, nsLocallyDeclared);
            }

            if (IsInNodeSet)
            {
                anc.GetNamespacesToRender(this, attrListToRender, nsListToRender, nsLocallyDeclared);

                strBuilder.Append('<').Append(Name);
                foreach (object attr in nsListToRender.GetKeyList())
                {
                    (attr as CanonicalXmlAttribute).Write(strBuilder, docPos, anc);
                }
                foreach (object attr in attrListToRender.GetKeyList())
                {
                    (attr as CanonicalXmlAttribute).Write(strBuilder, docPos, anc);
                }
                strBuilder.Append('>');
            }

            anc.EnterElementContext();
            anc.LoadUnrenderedNamespaces(nsLocallyDeclared);
            anc.LoadRenderedNamespaces(nsListToRender);

            XmlNodeList childNodes = ChildNodes;

            foreach (XmlNode childNode in childNodes)
            {
                CanonicalizationDispatcher.Write(childNode, strBuilder, docPos, anc);
            }

            anc.ExitElementContext();

            if (IsInNodeSet)
            {
                strBuilder.Append("</" + Name + ">");
            }
        }
        public static void WriteHashGenericNode(XmlNode node, IHash hash, DocPosition docPos, AncestralNamespaceContextManager anc)
        {
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            XmlNodeList childNodes = node.ChildNodes;

            foreach (XmlNode childNode in childNodes)
            {
                WriteHash(childNode, hash, docPos, anc);
            }
        }