XML schema in ABAP

can you give me resources and example programs to create
XML schema in abap

Hi,
The real question is: qhat Shema do you want to build.
To do that, you have learn about XML schema. Then You can create you schema and for that there are several Methods:
- Create the schema Nodes and piece them together into an XML document. An XML Schema Document is just a special type of XML document, so you have to create the correct nodes and put them together into an XML document.
For that you have the IXML library. It is well documented in Help.sap.com and all relevant interface names start with "IF_IXML_"
Just search for it.
There is a class called CL_XML_DOCUMENT_BASE from the workflow group which wraps some things up and simplifies the creation and rendering (=conversion into text) of XML documents.
I don't know if that class is released for general use.
- Use XSLT (CALL TRANSFORMATION), if you have a XML-Document to start from, that contains all information which allows you to Transform any XML format into a different XML format.
- If you have Dictionary Structures as your basis then the somewhat old function module SDIXML_DOM_TO_ABAP can create a Schema fragment for your data structure. Just search for its usage to get examples and play around with the parameters.
The format is Itendtical to the "canonical XML format" of SAP, also known as ASXML.
You can create it with CALL TRANSFORMATION ID ... <-- the name is important.
More information about this format and how to create and use it you can find in an article called "From XML to ABAP and back again". This article is available on SDN, just search for it.
All of this stuff exists only since 6.10 and later. But there has been XSLT-Support earlier with some ABAP classes, before CALL TRANSFORMATION entered into ABAP with 6.10.
Also there are some other SDIXML_* function modules, in case you use an old module, but it's better to use the IXML-Library, wherever possible, if your release should be current enough.
Cheers
Christian

Similar Messages

  • Validating against XML Schema

    Hi,
    does someone know how to validate a XML file against
    a XSD File (XML Schema) in ABAP. Iam using the IXML Package.
    Thanks.
    Jim

    I've originally been using Xerces1_4_0, but you're right - it's xerces-2_0_0_beta4 that does the job.
    Thanks for the hint!
    Luca

  • XML validation against XSD Schema in ABAP

    Hi colleagues,
    I'm looking for a way to validate a XML against a XSD schema in ABAP, without using java or command line or something like that. Is there any way to do this only with ABAP?
    Thanks in advance.
    Regards,
    Guenter

    Hi everyone,
    I'm currently facing the same problem. I need to validate a xml file with an existing xsd schema for some export/import functionality. I just found an ABAP program doing this with a Java fallback. But isn't there a way doing this wihtout using Java but only ABAP? There certainly is, anyone an idea?
    Thank you and regards
    Maximilian

  • Call XML Schema based Adobe form from ABAP Program

    Hi,
      I have a scenario where an online Interactive form is designed and its working fine. Now i have a requirement to call the same Adobe form from a report for viewing purpose. Since it is XML Schema based Interface, is it possible to call the same form instead of creating a new one with the same template? Because i tried to call the same Adobe form by passing the values and converting those to XML(By Creating Transformation). Then i converted the XML to XSTRING and passed to the Generated Function Module for Input paramter "/1bcdwb/docxml". This resulted in an error "com.adobe.ProcessingException: com.adobe.Processin".
    Please help me out in solving this and check the attachment for code.
    Thanks,
    Raj

    Hi,
    outputparams-NODIALOG   = 'X'.
    outputparams-PREVIEW     = 'X'.
    outputparams-dest = 'LP01'.  "give ur printer name.
    CALL FUNCTION 'FP_JOB_OPEN'
      CHANGING
        ie_outputparams = outputparams
      EXCEPTIONS
        cancel          = 1
        usage_error     = 2
        system_error    = 3
        internal_error  = 4
        OTHERS          = 5.
    and Now call the generated function module
    pass the following in docparams
    docparams-langu = 'E'.
    docparams-country = 'US'.
    and finally close the job.
    It should work.
    Please let me know if u need further details.
    Regards,
    sasi

  • Create XML file from ABAP with SOAP Details

    Hi,
    I am new to XML and I am not familiar with JAVA or Web Service. I have searched in SDN and googled for a sample program for creating XML document from ABAP with SOAP details. Unfortunately I couldn't find anything.
    I have a requirement for creating an XML file from ABAP with SOAP details. I have the data in the internal table. There is a Schema which the client provided and the file generated from SAP should be validating against that Schema. Schema contains SOAP details like Envelope, Header & Body.
    My question is can I generate the XML file using CALL TRANSFORMATION in SAP with the SOAP details?
    I have tried to create Transformation (Transaction XSLT_TOOL) in SAP with below code. Also in CALL transformation I am not able to change the encoding to UTF-8. It's always show UTF-16.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
      <xsl:template match="/">
        <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
          <SOAP:Header>
            <CUNS:HeaderInfo>
              <CUNS:InterfaceTypeId>10006</InterfaceTypeId>
              <CUNS:BusinessPartnerID>11223344</BusinessPartnerID>
              <CUNS:SchemaVersion>1.0</SchemaVersion>
              <CUNS:DateTime>sy-datum</DateTime>
            </CUNS:HeaderInfo>
          </SOAP:Header>
          <SOAP:Body>
            <xsl:copy-of select="*"/>
          </SOAP:Body>
        </SOAP:Envelope>
      </xsl:template>
    </xsl:transform>
    In ABAP program, I have written below code for calling above Transformation.
      call transformation ('Z_ID')
           source tab = im_t_output[]
           result xml xml_out.
      call function 'SCMS_STRING_TO_FTEXT'
        exporting
          text      = xml_out
        tables
          ftext_tab = ex_t_xml_data.
    Please help me how to generate XML file with SOAP details from ABAP. If anybody have a sample program, please share with me.
    Is there any easy way to create the XML file in CALL Transformation. Please help.
    Thanks

    Try ABAP forum, as it seems not to be PI related.

  • Question about XML mapping to ABAP internal table

    Hi experts.
    I'm trying to XML mapping. But it doesn't work well. Assume there are XML file as below.
    <HEADER>
      <ITEM>
        <FOO>123</FOO>
        <BAR>ABC</BAR>
      </ITEM>
      <ITEM>
        <FOO>456</FOO>
        <BAR>DEF</BAR>
      </ITEM>
    <HEADER>
    and I want to trasformation it as below.
    ITAB
    FOO       |      BAR
    123         |  ABC
    456         | DEF
    How could I trasformation using "call transformation"?
    Regards.

    Hi,
    REPORT  zind_xml_to_sap NO STANDARD PAGE HEADING.
    Data Declaration                                                    *
    DATA: client      TYPE REF TO if_http_client, "Interface
          host        TYPE string,
          port        TYPE string,
          proxy_host  TYPE string,
          proxy_port  TYPE string,
          path        TYPE string,
          scheme      TYPE i,
          xml         TYPE xstring,
          response    TYPE string.
    DATA: t_xml       TYPE smum_xmltb OCCURS 0 WITH HEADER LINE.  "XML Table structure used
                                                                  "for retreive and output XML doc
    DATA: g_stream_factory TYPE REF TO if_ixml_stream_factory.    "Interface
    DATA : return  LIKE  bapiret2 OCCURS 0 WITH HEADER LINE.      "XML Table structure used for retreive
                                                                  "and output XML doc
    Parameters                                                          *
    PARAMETER : p_add TYPE string LOWER CASE ,
                p_dfile   LIKE rlgrap-filename.
    AT Selection-Screen on value-request for file                       *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dfile.
    Get file
      PERFORM 100_get_file.
    Start-of-Selection                                                  *
    START-OF-SELECTION.
    Perform to upload xml data from URL to SAP internal table
      PERFORM 200_xml_upload.
      IF t_xml[] IS NOT INITIAL.
      Perform to Download data from Internal Table to a text file in local drive
        PERFORM 300_download.
        write : / 'Data Uploaded to Internal Table Successfully'.
        write : / 'XML Data Downloaded to Local path', p_dfile.
      else.
        write : / 'No Data for upload'.
      ENDIF.
    *if t_xml[] is INITIAL.
    WRITE : address, 'Given URl cannot be Converted' .
    else.
    LOOP AT t_xml .
       WRITE:  t_xml-cname, t_xml-cvalue.
    ENDLOOP.
    endif.
    *&      Form  get_file
          Get File
    FORM 100_get_file .
      CALL FUNCTION 'F4_FILENAME'
      EXPORTING
        PROGRAM_NAME        = SYST-CPROG
        DYNPRO_NUMBER       = SYST-DYNNR
        FIELD_NAME          = ' '
       IMPORTING
         file_name           = p_dfile
    ENDFORM.                    " 100_get_file
    *&      Form  200_xml_upload
          form to upload xml data from URL to SAP internal table
    FORM 200_xml_upload .
    *Check HTTP:// and concatenate
      IF p_add NS 'http://' OR p_add NS 'HTTP://'.
        CONCATENATE 'http://' p_add
                    INTO p_add.
      ENDIF.
    Fetching the address of the URL
      CALL METHOD cl_http_client=>create_by_url
        EXPORTING
          url    = p_add
        IMPORTING
          client = client.
    *Structure of HTTP Connection and Dispatch of Data
      client->send( ).
    *Receipt of HTTP Response
      CALL METHOD client->receive
        EXCEPTIONS
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        IF sy-subrc = 1.
          MESSAGE 'HTTP COMMUNICATION FAILURE' TYPE 'I' DISPLAY LIKE 'E'.
          EXIT.
        ELSEIF sy-subrc = 2.
          MESSAGE 'HTTP INVALID STATE' TYPE 'I' DISPLAY LIKE 'E'.
          EXIT.
        ELSEIF sy-subrc = 3.
          MESSAGE 'HTTP PROCESSING FAILED' TYPE 'I' DISPLAY LIKE 'E'.
          EXIT.
        ELSE.
          MESSAGE 'Problem in HTTP Request' TYPE 'I' DISPLAY LIKE 'E'.
          EXIT.
        ENDIF.
      ENDIF.
    Get data of the xml to Response
      response = client->response->get_cdata( ).
    *FM converting the XML format to abap
      CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
        EXPORTING
          text   = response
        IMPORTING
          buffer = xml.
    *FM converting XMl to readable format to a internal table.
      CALL FUNCTION 'SMUM_XML_PARSE'
        EXPORTING
          xml_input = xml
        TABLES
          xml_table = t_xml
          return    = return.
    ENDFORM.                    " 200_xml_upload
    *&      Form  300_download
    *form to Download data from Internal Table to a text file in local drive
    FORM 300_download .
      DATA filename TYPE string.
      filename = p_dfile.
      CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename                        = filename
        WRITE_FIELD_SEPARATOR           = 'X'
      TABLES
        data_tab                        = t_xml
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22
      IF sy-subrc <> 0.
         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.

  • How to handle tables data in XML schema based adobe form

    Hi all,
    I am working on the CRM business partner creation by using Interactive adobe form with following steps:
    1) Uploaded the offline Interactive adobe form  to online interactive adobe form via WebDynpro ABAP;
    2) Capture XML data into corresponding BAPI structures;
    3) Save all the changes to database via BAPI.
    The adobe form contains customer information as well as several table views which are bind with the context created in WebDynpro: Node NEW_BP_NODE cardinality 1:1 with single attributes and table type attributes (1:n): COLOUR_COMP, MEN_COMP etc.
    While converting the xml format data to SAP context format, It is fine to use following routine to find the single attribute and map to the BAPI structure to do the database update.
    NODE = DOCUMENT->FIND_FROM_NAME( NAME = 'XYZu2019).
    XYZ = NODE->GET_VALUE( ).
    Question: how to convert the xml table data to SAP context format in WebDynpro ABAP?
    The XML table data looks like below.
    <?xml version="1.0" encoding="UTF-8" ?>
    <NEW_BP_NODE>
    <COLOUR_COMP>
    <DATA>
    <ZZTFLD0W2AQW />
    <ZZTFLDRZ2AQX>000</ZZTFLDRZ2AQX>
    <ZZTFLDVD2TQW />
    <ZZTFLDQK2HQX />
    <ZZTFLDEL2XQX />
    <ZZTFLDTC2DQX>000</ZZTFLDTC2DQX>
    <ZZTFLDOR2UQX />
    </DATA>
    <DATA>
    <ZZTFLD0W2AQW />
    <ZZTFLDRZ2AQX />
    <ZZTFLDVD2TQW />
    <ZZTFLDQK2HQX />
    <ZZTFLDEL2XQX />
    <ZZTFLDTC2DQX />
    <ZZTFLDOR2UQX />
    </DATA>
    <DATA>
    <ZZTFLD0W2AQW />
    <ZZTFLDRZ2AQX />
    <ZZTFLDVD2TQW />
    <ZZTFLDQK2HQX />
    <ZZTFLDEL2XQX />
    <ZZTFLDTC2DQX />
    <ZZTFLDOR2UQX />
    </DATA>
    </COLOUR_COMP>
    <MEN_COMP>
    <DATA>
    <ZZTFLD4V2V7V />
    <ZZTFLDYD2N7W>000</ZZTFLDYD2N7W>
    <ZZTFLDX32I7W />
    <ZZTFLD2D2W7W />
    <ZZTFLDGD2A7W />
    </DATA>
    <DATA>
    <ZZTFLD4V2V7V />
    <ZZTFLDYD2N7W>000</ZZTFLDYD2N7W>
    <ZZTFLDX32I7W />
    <ZZTFLD2D2W7W />
    <ZZTFLDGD2A7W />
    </DATA>
    </MEN_COMP>
    Thanks in advance for your help.
    Michelle

    Hi,
    Just follow these steps:
    1. Create interactive form UI element in your view.
    2. Now provide Datasource and PDFSOURCE to it in form properties.
    3. Now give a template name prefix with 'Z' or 'Y'.
    4. Double click on it. It will prompt for interface name.
    5. Provide interface name prefixed with 'Z' or 'Y'.
    6. Click on Context button in the Pop up window and provide the node you have selected as DATASOURCE.
    7. Click ok and it will open the form designer.
    8. In this way you can create a XML Schema based Form.
    9. Activate the interface and design the form providing layout type and other details.
    Hope it will help.
    Regards,
    Vaibhav

  • Generate Adobe Interactive Form with XML Schema-Based Interface

    Hi,
    I need to generate a adobe Interactive but with XML Schema-Based Interface, i have one example but with ABAP Dictionary-Based Interface.
    CALL FUNCTION 'FP_JOB_OPEN'
      CHANGING
        ie_outputparams       = fp_outputparams
    * EXCEPTIONS
    *   CANCEL                = 1
    *   USAGE_ERROR           = 2
    *   SYSTEM_ERROR          = 3
    *   INTERNAL_ERROR        = 4
    *   OTHERS                = 5
    CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
      EXPORTING
        i_name     = 'ZMMDM_CL'
      IMPORTING
        e_funcname = fm_name.
    But when i call the next function for print i need the docxml parameter and i don't know how to get it
    fm_name
    CALL FUNCTION fm_name
      EXPORTING
       /1BCDWB/DOCPARAMS        = fp_docparams
    *    /1bcdwb/docxml           =
    * IMPORTING
    *   /1BCDWB/FORMOUTPUT       =
    * EXCEPTIONS
    *   USAGE_ERROR              = 1
    *   SYSTEM_ERROR             = 2
    *   INTERNAL_ERROR           = 3
    *   OTHERS                   = 4

    1) this questions was asked many times before, you didn´t search for a second
    2) I am not aware of any standard solution
    3) custom solution: use XSLT transformation ID to get XML from the filled DDIC structure and use string operations to add the header and footer to create a valid XML.
    Regards Otto

  • Mail Adapter XML Schema

    Hi all.
    Does anyone know if it's possible to send a mail
    using(besides 'TO:' field) 'CC:' and/or 'BCC:' fields
    for recipients?
    In XML schema for mail tere is only 'TO' field mentioned.
    Regards,
        Grzegorz.

    Hi,
    AFAIK not possible
    workarounds:
    1. 2 or 3 send steps (from BPM)
    2. send to abap proxy and from there try to
    execute an abap FM module for sending mails
    3. java proxy and use almost any java api for sending mails 
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

  • How to generate XSD file for XML schema adobe form

    Hi,
    I want to generate XSD file for XML schema interfaces adobe forms. How can I do it. Where I can do it..or who will provide this file..
    Thanks
    Ram
    Edited by: Ramesh ram on Feb 23, 2010 6:33 PM

    Aaaaah, my mistake, sorry for that. Of course you should use the XML interface and I forgot it is not described in this tutorial. You can easily find another one where the XML based interface is used. But... you won´t need any tutorial. just create a WD context. Place a Interactive form element on your WD app screen, in the attributes you need to maintain the form template name. If you write a name suitable for you which no existing forms uses, the system will offer you to generate a XML based interface and right after that it will "send" you to the SFP transaction. That means you can like skipi the step defining the interface because it it is generated automatically and you only draw the layout for this generated interface.
    You should use XMl based interface for your WD app, because when using the ABAP dic based, some features are not available (I am not sure, but ABAP based works only for print form or something).
    Hope it is all clear now,
    have a nice day,
    Otto

  • Simple Transformation to deserialize an XML file into ABAP data structures?

    I'm attempting to write my first simple transformation to deserialize
    an XML file into ABAP data structures and I have a few questions.
    My simple transformation contains code like the following
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"
                  xmlns:pp="http://www.sap.com/abapxml/types/defined" >
    <tt:type name="REPORT" line-type="?">
      <tt:node name="COMPANY_ID" type="C" length="10" />
      <tt:node name="JOB_ID" type="C" length="20" />
      <tt:node name="TYPE_CSV" type="C" length="1" />
      <tt:node name="TYPE_XLS" type="C" length="1" />
      <tt:node name="TYPE_PDF" type="C" length="1" />
      <tt:node name="IS_NEW" type="C" length="1" />
    </tt:type>
    <tt:root name="ROOT2" type="pp:REPORT" />
        <QueryResponse>
        <tt:loop ref="ROOT2" name="line">
          <QueryResponseRow>
            <CompanyID>
              <tt:value ref="$line.COMPANY_ID" />
            </CompanyID>
            <JobID>
              <tt:value ref="$line.JOB_ID" />
            </JobID>
            <ExportTypes>
              <tt:loop>
                <ExportType>
                   I don't know what to do here (see item 3, below)
                </ExportType>
              </tt:loop>
            </ExportTypes>
            <IsNew>
              <tt:value ref="$line.IS_NEW"
              map="val(' ') = xml('false'), val('X') = xml('true')" />
            </IsNew>
          </QueryResponseRow>
          </tt:loop>
        </QueryResponse>
        </tt:loop>
    1. In a DTD, an element can be designated as occurring zero or one
    time, zero or more times, or one or more times. How do I write the
    simple transformation to accommodate these possibilities?
    2. In trying to accommodate the "zero or more times" case, I am trying
    to use the <tt:loop> instruction. It occurs several layers deep in the
    XML hierarchy, but at the top level of the ABAP table. The internal
    table has a structure defined in the ABAP program, not in the data
    dictionary. In the simple transformation, I used <tt:type> and
    <tt:node> to define the structure of the internal table and then
    tried to use <tt:loop ref="ROOT2" name="line"> around the subtree that
    can occur zero or more times. But every variation I try seems to get
    different errors. Can anyone supply a working example of this?
    3. Among the fields in the internal table, I've defined three
    one-character fields named TYPE_CSV, TYPE_XLS, and TYPE_PDF. In the
    XML file, I expect zero to three elements of the form
    <ExportType exporttype='csv' />
    <ExportType exporttype='xls' />
    <ExportType exporttype='pdf' />
    I want to set field TYPE_CSV = 'X' if I find an ExportType element
    with its exporttype attribute set to 'csv'. I want to set field
    TYPE_XLS = 'X' if I find an ExportType element with its exporttype
    attribute set to 'xls'. I want to set field TYPE_PDF = 'X' if I find
    an ExportType element with its exporttype attribute set to 'pdf'. How
    can I do that?
    4. For an element that has a value like
    <ErrorCode>123</ErrorCode>
    in the simple transformation, the sequence
    <ErrorCode>  <tt:value ref="ROOT1.CODE" />  </ErrorCode>
    seems to work just fine.
    I have other situations where the XML reads
    <IsNew value='true' />
    I wanted to write
    <IsNew>
            <tt:value ref="$line.IS_NEW"
            map="val(' ') = xml('false'), val('X') = xml('true')" />
           </IsNew>
    but I'm afraid that the <tt:value> fails to deal with the fact that in
    the XML file the value is being passed as the value of an attribute
    (named "value"), rather than the value of the element itself. How do
    you handle this?

    Try this code below:
    data  l_xml_table2  type table of xml_line with header line.
    W_filename - This is a Path.
      if w_filename(02) = '
        open dataset w_filename for output in binary mode.
        if sy-subrc = 0.
          l_xml_table2[] = l_xml_table[].
          loop at l_xml_table2.
            transfer l_xml_table2 to w_filename.
          endloop.
        endif.
        close dataset w_filename.
      else.
        call method cl_gui_frontend_services=>gui_download
          exporting
            bin_filesize = l_xml_size
            filename     = w_filename
            filetype     = 'BIN'
          changing
            data_tab     = l_xml_table
          exceptions
            others       = 24.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                     with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.

  • Creating an xml file from abap code

    Hello All,
    Please let me know which FM do I need to execute in order to create an XML file from my ABAP code ?
    Thanks in advance,
    Paul.

    This has been discussed before
    XML files from ABAP programs

  • How do you create an xsd file for an xml schema in BI Publisher?

    Helllo.
    I hope this is a really daft question for somebody..
    How I create an xsd file to be used as an xml schema to attach to a Data Definition that Ive created? I've obv. got the xml and rtf files ready and attached. I've looked through the relevant docs (XML Publisher Report Designer's Guide.pdf & XML Publisher Administration and Developer's Guide.pdf) but can't find where..
    Once this has been done then I can run the template via ORACLE Financials for the reports I've converted.
    many thanks..
    Steven

    I don't think you need to have an XSD it's an optional field. If you really want to create one use this site: http://www.hitsw.com/xml_utilites/
    I believe I answered your question, don't forget to give me the points.
    Ike Wiggins
    http://bipublisher.blogspot.com

  • Urgent: Help required for fetching CHILDNODE from an XML schema.

    Hi All,
    Good Morning to all, i have problem in extracting the child node name. I have created a xml schema say "emrxmlsample3.xsd" based on this schema i have created a xmltype table and inserted a value to the table. I have a problem in fetching the "CHILDNODE" name. Kindly help me in solving this problem. Here by i am posting all the workings i have done...
    I am using the following client:
    SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jan 31 11:44:59 2011
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    ////////////////////////////////// XML Schema ///////////////////////
    begin
    dbms_xmlschema.registerSchema(
    'http://www.oradev.com/emrxmlsample3.xsd',
    '<schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.oradev.com/emrxmlsample3.xsd"
    xmlns:samp="http://www.oradev.com/emrxmlsample3.xsd"
    version="1.0">
         <element name="HISTORY">
              <complexType>
                   <sequence>
                        <element name="HPI">
                             <complexType>
                                  <sequence>
                                       <element name = "PAIN">
                                            <complexType>
                                                 <sequence>
                                                      <element name = "SET">
                                                           <complexType>
                                                                <sequence>
                                                                     <element name = "LOCATION">
                                                                          <complexType>
                                                                               <sequence>
                                                                                    <element name = "HEAD" type = "string"/>
                                                                                    <element name = "NECK" type = "string"/>
                                                                                    <element name = "BACK" type = "string"/>                                                       
                                                                                    <element name = "CHEST" type = "string"/>                                                       
                                                                                    <element name = "ABDOMEN" type = "string"/>     
                                                                                    <element name = "JOINTS" type = "string"/>     
                                                                                    <element name = "OTHERS" type = "string"/>
                                                                               </sequence>
                                                                          </complexType>
                                                                     </element>
                                                                     <element name = "SEVERITY">
                                                                          <complexType>
                                                                               <sequence>
                                                                                    <element name = "MILD" type = "string"/>
                                                                                    <element name = "MODERATE" type = "string"/>
                                                                                    <element name = "SEVERE" type = "string"/>                                                       
                                                                                    <element name = "VERYSEVERE" type = "string"/>                                                       
                                                                               </sequence>
                                                                          </complexType>
                                                                     </element>     
                                                                     <element name = "CHARACTER">
                                                                          <complexType>
                                                                               <sequence>
                                                                                    <element name = "DIFFUSE" type = "string"/>
                                                                                    <element name = "PRICKING" type = "string"/>
                                                                                    <element name = "CUTTING" type = "string"/>                                                       
                                                                                    <element name = "PIERCING" type = "string"/>                                                       
                                                                               </sequence>
                                                                          </complexType>
                                                                     </element>                                                                      
                                                                </sequence>
                                                           </complexType>      
                                                      </element>
                                                 </sequence>     
                                            </complexType>
                                       </element>
                                  </sequence>
                             </complexType>
                        </element>
                   </sequence>
              </complexType>
         </element>
         </schema>',
    TRUE, TRUE, FALSE, FALSE);
    end;
    ////////////////////////// Table which has multiple Column //////////////////////////
    CREATE TABLE chipsemr3 (
    id number, CHIPSEMR XmlType)
    XMLTYPE CHIPSEMR STORE AS OBJECT RELATIONAL
    XMLSCHEMA "http://www.oradev.com/emrxmlsample3.xsd"
    ELEMENT "HISTORY";
    ///////////////////////////////// Insert Query in chipsxmltable //////////////////////////
    INSERT INTO chipsemr3 VALUES(1,
    xmltype.createxml('<?xml version="1.0"?>
    <samp:HISTORY xmlns:samp="http://www.oradev.com/emrxmlsample3.xsd" >
              <HPI>
                   <PAIN>
                        <SET>
                             <LOCATION>
                                  <HEAD> YES </HEAD>
                                  <NECK> NO </NECK>
                                  <BACK> N </BACK>
                                  <CHEST> N </CHEST>
                                  <ABDOMEN> N </ABDOMEN>
                                  <JOINTS> N </JOINTS>
                                  <OTHERS> N </OTHERS>
                             </LOCATION>
                             <SEVERITY>
                                  <MILD> N </MILD>
                                  <MODERATE> N </MODERATE>
                                  <SEVERE> N </SEVERE>
                                  <VERYSEVERE> N </VERYSEVERE>
                             </SEVERITY>
                             <CHARACTER>
                                  <DIFFUSE> N </DIFFUSE>
                                  <PRICKING> N </PRICKING>
                                  <CUTTING> N </CUTTING>
                                  <PIERCING> N </PIERCING>
                             </CHARACTER>
                        </SET>
                   </PAIN>
              </HPI>
    </samp:HISTORY>'));
    To show the Root Node Name:
    1. Query
    select x.CHIPSEMR.getrootelement() CHIPSNODES from chipsemr3 x, table(xmlsequence(x.CHIPSEMR.extract('//node()'))) x
    Apologies if the description is not clear. Kindly let me know if further details are needed. Many thanks for your help.
    Very best regards,
    Godwin Jebakumar C.V.

    Hi,
    I'm not sure what you want actually.
    You can get all elements names with :
    SELECT value(x).getRootElement() chipsnodes
    FROM chipsemr3 t,
         TABLE(
           XMLSequence(
             Extract(t.chipsemr, '//*')
         ) x
    ;or, starting with 10.2 :
    SELECT x.*
    FROM chipsemr3 t,
         XMLTable(
          'for $i in //* return local-name($i)'
          passing t.chipsemr
          columns chipsnode varchar2(30) path '.'
         ) x
    ;

  • Null value for int and datetime date type in xml schema

    hi:
    I am embarrassed by a qustion in xml schema; i defined a xml schema file like
    this:
    <elementFormDefault="qualified" attributeFormDefault="qualified">
    <xs:element name="test">
    <xs:annotation>
    <xs:documentation>Comment describing your root element</xs:documentation>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="password" type="xs:string" nillable="true"/>
    <xs:element name="user" type="xs:int" nillable="true"/>
    <xs:element name="s_time" type="xs:dateTime"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    and I send this file to workflow clientrequest() node, I wanted to receive data
    in this schema file.but when i send null value to the element "user" and "s_time"
    in workshop test tool(test soap),and use function in xmlbean like isNilUser or
    isNilStime, one error occur.
    I don't kown why, I had to ask the engineer of bea in china, one told me a bug.
    is that true?

    Visakh16 I cant agree more with you on it, it is good but in production u cant have them change maxrows. I think
    Patrick  Hurst is a better option. debug the package have it running and move up
    Please mark as helpful and propose as answer if you find this as correct!!! Thanks,Dia Agha .
    Hmm..Why do you need to change it in production?
    What I suggested was to tweak the setting in dev machine so that it interprets the Excel file datatypes correctly when doing development. Once mapping is set correctly then it will work fine when in production or in any other environment. The tweaking is
    just to make sure it interprets the datatype correctly at design time and has nothing to do with production deployment 
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

Maybe you are looking for

  • Error while tmboot

    i can load tuxconfig without no probs but once i try to tmboot i get the follow msg..what could be the issue...i have checked the ipcs .. nothing is running under my uid...even the machine name is fine.. $ tail -f /privdir/xxxx708/xxxx/log/ULOG.11300

  • How do I install SN without creating a user?

    I am selling one of my Mac Pro's. I'll reformat the disk and install a fresh system, but how do I do that without creating a user account? Right after installing OS X the computer has to be rebooted, and that's when one creates a user account. Should

  • Checking if element is empty/endelement using xmlstreamreader

    Hi When using XMLStreamReader to parse XML-data I got a problem. When a tag is both start AND end tag (for instance "<tag />") then the reader only recognize it as a XMLStreamConstants.START_ELEMENT. How can I check if this is also a end-element? imp

  • Iphone5 battery drained and wont open

    I just bought the iphone 5 last year and it was so good everything runs so fine. Until i upgraded the software to IOS 7 , i started having problems on charging , battery drained too fast and it wont open anymore. The most irritating was when the batt

  • Nested Read only tables jdev 10.1.2

    Hi I need to display master detail tables on a JSP so that the there is a list of master tables and after each entry there is a list of the detail records followed by the next master record. I tried dropping both of them as read only tables and then