CXML DTD conversion

Hi,
I am trying to convert the cXML.dtd to cXML.xsd by using altova and have noticed that three xsd files are generated. It is happening for any .dtd file downloaded form cXML.org site.
I can import all the three xsd into XI (under ED) and able to see the Message Names. But when i import them in MM, I notice only half message. for example - GetPendingRequest message type and the GetPendingRequest.xml file which comes with the download. both are different.
The question i am facing are -
   why is that altova converting single .dtd to 3 *.xsd. ?
   Do we have to use all the three xsd's in our design?
   do we have to refer these xsd to each other in ED?
   in the mapping, do we have to take any extra precautions? or it is same as normal mapping?
  I am proposing a solution to the client that, we will deliver a cxml file (*.cxml) by using FTP adapter without any conversion.   Meaning, xml output of the mapping program will be deivered. is this good solution? will the customer will be able to read the file?
  kindly help me.
Regards
Azias

Hello,
But when i import them in MM, I notice only half message. for example - GetPendingRequest message type and the GetPendingRequest.xml file which comes with the download. both are different.
You need to reference the xsds to each other in external definition.
Do we have to use all the three xsd's in our design?
Yes
do we have to refer these xsd to each other in ED?
Yes, you can refer xsds to one another by:
1.) Opening the main xsd, then go to external references tab
2.) Under the external references tab, there are two columns there, one is for the source and one is for the name. If there is an entry for source, click its corresponding name (even if it is blank).
3.) Once the source is already highlighted by using step2, press ctrl+c (copy)
4.) Import/open the xsd you want to be referenced. You will see a source field there, and the press ctrl+v (paste). Save and activate
in the mapping, do we have to take any extra precautions? or it is same as normal mapping?
Message mapping will be the same, but what is important is what message structure is required by business. You might as well consult with them as to what the final output is required.
Hope this helps,
Mark

Similar Messages

  • Import cXml dtd

    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.

    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

  • How to convert cXML dtd files into xsd format and use them into BPEL application

    Hi,
    In my BPEL application I have to use cXML dtd files by converting them into xsd format.
    I have used 'Microsoft Visual Studio' for converting cXML.dtd file into xsd format, for this 1 dtd file I am getting three xsd files (cXML.xsd, cXML1.xsd and cXML2.xsd).
    Please check this once and let me know
    1. why I am getting three xsd files for one dtd file,
    2. how can I use cXML.xsd file in my application, do I ll have to use all the three files in my BPEL app and
    3. what should I include in main xsd file (cXML.xsd) to import other two xsd files.
    kindly check this once and let me know your suggestions .
    Thanks

    Hi,
    While downloading the cXML dtd there will be example xml files. Using this xml's we can generate xsd.
    Regards,
    KANN.

  • Error While Exporting cXML DTD

    Hi,
    I have downloaded latest version of cXML DTD and when I upload it to ESR throgh External Definitions with the option 'From the First ELEMENT', I get the folloing errors:
    "Error when parsing DTD document com.sap.aii.utilxi.dtd.api.DtdException: Entity "Method.ANY"  already declared".
    But when I validate this DTD with other XML tools, i found no errors.
    I am struck here... Can any one Help on this ??
    Regards,
    Sreedhar

    See if this helps
    /people/gabrielsagayaselvam.panneerselvam/blog/2009/02/27/handling-message-options-for-dtd-files-in-external-definition
    Regards,
    Prateek

  • Dynamically Download cXML.DTD in XI

    Hi -
    I have an IDOC->XI-cXML Scenario.
    Using cXML dtd from cxml.org i download the cXML DTD and the use it in XI through external definition and i will do the mapping.
    What happens is after some time say 2 months, cXML DTD is modified and a new version is released,  do i have to download the cXML DTD schema again and have to rework on the complete scenario?
    Let me know if there are any other way to do this.
    Thanks in advance.
    Kumar Pappu

    Hi Tirumal,
    You don't have to rework on the complete scenario.
    If you have to import the new version of CXML DTD or schema, you have to import the cXML DTD into External definitions of IR.
    In the message mapping replace old version cXML with the new version. Your mapping will not be affected. You have to do the mapping for any modified fields or newer fields that were not in the old  version.
    Rgds,
    Sam Raju

  • DTD conversion

    Hi
    I've done an XML encoding, but need to convert it into DTD format.What do mean by DTD format? Can anyone give me sample program for XML conversion in DTD format?
    Thanks in advance.

    Hi,
    A DTD is associated with a particular document via a Document Type Declaration, which is a bit of markup that appears near the start of the associated document. The declaration establishes that the document is an instance of the type defined by the referenced DTD.
    The declarations in a DTD are divided into an internal subset and an external subset. The declarations in the internal subset are embedded in the Document Type Declaration in the document itself. The declarations in the external subset are located in a separate text file. The external subset may be referenced via a public identifier and/or a system identifier. Programs for reading documents may not be required to read the external subset.
    [edit]
    Examples
    Here is an example of a Document Type Declaration containing both public and system identifiers:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    Here is an example of a Document Type Declaration that encapsulates an internal subset consisting of a single entity declaration:
    <!DOCTYPE foo [ <!ENTITY greeting "hello"> ]>
    All HTML 4.01 documents are expected to conform to one of three SGML DTDs. The public identifiers of these DTDs are constant and are as follows:
    -//W3C//DTD HTML 4.01//EN
    -//W3C//DTD HTML 4.01 Transitional//EN
    -//W3C//DTD HTML 4.01 Frameset//EN
    The system identifiers of these DTDs, if present in the Document Type Declaration, will be URI references. System identifiers can vary, but are expected to point to a specific set of declarations in a resolvable location. SGML allows for public identifiers to be mapped to system identifiers in catalogs that are optionally made available to the URI resolvers used by document parsing software.
    Document Type Definition (DTD), defined slightly differently within the XML and SGML specifications, is one of several SGML and XML schema languages, and is also the term used to describe a document or portion thereof that is authored in the DTD language. A DTD is primarily used for the expression of a schema via a set of declarations that conform to a particular markup syntax and that describe a class, or type, of SGML or XML documents, in terms of constraints on the structure of those documents. A DTD may also declare constructs that are not always required to establish document structure, but that may affect the interpretation of some documents.
    <b>Below links consist of more on DTD and XML examples.</b>
    http://en.wikipedia.org/wiki/Document_Type_Definition
    http://www.w3schools.com/dtd/default.asp
    http://www.xmlfiles.com/examples/
    <b>Reward if helpful</b>
    Rgds,
    Shakuntala

  • Cxml (DTD) map to IDOC

    Hi,
    I am new to PI , I am able to create IDOC and File based mappings. I was given a project that needs to get the customers PO send via https through webservice and create IDOCs. I just dont knwo where to start, any step by step procedures would be helpful.
    Thanks,

    Once your entire scenario is done you can provide http link to customer with the following details
    http://host:port/sap/xi/adapter_plain?(caution:Normally for outside we provide https link)
    where the query string should contain all the ddetails like sender business system name,sender interface and sender namespace with QualityofService required and user and password name details
    for this info you can do test via testMessagatab in runtime Workbench
    For time being correct DTD and implement mapping and activate them in ESB and do the necessary configurations
    Dont be panic i have given just a overview for you to proceed you can always post to forum where you are stuck with will get definitely help from this
    Rajesh
    Edited by: Rajesh on Feb 10, 2009 11:15 PM

  • EDD to DTD conversion

    I am using FM 8 on Windows XP Pro and just working through the Getting started with structure example. It's a breeze until I get to the "Building the structured application" topic. Then, whenever I try to save the EDD as a DTD, I get these XML parsing errors:
    Invalid document structure
    The main XML document cannot be empty
    Syntax error
    Parsing aborted
    I also tried reading in some of the many EDD files loaded with the application and saving them as DTD, but they have parsing errors as well. Does anyone have any ideas what is going wrong here?
    Cheers,
    John

    Hi,<br /><br />All I was doing was religiously following the example in FM 8 help, topics under Processing XML > Migration from unstructured FrameMaker > Getting started with structure. This involves building a simple EDD and testing it -works fine. Adding formatting - works fine. The DTD creation does not mention any rules file. These are the instructions:<br /><br />First, you need to create a document type definition (DTD) that matches the EDD.<br /><br />To create a DTD:<br /><br />1. Open the proposal_edd.fm file in structured FrameMaker.<br /><br />2. Select StructureTools > Save As DTD. Specify the file name (proposal.dtd) and where you want to save the file, and then click Save.<br /><br />3. In the Use Structured Application dialog box, leave the default selection, <No Application>, and click Continue.<br /><br />4. In the Select Type dialog box, select XML and then click OK. The DTD file is written out to the location you specified.<br /><br />Step 4 is where it falls over and gives the error. From what you say, it seems I need a rules file, but there is no help for this in FM. Can you point me some resource?<br /><br />The FM tutorial implies that using no application (and thus no rules) should generate a DTD file from the EDD. I've looked at the structure of EDD and DTD files and can see the relationship, but obviously to have an automated way to generate the DTD would be great!

  • How to add dtd tag into cXML xsd

    HI All,
    I have a requirement in which I have to use cXML and as all of you know that we cannot directly import the cXML.dtd into SAP so I have converted the dtd into xsd.
    User is sending the data in this format.
    <?xml version = '1.0' encoding = 'UTF-8' standalone = 'no'?>
    <!-- Oracle eXtensible Markup Language Gateway Server  -->
    <!DOCTYPE cXML SYSTEM "cXML.dtd">
    <cXML version="1.2.007" payloadID="2010-11-09-12-07-21.60004397:0:4724.249819289270901871044542787156965720568@" timestamp="2010-11-09T12:07:21+01:00" xml:lang="en">
    As you can see they are sending <!DOCTYPE cXML SYSTEM "cXML.dtd"> in the xml and because of this PI is unable to process the message and generate the following error.
    <SAP:Stack>Runtime exception occurred during application mapping com/sap/xi/tf/_mm_cXML_Order_to_IDOC_ORDERS02_SGS_; com.sap.aii.utilxi.misc.api.BaseRuntimeException:Failed to load resource from the context classloader of the current thread! Loading from classloade~</SAP:Stack>
    Can any body please tell me how to resolve this issue.
    Thanks,
    Iqbal

    Please check this link
    XML issue
    Error log on http request from business connector (BC)

  • CXML integration

    Hi,
    I am implementing this cxml to IDOC scenario in PI.
    I have downloaded invoicedetail.dtd file from cxml website and converted it into XSD.
    then I have imported xsd  into external definition. after that I can see various messages in the message tab. like HEADER , INVOICE REQUEST.
    Where as I was expecting that these elements will be grouped in a segment ??? is that correct ? as any inbound cxml file will have header and invoice lines with them , so should they be separate messages ? something wrong ?
    Regards

    Hi,
    Here is the XSD file I created from the invoicedetail.DTD file . original DTD file is at cXML website. Though there is another CXML.DTD file which does have this other node , but for invoice they are suggesting to use invoicedetail.
    <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
    <xs:annotation>
      -- This schema was automatically generated by Syntext Dtd2Schema --
      -- conversion tool (from file: C:\Documents and Settings\bhandariv\Desktop\InvoiceDetail.dtd) --
      -- Copyright (C) 2002, 2003 Syntext Inc. See http://www.syntext.com for updates. --
    </xs:annotation>
    <xs:attributeGroup name='xmlLangCode'>
    </xs:attributeGroup>
    <xs:attributeGroup name='isoCountryCode'>
    </xs:attributeGroup>
    <xs:attributeGroup name='isoCurrencyCode'>
    </xs:attributeGroup>
    <xs:attributeGroup name='uint'>
    </xs:attributeGroup>
    <xs:attributeGroup name='URL'>
    </xs:attributeGroup>
    <xs:element name='Accounting'>
      <xs:complexType>
       <xs:sequence>
         <xs:choice>
           <xs:element ref='Segment' maxOccurs='unbounded'/>
           <xs:element ref='AccountingSegment' maxOccurs='unbounded'/>
         </xs:choice>
       </xs:sequence>
      <xs:attribute name='name' use='required'/>
      </xs:complexType>
    </xs:element>
    <xs:element name='AccountingSegment'>
      <xs:complexType>
       <xs:sequence>
         <xs:element ref='Name'/>
         <xs:element ref='Description'/>
       </xs:sequence>
      <xs:attribute name='id' use='required'/>
      </xs:complexType>
    </xs:element>
    <xs:element name='Address'>
      <xs:complexType>
       <xs:sequence>
         <xs:element ref='Name'/>
         <xs:element ref='PostalAddress' minOccurs='0'/>
         <xs:element ref='Email' minOccurs='0'/>
         <xs:element ref='Phone' minOccurs='0'/>
         <xs:element ref='Fax' minOccurs='0'/>
         <xs:element ref='URL' minOccurs='0'/>
       </xs:sequence>
      <xs:attribute name='isoCountryCode'/>
      <xs:attributeGroup ref='isoCountryCode'/>
      <xs:attribute name='addressID'/>
      </xs:complexType>
    </xs:element>
    <xs:element name='AgreementItemOut'>
      <xs:complexType>
       <xs:sequence>
         <xs:element ref='MaxAmount' minOccurs='0'/>
         <xs:element ref='MinAmount' minOccurs='0'/>
         <xs:element ref='MaxReleaseAmount' minOccurs='0'/>
         <xs:element ref='MinReleaseAmount' minOccurs='0'/>
         <xs:element ref='ItemOut'/>
       </xs:sequence>
      <xs:attribute name='maxQuantity'/>
      <xs:attribute name='minQuantity'/>
      <xs:attribute name='maxReleaseQuantity'/>
      <xs:attribute name='minReleaseQuantity'/>
      </xs:complexType>
    </xs:element>
    Edited by: V bhandari on Dec 7, 2010 9:01 PM

  • Message Mapping with cXML

    I have a message mapping scenario. I am trying to test something and for this I have the following Getpending Response as source and Target in message mapping.
    When I try to test this in the Repository I am getting some error(listed below)
    Note : I imported the below cXML into my respository in the external definition as an XSD(I used Altova XML spy to convert the XML into an XSD)
    In the occurence I have given both source and target as 1.
    Your assistance is greatly appreciated. Thanks  lot.
    Getpending Response cXML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
    <cXML timestamp="2005-01-12T16:00:18-08:00" payloadID="[email protected]">
       <Response>
          <Status code="200" text="OK"/>
          <GetPendingResponse>
             <cXML timestamp="2005-01-12T16:00:18-08:00"
                   payloadID="[email protected]">
                <Header>
                   <From>
                      <Credential domain="NetworkId">
                         <Identity>AN01000000001</Identity>
                      </Credential>
                   </From>
                   <To>
                      <Credential domain="NetworkId">
                         <Identity>AN13000000259</Identity>
                      </Credential>
                   </To>
                   <Sender>
                      <Credential domain="NetworkId">
                         <Identity>AN01000000001</Identity>
                      </Credential>
                      <UserAgent>ANCXMLDispatcher</UserAgent>
                   </Sender>
                </Header>
                <Message>
                   <DataAvailableMessage>
                      <InternalID domain="PendingMessages">3738</InternalID>
                   </DataAvailableMessage>
                </Message>
             </cXML>
          </GetPendingResponse>
       </Response>
    </cXML>
    I am getting the following error
    Start of test
    Compilation of GetPendingResponse_DataREquest_MM successful
    Document start
    Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out (errno:238) com.sap.aii.utilxi.misc.api.BaseRuntimeException: Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out (errno:238) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:130) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:68) Root Cause: java.io.IOException: Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out (errno:238) at com.sap.engine.lib.xml.parser.URLLoaderBase.resolveEntity(URLLoaderBase.java:148) at com.sap.engine.lib.xml.parser.XMLParser.scanDTD(XMLParser.java:1212) at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2678) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2713) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:162) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:132) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:142) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:245) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:276) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:338) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:128) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:68) Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out (errno:238)
    End of test

    Hi Jenni,
    This might help
    Message Mapping - same structure
    /people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp
    http://www.cxml.org/files/downloads.cfm
    Thanks & Regards
    Agasthuri Doss
    Message was edited by: Agasthuri Doss Baladandapani

  • XSLT/JAVA Mapping for cXML DOCTYPE

    Hello -
    Was anyone successful in adding the header
    <!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd">
    after the
    <?xml version="1.0" encoding="UTF-8"?> when converting
    using either XSL or JAVA?
    If there's way let me know what kind of mapping was used and how?
    Thanks,
    Tirumal

    Hi Tirumal,
    you can solve that with xsl:output
    one example:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
         <xsl:output method="xml" doctype-system="http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd"/>
         <xsl:template match="/">
              <xsl:copy-of select="*"/>
         </xsl:template>
    </xsl:stylesheet>
    Regards,
    Udo

  • CXML :  http or soap adapter?

    Which adapter do I use to send cXML purchase order to a vendor who has provided an invoke https URL? Also any special setup required in comm. channel? i.e. how does the channel know whether to formulate http or https ? Thanks.

    William,
    In the http receiver adapter communication channel, there is only HTTP protocol to select no HTTPS. Does this mean that it will convert to HTTPS if SSL is enabled on J2EE Engine? The soap adapter on the other hand accepts the full URL so we can specify https:// however i think the target URL given to me appears to be a http service rather than a SOAP service (I have not been given any WSDL with soapaction; I have to create the message using external defination of cXML.dtd from cxml.org website and send the message through http to a URL like https://xxx.yyy.com/invoke/aaa/bbb)

  • HTML to XML/cXML

    Will XI "translate" html data into XML or cXML for order transmission?  
    I ask this because of the <SupplierAuxiliaryID> we use in cXML to capture supplier cookie information.    Today, when we bring a punchout shopping cart back from a client, they send a cookie in the <SupplierAuxiliaryID> cXML tag.   That tag remains embedded in the requisition and flows through in the cXML order transmission to the vendor, and is critical.    If we moved the client to OCI(Open Catalog Interface), which would result in the shopping cart being transmitted to us in html, when XI "translates" that html data into cXML (or XML) for order transmission to the vendor, will that <SupplierAuxiliaryID> still be included?
    Thanks in advance.
    KP

    Can you give me more information on this XI MarketPlace adapter?
    In the scenario i mentioned, the "SupplierAuxiliaryID" that is passed in cXML is specific to Ariba but in the SRM Punchout, its handled directly through the OCI, but i am not sure whether we need the XI to integrate with the R/3 or the SRM in this case to translate the IDOC Purchase order into cXML.
    Also, the IDOC's can be mapped to cXML directly by downloading the cXML DTD from cXML.org but i am not sure why we need an adapter here.
    If you can throw more insight that will be more helpful.
    Thanks for the response.
    KP

  • CXML PO posting on HTTPS url

    Hi,
    My scenario is to post an cXML PO document on HTTPS url using XI.
    I tried to import cXML DTD (standard) in XI, but it is of no use, as Vendor wants a customize cXML message. My approach is to create an underline xml structure in XI and then using Adapter Module programing add the additional cXML tag to the XML structure.
    Also, the credentials are passed through Ariba Network.
    Please let me know, whether my approach is right? or do I need to ask my Client to go buy an adapter from Seeburger or iWay?
    Please advise.
    Regards,
    Amit

    Thanks Prateek,
    I will create a base xml structure in IR, as per the Vendor's xml structure (excluding tag for cXML) and then using adapter Module program, I will add additional tag of cXML. Will it work?
    MY xml structure is like this:
    <cXML payloadID="111122222333335556667678889999999999=" timestamp="2007-03-12T13:13:59-04:00" version="1.2.011" xml:lang="en-US">
      <Header>
    </Header>
    <Request>
    </Request>
    </cXML>
    Header & Request structure will be created in IR and then using adapter module program add a tag for cXML.
    Regards,
    Amit

Maybe you are looking for