cancel
Showing results for 
Search instead for 
Did you mean: 

Urgent: How to add reference DTD at receiver side XML?

Former Member
0 Kudos

Hi!

I have a problem to transfer IDOC to XML.

During Migration from Business connector to XI 3.0,

At original result xml header,

....<?xml version="1.0" encoding="ISO-8859-1"?>

....<!DOCTYPE Shipments SYSTEM "DTD/Shipment.dtd">

.................................~~~~~~~~~~~~~~~~~~~~~~~~~~~

But, thru XI,

....<?xml version="1.0" encoding="iso-8859-1"?>

....<!DOCTYPE Shipments>

so, target system can't recognize that result xml.

we are using mapping program with abap-class, XI3.0 SP14.

How to add it at xml header in abap class?

regards

Message was edited by: ChangSeop Song

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

I don't know if this will work

but I'd try with xslt and <b>doctype-public</b> and <b>doctype-system</b> declarations to do what you want

in the second mapping (after the abap mapping)

of the interface mapping that you're using

Regards,

michal

Former Member
0 Kudos

Thanks for your answer

But I can't understand exactly how to make change it.

Pls. send detail information to me

regards.

MichalKrawczyk
Active Contributor
0 Kudos

give this piece code a try:

<xsl:output Method="xslt" doctype-system="DTD/Shipment.dtd"/>

in your xslt mapping

Regards,

michal

Answers (1)

Answers (1)

Former Member
0 Kudos

*.create output document

data: doc_type type ref to if_ixml_document_type.

a_odocument = ixmlfactory->create_document( ).

doc_type = a_odocument->create_document_type( name = 'Shipments' ).

doc_type->SET_SYSTEM_ID( SYSTEM_ID = '/DTD/Shipment.dtd' ).

a_odocument->set_document_type( document_type = doc_type ).