Read XML field.....

Seems I keep finding different xml data and ways to read it but can't find anything related to what I have to read (<Report Type="?").   I need to retrieve all
ReasonForLeaving based on "OH xxx-212" from a table called
Report and the field name is ReportType.  Can someone please help?
Here are some ReportType field values:
<Report Type="OH xxx-212">
  <ClaimantName>Alfred E. Newman</ClaimantName>
  <ReasonForLeaving>Starting new magazine</ReasonForLeaving>
 </Report>
<Report Type="CA xxx-233">
  <ClaimantName>Bernard Kaputnick</ClaimantName>
  <ReasonForLeaving>Discovered new page</ReasonForLeaving>
 </Report>
<Report Type="OH xxx-212">
  <ClaimantName>Tim Whatley</ClaimantName>
  <ReasonForLeaving>Changing career</ReasonForLeaving>
 </Report>
<Report Type="NM xxx-666">
  <ClaimantName>Walter White</ClaimantName>
  <ReasonForLeaving>Found new lab</ReasonForLeaving>
 </Report>

I am not sure if I understand the problem properly or not but
Can you not create a tabular structure of your XML and then query the data you are looking for?
Declare @vXML XML
Declare @vXMLString varchar(max)='<Report Type="OH xxx-212">
<ClaimantName>Alfred E. Newman</ClaimantName>
<ReasonForLeaving>Starting new magazine</ReasonForLeaving>
</Report>
<Report Type="CA xxx-233">
<ClaimantName>Bernard Kaputnick</ClaimantName>
<ReasonForLeaving>Discovered new page</ReasonForLeaving>
</Report>
<Report Type="OH xxx-212">
<ClaimantName>Tim Whatley</ClaimantName>
<ReasonForLeaving>Changing career</ReasonForLeaving>
</Report>
<Report Type="NM xxx-666">
<ClaimantName>Walter White</ClaimantName>
<ReasonForLeaving>Found new lab</ReasonForLeaving>
</Report>'
--Prepare it
Set @vXML=Cast('<?xml version="1.0" encoding="utf-8"?><Reports>'+@vXMLString+'</Reports>' as XML)
DECLARE @hdoc INT
Declare @vDummy Table(id int,parentid int,nodetypr int,localname varchar(100),prefix varchar(100),namespaceuri varchar(100),datatype varchar(100), prev int,text varchar(1000))
EXEC sp_xml_preparedocument @hdoc OUTPUT,@vXML
insert Into @vDummy
SELECT *
FROM OPENXML( @hdoc, '//*',2)
exec sp_xml_removedocument @hdoc
--Tabular Format
Select ParentData.Parentid,
ParentData.ParentName,
ParentData.ChildID,
ParentData.ChildNaMe,
ChildData.Text
From
(Select Parent.id Parentid,parent.localname ParentName,child.id ChildID,child.localname ChildNaMe,child.text
From @vDummy child,@vDummy parent
Where Child.parentid=parent.id) ParentData,
(Select Parent.id Parentid,parent.localname ParentName,child.id ChildID,child.localname ChildNaMe,child.text
From @vDummy child,@vDummy parent
Where Child.parentid=parent.id) ChildData
Where ParentData.ChildNaMe=ChildData.ParentName
And ChildData.ChildNaMe='#text'
And ParentData.ChildID=ChildData.Parentid

Similar Messages

  • How do I Load a clob from an XML field in an XMLTYPE using XMLTABLE ?

    I am trying to load data into a CLOB from a XML field using XMLTABLE.
    I have a SUMMARY xml field with over 100 K of data (potentialy)
    and I can load all the other datatype fields to columns but can not load the xml fields over 4000 characters.
    example
    First I create a table of XMLTYPE. I need to sqlload new files in at regular intervals.
    Create table WEB_XML of XMLTYPE;
    Then I create my relational table....
    create table WEB_WORKING
    request_id varchar(10),
    ref_number varchar(20),
    summary clob
    The I use the .ctl file to sqlload the xml data in
    LOAD DATA
    INFILE *
    INTO TABLE WEB_XML
    append
    xmltype(XMLDATA)
    ext_fname filler char(90),
    XMLDATA LOBFILE(ext_fname) TERMINATED BY EOF
    BEGINDATA
    XMLFILE1.xml
    After loading the WEB_XML table using sqlldr, I try to load my relational table using XMLTable
    INSERT into WEBBAR_WORKING
    request_id ,
    ref_number ,
    summary
    SELECT X.* FROM WEB_XML P2,
    XMLTable ( '//Request//REQUESTVIEW'
    PASSING P2.object_value
    COLUMNS
    "request_id" VARCHAR(10) PATH 'REQUEST_ID',
    "ref_number" VARchar(20) PATH 'REF_NUMBER',
    "SUMMARY" clob PATH 'SUMMARY'
    ) AS X;
    This gives an error saying its not expecting clob
    My XML looks somthing like
    -<Request>
    -<REQUESTVIEW>
    <REQUEST_ID>3140</REQUEST_ID>
    <ref_number>2003-04-02</RECEIVED_DATE>
    <SUMMARY>
    OVER 100 K of data
    </SUMMARY>
    </REQUESTVIEW>
    </Request>

    ok
    that helped lot, im getting there however some more help please
    This SQL
    SELECT request_id, recieved_by, X.SUMMARY.getClobVal()
    FROM WEB_XML P2,
    XMLTable
    '//Request//REQUESTVIEW'
    PASSING P2.object_value
    COLUMNS
    "request_id" VARCHAR(10) PATH 'REQUEST_ID',
    "received_by" VARCHAR(10) PATH 'RECEIVED_BY',
    "SUMMARY" xmltype PATH 'SUMMARY'
    ) AS X;
    SELECT request_id, recieved_by, X.SUMMARY.getClobVal()
    ERROR at line 1:
    ORA-00904: "RECIEVED_BY": invalid identifier
    If I use the X.request_id, X.received_by ......
    i get the error message
    Package or function is in aan invalid state.
    But this SQL was successful in getting the clob by itself but with the XML tgs around it still, how do I strip the XML tags from around this result ?
    SELECT X.SUMMARY.getClobVal()
    FROM WEBBAR_XML P2,
    XMLTable
    '//Request//REQUESTVIEW'
    PASSING P2.object_value
    COLUMNS
    "SUMMARY" XMLTYPE PATH 'SUMMARY'
    ) AS X;
    ----------------------------------------------------------

  • Reading XML file from application server and  put into internal table-4.6C

    Dear All,
    Is there any way of reading XML file from application server to SAP? I am using 4.6C. Function module SCMS_STRING_TO_XSTRING function module is not available. Please suggest.
    Thanks and regards,
    Atanu

    Hi Atanu!
    Simply use the XSLT transformation 'ID'.
    FIELD-SYMBOLS <ls_result> TYPE ANY.
    CREATE DATA lref_data TYPE (your_structure).
    ASSIGN lref_data->* TO <ls_result>.
    CALL TRANSFORMATION id
                        SOURCE XML xmlstr
                        RESULT result = <ls_result>.
    "xmlstr" contains your XML file. Just read it into it via standard I/O operations. "<ls_result>" will contain your DDIC formatted content.
    Best regards
    Torsten

  • Reading XML files into ABAP

    Hello folks,
    I've been struggling and I need to figure out how to read a field from an XML field into ABAP. I'm writing this method and I need to call this field from my XML file. Can you guys please give me suggestions? Please advise. I will appreciate your time. Thanks in advance.
    Ol.

    *& Report z_xit_xml_check
    report z_xit_xml_check.
    class cl_ixml definition load.
    type-pools: ixml.
    types: begin of t_xml_line,
    data(256) type x,
    end of t_xml_line,
    begin of tsfixml,
    data(1024) type c,
    end of tsfixml.
    data: l_ixml type ref to if_ixml,
    l_streamfactory type ref to if_ixml_stream_factory,
    l_parser type ref to if_ixml_parser,
    l_istream type ref to if_ixml_istream,
    l_document type ref to if_ixml_document,
    l_node type ref to if_ixml_node,
    l_xmldata type string.
    data: l_elem type ref to if_ixml_element,
    l_root_node type ref to if_ixml_node,
    l_next_node type ref to if_ixml_node,
    l_name type string,
    l_iterator type ref to if_ixml_node_iterator.
    data: l_xml_table type table of t_xml_line,
    l_xml_line type t_xml_line,
    l_xml_table_size type i.
    data: l_filename type string.
    parameters: pa_file type char1024 default
    'd:\joao\desenvolvimentos\fi\fact\teste.xml'.
    Validation of XML file: Only DTD included in xml document is supported
    parameters: pa_val type char1 as checkbox.
    start-of-selection.
    Creating the main iXML factory
    l_ixml = cl_ixml=>create( ).
    Creating a stream factory
    l_streamfactory = l_ixml->create_stream_factory( ).
    perform get_xml_table changing l_xml_table_size l_xml_table.
    wrap the table containing the file into a stream
    l_istream = l_streamfactory->create_istream_itable( table =
    l_xml_table
    size =
    l_xml_table_size ).
    Creating a document
    l_document = l_ixml->create_document( ).
    Create a Parser
    l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
    istream = l_istream
    document = l_document ).
    Validate a document
    if pa_val eq 'X'.
    l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
    endif.
    Parse the stream
    if l_parser->parse( ) ne 0.
    if l_parser->num_errors( ) ne 0.
    data: parseerror type ref to if_ixml_parse_error,
    str type string,
    i type i,
    count type i,
    index type i.
    count = l_parser->num_errors( ).
    write: count, ' parse errors have occured:'.
    index = 0.
    while index < count.
    parseerror = l_parser->get_error( index = index ).
    i = parseerror->get_line( ).
    write: 'line: ', i.
    i = parseerror->get_column( ).
    write: 'column: ', i.
    str = parseerror->get_reason( ).
    write: str.
    index = index + 1.
    endwhile.
    endif.
    endif.
    Process the document
    if l_parser->is_dom_generating( ) eq 'X'.
    perform process_dom using l_document.
    endif.
    *& Form get_xml_table
    form get_xml_table changing l_xml_table_size type i
    l_xml_table type standard table.
    Local variable declaration
    data: l_len type i,
    l_len2 type i,
    l_tab type tsfixml,
    l_content type string,
    l_str1 type string,
    c_conv TYPE REF TO cl_abap_conv_in_ce,
    l_itab type table of string.
    l_filename = pa_file.
    upload a file from the client's workstation
    call method cl_gui_frontend_services=>gui_upload
    exporting
    filename = l_filename
    filetype = 'BIN'
    importing
    filelength = l_xml_table_size
    changing
    data_tab = l_xml_table
    exceptions
    others = 19.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    Writing the XML document to the screen
    CLEAR l_str1.
    LOOP AT l_xml_table INTO l_xml_line.
    c_conv = cl_abap_conv_in_ce=>create( input = l_xml_line-data
    *replacement = space ).
    c_conv->read( IMPORTING data = l_content len = l_len ).
    CONCATENATE l_str1 l_content INTO l_str1.
    ENDLOOP.
    l_str1 = l_str1+0(l_xml_table_size).
    SPLIT l_str1 AT cl_abap_char_utilities=>cr_lf INTO TABLE l_itab.
    WRITE: /.
    WRITE: /' XML File'.
    WRITE: /.
    LOOP AT l_itab INTO l_str1.
    REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>horizontal_tab
    *IN
    l_str1 WITH space.
    WRITE: / l_str1.
    ENDLOOP.
    WRITE: /.
    endform. "get_xml_table
    *& Form process_dom
    form process_dom using document type ref to if_ixml_document.
    data: node type ref to if_ixml_node,
    iterator type ref to if_ixml_node_iterator,
    nodemap type ref to if_ixml_named_node_map,
    attr type ref to if_ixml_node,
    name type string,
    prefix type string,
    value type string,
    indent type i,
    count type i,
    index type i.
    data: name2 type string,
    name_root type string,
    node_parent type ref to if_ixml_node,
    node_root type ref to if_ixml_node,
    num_children type i.
    node ?= document.
    check not node is initial.
    uline.
    write: /.
    write: /' DOM-TREE'.
    write: /.
    if node is initial. exit. endif.
    create a node iterator
    iterator = node->create_iterator( ).
    get current node
    node = iterator->get_next( ).
    loop over all nodes
    while not node is initial.
    indent = node->get_height( ) * 2.
    indent = indent + 20.
    num_children = node->num_children( ).
    case node->get_type( ).
    when if_ixml_node=>co_node_element.
    element node
    name = node->get_name( ).
    nodemap = node->get_attributes( ).
    node_root = node->get_root( ).
    name_root = node_root->get_name( ).
    write: / 'ELEMENT :'.
    write: at indent name color col_positive inverse.
    write: 'NUM_CHILDREN:', num_children.
    write: 'ROOT:', name_root.
    node_parent = node->get_parent( ).
    name2 = node_parent->get_name( ).
    write: 'NAME2: ' , name2.
    if not nodemap is initial.
    attributes
    count = nodemap->get_length( ).
    do count times.
    index = sy-index - 1.
    attr = nodemap->get_item( index ).
    name = attr->get_name( ).
    prefix = attr->get_namespace_prefix( ).
    value = attr->get_value( ).
    write: / 'ATTRIBUTE:'.
    write: at indent name color col_heading inverse, '=',
    value color col_total inverse.
    enddo.
    endif.
    when if_ixml_node=>co_node_text or
    if_ixml_node=>co_node_cdata_section.
    text node
    value = node->get_value( ).
    write: / 'VALUE :'.
    mjprocha
    node_parent = node->get_parent( ).
    write: at indent value color col_group inverse.
    name2 = node_parent->get_name( ).
    write: 'NAME2: ' , name2.
    endcase.
    advance to next node
    node = iterator->get_next( ).
    endwhile.
    endform. "process_dom

  • Reading XML file from PL/SQL

    Hi,
    I have a requirement where in I have to read email addresses from the xml file on the OS and use pass it on to a procedure as parameters.
    this is the xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    - <V21>
    - <ToAddress>
    + <User>
    <Emailid>[email protected]</Emailid>
    </User>
    - <UserGroup2>
    <Emailid>[email protected]</Emailid>
    </UserGroup2>
    </ToAddress>
    - <FromAddress>
    <Emailid>[email protected]</Emailid>
    </FromAddress>
    <HelpDeskNumber>99999999</HelpDeskNumber>
    <MailFormat>text/plain</MailFormat>
    </V21>
    can somebody guide me as to how one can read the XML file (residing in OS) and extract the email fields.

    Can you throw in some light on how to read XML in pl/sql in oracle 9i?Simplest example:
    SQL> DECLARE
      2    xml XMLTYPE := XMLTYPE(
      3  '<?xml version="1.0" encoding="UTF-8" ?>
      4  <V21>
      5  <ToAddress>
      6  <User>
      7  <Emailid>[email protected]</Emailid>
      8  </User>
      9  <UserGroup2>
    10  <Emailid>[email protected]</Emailid>
    11  </UserGroup2>
    12  </ToAddress>
    13  <FromAddress>
    14  <Emailid>[email protected]</Emailid>
    15  </FromAddress>
    16  <HelpDeskNumber>99999999</HelpDeskNumber>
    17  <MailFormat>text/plain</MailFormat>
    18  </V21>') ;
    19  BEGIN
    20    dbms_output.put_line(xml.extract('/V21/ToAddress/User/Emailid/text()').getStringVal()) ;
    21  END ;
    22  /
    [email protected]
    PL/SQL procedure successfully completed.
    SQL> disc
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.7.0 - Production
    SQL>

  • Read XML function - can't get it to work correctly to set metadata

    I've been working with the Read XML function in order to set metadata on assets with no avail. I'm using the following simple XML file in a Watcher folder with a poll watcher setup every 5 seconds, that then references a Read XML Response named "Update Asset Metadata" - to read the XML file and update the asset metadata. Nothing really happens even though the FCS Log file shows that the process is taking place to "update" the asset metadata. Any advice is appreciated. Thanks!
    FILE:
    <?xml version="1.0" encoding="UTF-8"?>
    <FinalCutServer>
    <request reqId="setMd" entityId="/asset/10">
    <params>
    <mdValue fieldName="Title" dataType="string">Text Info Change</mdValue>
    </params>
    </request>
    </FinalCutServer>

    I got the answer. You must type “*.xml” (that is, asterisk-dot-xml) in the Value field of Wildcard Include Filter for it to work correctly.

  • Reading XML Files from oracle 9i or in Oracle 10g

    Hi all,
    Can any body suggest how to write a stored procedure to read XML file content and insert into a table.
    Thanking you in Advance

    I know I am blasphemous, but ....
    We had a similar requirement: one file, each line was a "simple" xml doc corresponding to one db table record. The keyword here is "simple". We looked at the xml stuff, but decided that the easiest, best runtime performance, most extensible, easiest to maintain was:
    use (sed|awk|perl) to convert xml to a flat file of fields, and then load the file with SQL*Loader. After all, loading flat files with many records is a job for SQL*Loader.
    caveat: the xml in question was very simple and the same for all records:
    timestamp|<log><id>1</id><ns>ns1</ns><prod/><cmd>order</cmd><result>ok</result><time>1813></time></log>
    "your milage may vary"
    -tom

  • How to include the file name as an XML field

    Hi,
    I'm using a file adapter for process a flat file and convert it into an XML. Does anybody knows how to include the file name into an XML field.
    Ex.
    I process the file named <b>XXIMN21022007.txt</b> and I need an XML like:
    <MT_FILE>
    <field1></field1>
    <field2></field2>
    <field3></field3>
    <filename><b>XXIMN21022007.txt</b></filename>
    </MT_FILE>
    Regards
    Gonzalo

    Just go for dynamic configuration.
    Check the sender file adapter to write the filename in the header (as explained in Michal's blog) and then read that header in some mapping.
    U can use that even in simple message mappings.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm
    Your code for the filename tag would be something like:
    <i>DynamicConfiguration conf = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(
        “http://sap.com/xi/XI/System/File”,
        “FileName”);
    return conf.get(key);</i>
    Regards,
    Henrique.

  • How to read data/fields of the pdf form

    Hi,
    i want to orchestrate a process where input is interactive forma and output is xml data.
    i mean i want to read data/fields of the pdf form.
    Which activity do i use on workbench.
    Regards
    Sunil

    Dieter,
    I am talking about 3rd senario, where we create one process on workbench, and pass filled pdf as input and then output of process is xml file.
    What is the process name here (Like renderPDF process) which extract data from pdf.
    regards
    Sunil

  • Optional XML fields in Simple transformations (ST)

    Hi, I am using Simple Transformation (ST) to convert an XML file into ABAP data. In my XML file some XML tags are optional: sometimes they are available in the file, sometimes they are not. I can not find out how to define a ST for this.
    Either the XML fields are in the ST definition and then these field should also be in the XML file or
    the XML fields are not in the ST definition and then these fields are not allowed in the XML.
    Regards jack

    Hi Jack, please find some sample coding below that will solve your issue:
    <tt:cond check="not-initial(ref('E1EDL20.INCO1'))">
      <INCO1 tt:value-ref="E1EDL20.INCO1"/>
    </tt:cond>
    With the simple transformation tt cond statment you can make an XML tag optional. In below example during deserialisation xml tag <INCO1> will be skipped when not availabke in the xml and SAP data E1EDL20.INCO1 will not be filled by the transformation.
    Regards. Please give points when usefull !

  • How do you change an xml field inside of a database?

    Please: can you tell me how do you update an xml file?
    I mean how do you edit an xml field?
    Paola
    @{---->>----->---------                                                                                                                                                                                                                                                                       

    It should work for Oracle 9.2 and 10.2
    Thank you Dany.
    Regards.
    Paola
    @{--->----->>----------                                                                                                                                                                                                               

  • Can no longer select text in email template or read only field with mouse using IE or Firefox?

    Hi Guys,
    I can no longer select text in email template or read only field using my mouse in IE or Firefox anymore. We are using CRM 2011 rollup 18 applied with IE 11 and the latest version of Firefox. We only applied roll up 18 in Feb when this issue began.
    Thanks
    Dave
    David Kelly

    When you have a problem with one particular site, a good "first thing to try" is clearing your Firefox cache and deleting your saved cookies for the site.
    (1) Bypass Firefox's Cache
    Use Ctrl+Shift+r to reload the page fresh from the server.
    (You also can clear Firefox's cache completely using:
    orange Firefox button ''or'' Tools menu > Options > Advanced
    On the Network mini-tab > Cached Web Content : "Clear Now")
    (2) Remove the site's cookies (save any pending work first) using either of these. While viewing a page on the site:
    * right-click and choose View Page Info > Security > "View Cookies"
    * Alt+t (open the classic Tools menu) > Page Info > Security > "View Cookies"
    Then try reloading the page. Does that help?
    These features rely on JavaScript, and it sounds as though you have scripting enabled if you get (the wrong) color changes. Some add-ons might alter the way scripts operate, so a standard diagnostic to bypass interference by extensions (and some custom settings) is to try Firefox's Safe Mode.
    First, I recommend backing up your Firefox settings in case something goes wrong. See [[Backing up your information]]. (You can copy your entire Firefox profile folder somewhere outside of the Mozilla folder.)
    Next, restart Firefox in Firefox's Safe Mode ([[Safe Mode]]) using
    Help > Restart with Add-ons Disabled
    In the dialog, click "Start in Safe Mode."
    If those features work correctly, this points to one of your extensions or custom settings as the problem.
    To also disable plugins, you can use this page:
    orange Firefox button ''or'' classic Tools menu > Add-ons > Plugins category
    Any change?

  • FM to read XML files from Application server in ECC5.0

    Hi All,
    We need to pick up an XML file from Application server/FTP server. The requirement is to parse the XML file and process it to create material master. SAP provides standard function modules to read XML files.
    Now we need to read the XML file contents of MM01 and upload into SAP Data Base through BAPI
    I need to know about the Function modules to read XML files from Application Server and also about the FM's that will update the Date base tables with the data obtained form XML files.
    Regards
    Prathima

    Parsing XML data:
    http://help.sap.com/saphelp_nw04/helpdata/en/86/8280ba12d511d5991b00508b6b8b11/frameset.htm
    or alternatively check out ABAP online help for "CALL TRANSFORMATION".
    For creating the material master look at BAPI_STANDARDMATERIAL_CREATE.
    Thomas

  • Unable to modify a XML node which is a SimpleType using a Typed XML field.

    Hello,
    I have an XSD schema that uses SimpleTypes.  When I attempt to modify a node in an Schema typed XML field, which has a schema using simpletypes, I receive the error:  XQuery [modify()]: The value is of type "xs:string", which is not a
    subtype of the expected type "<anonymous>"
    To reproduce the problem use the following information:
    SCHEMA:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:ns1="http://testschema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" targetNamespace="http://testschema" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
    <xs:element name="Test">
    <xs:annotation>
    <xs:documentation>Comment describing your root element</xs:documentation>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element name="SAPCode">
    <xs:annotation>
    <xs:documentation>Customer Number for Delivery Organization</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="OrganizationName">
    <xs:annotation>
    <xs:documentation>Name of Organization</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="100"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="AttentionTo" minOccurs="0">
    <xs:annotation>
    <xs:documentation>Attention to Recepient for the delivery</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150" fixed="false"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Address1">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Address2" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Address3" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="City">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="100"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="StateProvince">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="100"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="PostalCode">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="20"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Country">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="2"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Phone" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="50"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmailAddress" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="200"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    The T-SQL That produces the error:
    DECLARE
    @vx_Test xml (CONTENT [dbo].[Test]),
    @vs_ShipToAttentionTo NVARCHAR(50)
    SET
    @vx_Test = N'<ns0:Test xmlns:ns0="http://testschema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ns0:SAPCode>1234567890</ns0:SAPCode>
    <ns0:OrganizationName>Test Org</ns0:OrganizationName>
    <ns0:AttentionTo>Test Person</ns0:AttentionTo>
    <ns0:Address1>123 Main Street</ns0:Address1>
    <ns0:City>Test City</ns0:City>
    <ns0:StateProvince>IL</ns0:StateProvince>
    <ns0:PostalCode>12345</ns0:PostalCode>
    <ns0:Country>US</ns0:Country>
    </ns0:Test>'
    SET
    @vs_ShipToAttentionTo = 'New Attention To'
    SET @vx_Test.modify('declare namespace ns0="http://testschema";
    replace value of (/ns0:Test[1]/ns0:AttentionTo) with sql:variable("@vs_ShipToAttentionTo")');
    -- This would be how I would reference it if I was modifiying the XML in a typed XML column in a table.
    WITH XMLNAMESPACES('http://testschema' AS ns0)
    UPDATE TestItems
    SET TestXML.modify('replace value of (/ns0:Test[1]/ns0:AttentionTo) with sql:variable("@vs_ShipToAttentionTo")')
    SELECT @vx_Test
    How can I make this work.  In this example I am using a typed XML variable, but I really want to do this in a table update.
    Thanks,
    Kent

    Try the change below.  What I did was to create a named simple type for the AttentionTo node.  Here is my understanding (based on this working).  Because you have a simpleType the node cannot accept just any string, it has to be a string of
    the type in the simpleType.  That simpleType has no name (thus anonymous). 
    What I did was to create a named simpleType and used that simpleType as the type for the AttentionTo element.  Then in my XQuery, I cast the value to the name of that type (AttentionToType in my example).
    CREATE xml schema collection Test as '<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:ns1="http://testschema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" targetNamespace="http://testschema" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
    <xs:element name="Test">
    <xs:annotation>
    <xs:documentation>Comment describing your root element</xs:documentation>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element name="SAPCode">
    <xs:annotation>
    <xs:documentation>Customer Number for Delivery Organization</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="OrganizationName">
    <xs:annotation>
    <xs:documentation>Name of Organization</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="100"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="AttentionTo" minOccurs="0" type="ns1:AttentionToType">
    <xs:annotation>
    <xs:documentation>Attention to Recepient for the delivery</xs:documentation>
    </xs:annotation>
    </xs:element>
    <xs:element name="Address1">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Address2" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Address3" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="150"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="City">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="100"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="StateProvince">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="100"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="PostalCode">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="20"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Country">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="2"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="Phone" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="50"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmailAddress" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="200"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:simpleType name="AttentionToType">
    <xs:restriction base="xs:string">
    <xs:maxLength value="150" fixed="false"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>';
    go
    DECLARE
    @vx_Test xml (CONTENT dbo.Test),
    @vs_ShipToAttentionTo nvarchar(50)
    SET
    @vx_Test = N'<ns0:Test xmlns:ns0="http://testschema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ns0:SAPCode>1234567890</ns0:SAPCode>
    <ns0:OrganizationName>Test Org</ns0:OrganizationName>
    <ns0:AttentionTo>Test Person</ns0:AttentionTo>
    <ns0:Address1>123 Main Street</ns0:Address1>
    <ns0:City>Test City</ns0:City>
    <ns0:StateProvince>IL</ns0:StateProvince>
    <ns0:PostalCode>12345</ns0:PostalCode>
    <ns0:Country>US</ns0:Country>
    </ns0:Test>'
    SET
    @vs_ShipToAttentionTo = 'New Attention To'
    SET @vx_Test.modify('declare namespace ns0="http://testschema";
    replace value of (/ns0:Test[1]/ns0:AttentionTo) with sql:variable("@vs_ShipToAttentionTo") cast as ns0:AttentionToType?');
    -- This would be how I would reference it if I was modifiying the XML in a typed XML column in a table.
    WITH XMLNAMESPACES('http://testschema' AS ns0)
    UPDATE TestItems
    SET TestXML.modify('replace value of (/ns0:Test[1]/ns0:AttentionTo)
    with sql:variable("@vs_ShipToAttentionTo")')
    SELECT @vx_Test
    Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com

  • Is there any way to read XML directly from a Web Page ??

    i have a url, which on sending request, shows XML in browser.
    Now i need to read this XML in browser and then manipulate it according to my need and display it on another page.
    actually the process is. :
    1) i have to first retrieve an xml from other site. (XML will only be shown in browser)
    2.)then i have to read the Xml and show it in according to my requirements.
    Is there any way to read XML directly from a Web Page ??
    is their logic to accomplish this.
    e.g in Servlet i can do somewhat like this :
    String wholeXml=Somemethod(url);
    Please Advice

    the average Java XML parser will accept an InputStream, so just open an URLConnection to the webpage, get the inputstream from it and feed that inputstream to the XML parser. If the URL has valid XML data, it will get parsed without problems.

Maybe you are looking for

  • Very slow broadband and connection keeps dropping

    Hello, we have been BT customers since August 2013, after previously being Freeola customers for many years.  We live in a very rural area, at the end of the exchange so we are never going to get amazingly fast broadband, we are estimated 1MB.  Previ

  • How to avoid performance problems in PL/SQL?

    How to avoid performance problems in PL/SQL? As per my knowledge, below some points to avoid performance proble in PL/SQL. Is there other point to avoid performance problems? 1. Use FORALL instead of FOR, and use BULK COLLECT to avoid looping many ti

  • Won't update album. on the Sony update centre.. compact z1

    Says two pending updates and installed one through the update centre other one is jus failing (album) think it's photo related..

  • ORA-01017: invalid username/password; logon denied from wallet

    Hi, i am getting logon denied error whille using wallet OS : windows 7 Client Version :10.2.0.3 C:\>sqlplus /@ding SQL*Plus: Release 10.2.0.3.0 - Production on Tue Mar 13 20:21:55 2012 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. ERROR: ORA

  • Header row

    I am moving to a Mac from a PC using Excel. In my Excel spreadsheet the top row stays on top no matter how far I scroll down. (It's easy to set up.) I can't seem to be able to do it in Numbers. Can anyone help me with this? Thanks, Fred