Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteStartAttribute() [3/6]

override void System.Runtime.Serialization.Json.XmlJsonWriter.WriteStartAttribute ( string prefix,
string localName,
string ns )
inline

Definition at line 719 of file XmlJsonWriter.cs.

720 {
721 if (IsClosed)
722 {
723 ThrowClosed();
724 }
725 if (!string.IsNullOrEmpty(prefix))
726 {
727 if (!IsWritingNameWithMapping || !(prefix == "xmlns"))
728 {
730 }
731 if (ns != null && ns != "http://www.w3.org/2000/xmlns/")
732 {
733 throw new ArgumentException(System.SR.Format(System.SR.XmlPrefixBoundToNamespace, "xmlns", "http://www.w3.org/2000/xmlns/", ns), "ns");
734 }
735 }
736 else if (IsWritingNameWithMapping && ns == "http://www.w3.org/2000/xmlns/" && localName != "xmlns")
737 {
738 prefix = "xmlns";
739 }
740 if (!string.IsNullOrEmpty(ns))
741 {
742 if (IsWritingNameWithMapping && ns == "http://www.w3.org/2000/xmlns/")
743 {
744 prefix = "xmlns";
745 }
746 else
747 {
748 if (!string.IsNullOrEmpty(prefix) || !(localName == "xmlns") || !(ns == "http://www.w3.org/2000/xmlns/"))
749 {
751 }
752 prefix = "xmlns";
754 }
755 }
756 if (localName == null)
757 {
758 throw new ArgumentNullException("localName");
759 }
760 if (localName.Length == 0)
761 {
763 }
764 if (_nodeType != JsonNodeType.Element && !_wroteServerTypeAttribute)
765 {
767 }
769 {
770 throw new XmlException(System.SR.Format(System.SR.JsonOpenAttributeMustBeClosedFirst, "WriteStartAttribute"));
771 }
772 if (prefix == "xmlns")
773 {
775 return;
776 }
777 switch (localName)
778 {
779 case "type":
780 if (_dataType != 0)
781 {
783 }
785 break;
786 case "__type":
787 if (_serverTypeValue != null)
788 {
790 }
791 if (_dataType != 0 && _dataType != JsonDataType.Object)
792 {
793 throw new XmlException(System.SR.Format(System.SR.JsonServerTypeSpecifiedForInvalidDataType, "__type", "type", _dataType.ToString().ToLowerInvariant(), "object"));
794 }
796 break;
797 case "item":
799 {
801 }
803 {
805 }
806 _nameState |= NameState.IsWritingNameAttribute;
807 break;
808 default:
809 throw new ArgumentException(System.SR.Format(System.SR.JsonUnexpectedAttributeLocalName, localName), "localName");
810 }
811 }
static string JsonAttributeAlreadyWritten
Definition SR.cs:576
static string JsonAttributeMustHaveElement
Definition SR.cs:574
static string JsonInvalidLocalNameEmpty
Definition SR.cs:570
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string JsonPrefixMustBeNullOrEmpty
Definition SR.cs:572
static string JsonServerTypeSpecifiedForInvalidDataType
Definition SR.cs:578
static string JsonNamespaceMustBeEmpty
Definition SR.cs:558
static string JsonUnexpectedAttributeLocalName
Definition SR.cs:580
static string XmlPrefixBoundToNamespace
Definition SR.cs:486
static string JsonEndElementNoOpenNodes
Definition SR.cs:560
static string JsonOpenAttributeMustBeClosedFirst
Definition SR.cs:562
Definition SR.cs:7

References System.Runtime.Serialization.Json.XmlJsonWriter._dataType, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingDataTypeAttribute, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingServerTypeAttribute, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingXmlnsAttribute, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingXmlnsAttributeDefaultNs, System.Runtime.Serialization.Json.XmlJsonWriter._nameState, System.Runtime.Serialization.Json.XmlJsonWriter._nodeType, System.Runtime.Serialization.Json.XmlJsonWriter._serverTypeValue, System.Runtime.Serialization.Json.XmlJsonWriter._wroteServerTypeAttribute, System.Xml.ArgumentException, System.SR.Format(), System.Runtime.Serialization.Json.XmlJsonWriter.HasOpenAttribute, System.Runtime.Serialization.Json.XmlJsonWriter.IsClosed, System.Runtime.Serialization.Json.XmlJsonWriter.IsWritingNameWithMapping, System.SR.JsonAttributeAlreadyWritten, System.SR.JsonAttributeMustHaveElement, System.SR.JsonEndElementNoOpenNodes, System.SR.JsonInvalidLocalNameEmpty, System.SR.JsonNamespaceMustBeEmpty, System.SR.JsonOpenAttributeMustBeClosedFirst, System.SR.JsonPrefixMustBeNullOrEmpty, System.SR.JsonServerTypeSpecifiedForInvalidDataType, System.SR.JsonUnexpectedAttributeLocalName, System.prefix, System.Runtime.Serialization.Json.XmlJsonWriter.ThrowClosed(), System.Runtime.Serialization.Json.XmlJsonWriter.WrittenNameWithMapping, System.Xml.XmlException, and System.SR.XmlPrefixBoundToNamespace.