Wasn't sure where to post this question, so I'll post it here.
I'm reading this API, and creating an XSD file to code against.
This API, has all the names prefixed with v1:
The API says
The First Data Global Gateway Web Service API uses HTTPS and SOAP to communicate with
your applications. As such, it is completely platform independent. The choice of languages,
frameworks, or tools to integrate with the Web Service API is up to you.
Regardless of the transaction type, the basic XML document structure
of a credit card transaction is as follows:
<fdggwsapi:FDGGWSApiOrderRequest
xmlns:v1="http://secure.linkpt.net/fdggwsapi/schemas_us/v1"
xmlns:fdggwsapi="http://secure.linkpt.net/fdggwsapi/schemas_us/fdggwsapi">
<v1:Transaction>
<v1:CreditCardTxType>...</v1:CreditCardTxType>
<v1:CreditCardData>...</v1:CreditCardData>
<v1:Payment>...</v1:Payment>
<v1:TransactionDetails>...</v1:TransactionDetails>
<v1:Billing>...</v1:Billing>
<v1:Shipping>...</v1:Shipping>
</v1:Transaction>
</fdggwsapi:FDGGWSApiOrderRequest>
End of API Says
It's been awhile since I wrote a XSD file, not sure if I've seen this before, perhaps in another format.
But It won't pass the XSD validator because it's invalid of course.
What do you guys think,
dump the v1's.
Add something that will prefix v1.
Or just wait days for vendor tech support to answer the question, which I doubt.
Code against it using another method.
<xs:schema attributeformdefault="unqualified" elementformdefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="xmlns:v1" type="xs:string" />
<xs:attribute name="xmlns:fdggwsapi" type="xs:string" />
<xs:element name="v1:Transaction">
<xs:complextype>
<xs:sequence>
<xs:element name="v1:CreditCardTxType">
<xs:complextype>
<xs:sequence>
<xs:element name="v1:Type" type="xs:string" />
</xs:sequence>
</xs:complextype>
</xs:element>
<xs:element name="v1:CreditCardData">
<xs:complextype>
<xs:sequence>
<xs:element name="v1:CardNumber" type="xs:string" />
<xs:element name="v1:ExpMonth" type="xs:string" />
<xs:element name="v1:ExpYear" type="xs:string" />
<xs:element name="v1:CardCodeValue" type="xs:string" />
</xs:sequence>
</xs:complextype>
</xs:element>
</xs:sequence>
</xs:complextype>
</xs:element>
</xs:schema>