Exemplo n.º 1
0
 public void Sign(XmlSigningNodeWriter writer)
 {
     for (int i = 0; i < nsCount; i++)
     {
         PrefixHandle prefix = namespaces[i].Prefix;
         bool found = false;
         for (int j = i + 1; j < nsCount; j++)
         {
             if (Equals(prefix, namespaces[j].Prefix))
             {
                 found = true;
                 break;
             }
         }
         if (!found)
         {
             int prefixOffset, prefixLength;
             byte[] prefixBuffer = prefix.GetString(out prefixOffset, out prefixLength);
             int nsOffset, nsLength;
             byte[] nsBuffer = namespaces[i].Uri.GetString(out nsOffset, out nsLength);
             writer.WriteXmlnsAttribute(prefixBuffer, prefixOffset, prefixLength, nsBuffer, nsOffset, nsLength);
         }
     }
 }
Exemplo n.º 2
0
 void SignAttribute(XmlSigningNodeWriter writer, XmlAttributeNode attributeNode)
 {
     QNameType qnameType = attributeNode.QNameType;
     if (qnameType == QNameType.Normal)
     {
         int prefixOffset, prefixLength;
         byte[] prefixBuffer = attributeNode.Prefix.GetString(out prefixOffset, out prefixLength);
         int localNameOffset, localNameLength;
         byte[] localNameBuffer = attributeNode.LocalName.GetString(out localNameOffset, out localNameLength);
         writer.WriteStartAttribute(prefixBuffer, prefixOffset, prefixLength, localNameBuffer, localNameOffset, localNameLength);
         attributeNode.Value.Sign(writer);
         writer.WriteEndAttribute();
     }
     else
     {
         Fx.Assert(qnameType == QNameType.Xmlns, "");
         int prefixOffset, prefixLength;
         byte[] prefixBuffer = attributeNode.Namespace.Prefix.GetString(out prefixOffset, out prefixLength);
         int nsOffset, nsLength;
         byte[] nsBuffer = attributeNode.Namespace.Uri.GetString(out nsOffset, out nsLength);
         writer.WriteXmlnsAttribute(prefixBuffer, prefixOffset, prefixLength, nsBuffer, nsOffset, nsLength);
     }
 }