We are trying to use SOA/B2B to transmit cXML files to Ariba. Ariba only provides DTD's (not XSD's). We have converted the DTD to an XSD using XMLSpy but are still having many problems with the generated XSD. I tried to simplify the situation as much as possible. The Ariba spec requires the xml:lang attribute for many elements. SOA does not seem to like this. The XSD below shows as valid within SOA, but I'm unable to assign a variable to the element. I get the following error:
Exception: Invalid reference: 'http://www.w3.org/XML/1998/namespace:lang'
I've tried numerous methods, including with and without the "import namespace" tag, nothing seems to work. Any suggestions would be appreciated.
<?xml version="1.0" encoding="UTF-8" ?>
<!--W3C Schema generated by XMLSpy v2013 rel. 2 sp2 (http://www.altova.com)-->
<!--Please add namespace attributes, a targetNamespace attribute and import elements according to your requirements-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="Name" mixed="true">
<xs:attribute ref="xml:lang" use="required"/>
<xs:element name="Name" type="Name"/>
Another option is to get a sample cXML file with all the possible elements from them and use it to create the XSD.