コード例 #1
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);
     }
 }