Hi @dnsBuffaloNY,
We'll try to get more specific formatting in future revs of the API Reference Guide. In the meantime, we do have an XSD. We actually hide it in plain sight right in the XML request itself.
For example in this request,
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>API_LOGIN_ID</name>
<transactionKey>API_TRANSACTION_KEY</transactionKey>
</merchantAuthentication>
<refId>123456</refId>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>5</amount>
<payment>
<creditCard>
<cardNumber>5424000000000015</cardNumber>
<expirationDate>1220</expirationDate>
<cardCode>999</cardCode>
</creditCard>
</payment>
</transactionRequest>
</createTransactionRequest>
We reference the XSD using the AnetApi identifier as a standin for the base URL. If you expand that out to the full URL, you'd get https://apitest.authorize.net/xml/v1/schema/AnetApiSchema.xsd for the sandbox system (or its cousin, https://api.authorize.net/xml/v1/schema/AnetApiSchema.xsd for the live system).
Hitting either of those directly will give you an XSD to validate against.
In the case of "tax" or "duty" or "shipping", they are all instances of "extendedAmountType", so they'll have the same constraints.
The relevant section from the XSD:
<xs:complexType name="extendedAmountType">
<xs:sequence>
<xs:element name="amount">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="name" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
So, the amount must be numerical with up to four decimal places, and must be greater than 0. No upper bounds.
Name is a string of length 31
Description is a string of length 255
Hope that helps!