cancel
Showing results for 
Search instead for 
Did you mean: 

Import cXml dtd

Former Member
0 Kudos

We downloaded cxml 1.2 dtd from cxml.org and tried to import into XI external def. We imported cxml.dtd and received no errors. When accessing from message mapping and Message Type we are unable to import/select cXml dtd structures/messages.

How do we import cXml dtd message into XI?

We have tried to convert to a .xsd file using Xml Spy and are experience namespace errors.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Does anbody has some information for me ?

Former Member
0 Kudos

Hi Frank,

I have looked at the DTD. It contains element names containing the character ':'. According to the XML specification this is reserved for xml namespaces. But the philosophy of DTDs and XML namespaces do not fit together. This is the reason, why XI refuses to convert DTDs containing ':' in element (or attribute) names. Maybe you can use a tool which is a little bit more heuristic on that (e.g. XMLSpy) to convert the DTD into an XSD and then import the XSD into Integration Repository. I assume this will require some adaption of the XSD produced by XMLSpy. Hence, this procedure has to be done by someone who is familiar with XSD.

Greetings

Stephan

Former Member
0 Kudos

Thanks for you reply stephan,

What i do not understand is that if i validate the dtdt in xmlspy then it is valid but now you tell me that the dtd is invalid ? or is this because XI converts dtds to xsds? Converting the cxml dtd to xsd is something that needs a series of modifications to the dtd. is this really the only solution ? or are there other cxml dtds available

Former Member
0 Kudos

Hi Frank,

concerning namespaces the philosophies of DTD and XSD are not compatible (indeed the philosophy of DTD is not compatible with that of XML namespaces itself). As XI is completely XSD-based it is not able to deal with DTDs containing namespace information, although they are well-formed.

Other tools (like XMLSpy) may try to make a conversion anyway (on a somehow heuristic basis). The result of that maybe imported as External Definition, but sometimes it is necessary to make some adjustments to the XSD.

According other DTDs coming from cxml I cannot tell you, because I do not know. Anyway, the namespace information is an important information which cannot be left out. If the XML structure defined by cxml really uses xml namespaces, then DTDs are not a suitable way to describe this structure (as explained above). XML structures with namespaces should always be described using XSD.

Greetings Stephan