How to validate and transform large xml files (180 M)

Hello:

I was looking at different ways to do it with oracle and am a bit lost in the sea of the documentation and the different ways to go about this. I was hoping that something like the XMLParser and XMLTransform class would be smart enough to handle large files using SAX, when it takes, but I'm getting "too many knots" when attempting to transform a very large file. (I've gotten oraxsl to cope if I pass in the parameters memory clean on the command line but a) which will always limits and b) I tried to do it in a procedure stored that (I think) means I'm looking at XMLParser?

I also seen documentation on what is called 'Scalable DOM' but I think it's only in 11g? So I think that I have to write a (Java?) procedure to make a loop on the main elements of this XML file stored (select extract (...)), and then transform each node?

I have the XML, XSD, XSLT and while clob columns. What is the easy/more shortest path within Oracle to validate the XML with the xsd and translate source XML with XSL?

I use Oracle 10 g on Linux RH 2.

Thank you.

I have the XML, XSD, XSLT and while clob columns.

The complexity is the transformation?

It is perhaps interesting to try and store your documents as object-relational XML, to create relational views and apply the transformation using XQuery or SQL/XML functions.

Tags: Database

Similar Questions

  • Import large XML file to Table

    I have a large (819 MB) XML file I'm trying to import into a table format:
    < ROW_SET >
    < ROW >
    value of < column_name > < / nom_de_colonne >
    < / ROW >
    ...
    < ROW >
    value of < column_name > < / nom_de_colonne >
    < / ROW >
    < / ROW_SET >

    I tried to import with xmlsequence (...). Extract (...) and ran into the number of nodes exceeds maximum error.

    I tried to import with XMLTable (... from XMLTYPE (bfilename('DIR_OBJ','large_819mb_file.xml'), nls_charset_id('UTF8'))) and I gave up after he had run for 15 + hours (COLLECTION ITERATOR PICKLER FETCH number).

    I tried to import them with:

    insCtx: = DBMS_XMLStore.newContext ('schemaname.tablename');
    DBMS_XMLStore.clearUpdateColumnList (insCtx);
    DBMS_XMLStore.setUpdateColumn (insCtx, 'column1name');
    ...
    DBMS_XMLStore.setUpdateColumn (insCtx, 'columnNname');
    LINES: = DBMS_XMLStore.insertXML (insCtx, XMLTYPE (bfilename('DIR_OBJ','large_819mb_file.xml'), nls_charset_id ('UTF8')));

    and ran in ORA-04030: lack of memory of process when trying to allocate 1032 bytes (subheap qmxlu, qmemNextBuf:alloc).


    All I have to do is read the XML file and move the data into a table in a reasonable time. Once I have given in the database, no longer need the XML file.

    What would be the best way to import large XML files?


    Oracle Database 11 g Release 11.2.0.1.0 - 64 bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE 11.2.0.1.0 Production."
    AMT for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production

    (Gross) approach should work for you.

    CREATE TABLE HOLDS_XML
            (xml_col XMLTYPE)
          XMLTYPE xml_col STORE AS SECUREFILE BINARY XML;
    
    INSERT INTO HOLDS_XML
    VALUES (xmltype(bfilename('DIR_OBJ','large_819mb_file.xml'), nls_charset_id('UTF8')))
    -- Should be using AL32UTF8 for DB character set with XML
    
    SELECT ...
      FROM HOLD_XML HX
           XMLTable(...
              PASSING HX.xml_col ...)
    

    How it differs from your approach.

    With the help of the HOLDS_XML table with storage XML BINARY SECUREFILE (which become the default in 11.2.0.2), we provide a place for Oracle store a parsed version of the XML data. This allows the XML code to be stored on the disk instead of memory. Oracle can then access the necessary XML fragments of the disc in the instead holding the entire XML in memory and the analysis several times to find the necessary information. That's what COLLECTION ITERATOR PICKLER FETCH means. A lot of memory. You can search on this term to learn more about this if necessary.

    The approach XMTable then simply reads this XML to disk file and should be able to parse the XML without problem. You have the option to add XML indexes, but since you read just a while and throw it away, there is no advantage to (most likely) index

  • How to insert data in the XML file?

    Hi guys,.

    How to insert information into an XML file. I tell you, I have a CFM file with some questions to the user

    When users submit this form within the form information is send in an XML file.

    How can insert this information in the XML file?

    When I don't have a DB?

    Thank you

    Kind regards

    Fabiano Magno Pechibella

    You must

    1. Read in the XML file
    2. Analyze the document in an XML (just one big struct) object
    3. Insert your XML code of the object where you need
    4. rewrite the XML file with your data now included

    You can Google 'ColdFusion working with XML' and find hundreds of items to help you. Here's a beginning tutorial to help you get started:

    Intermediate ColdFusion Tutorials - working with XML

  • How to hide and restore iOS apps/files 9

    How to hide and restore iOS apps/files 9

    Awaimer wrote:

    How to hide and restore iOS apps/files 9

    There is no record to hide, they will still be on your home screen.

    You can back up apps into folders, simply pressing app until it wiggles and then move it with another application and a folder will be created.

  • How to open and edit a .slz file?

    How to open and edit a .slz file?

    Laughing out loud. RoboHelp is a publisher of fishy?

    SLZ's just with a different extension zip files. You can extract it as all the archives. I regularly just threw in pictures updated or .slp usins 7-zip files.

    If you want to change beyond the capabilities of the built-in Editor, does not open the .slp files in RoboHelp. That will mess up the layout. Use Dreamweaver / Notepad ++ / something else instead.

  • the tag of 'mode' in the editable using getconfig() and setconfig() vhost.xml file?

    the tag of 'mode' in the editable using getconfig() and setconfig() vhost.xml file?

    Use the same code I gave before, simply replace:

    admin_nc. Call ("setConfig2", new Result1 (), "Proxy/Mode", "remote", "Adaptor:_defaultRoot_ / VHost:_defaultVHost_");

    by

    admin_nc. Call ("getConfig2", new Result1 (), "Proxy/Mode", "Adaptor:_defaultRoot_ / VHost:_defaultVHost_");

    Redefine Result1() as:

    function Result1() {}

    this.onResult = {function (info)}

    If (info.code == "NetConnection.Call.Success") {}

    for {(i in info.data)

    trace (info. Data [i]);

    }

    }

    }

    }

  • When I receive a message with an attached large xml file, I have to wait long until Thunderbird shows and displays the contents of the file. How to avoid this problem.

    Attachments such as Word or Excel files are shown only as attachments in a bar at the bottom of the message entering without rendering of such content. But Thunderbird always try to read the contents of an xml file in order to show ALL he's happy. If the file is large, it takes a lot of time, so the Thunderbirds crashes usually on, so I have to restart.

    I would like to be able to make some adjustments to prevent display of the contents of the xml files attached in incoming messages. Thank you.

    View (alt + V) menu > display the inline attachment

  • How do you use the config.xml file to determine which version of an application, a user will download?

    I have two APKs for the same application and I implemented the config.XML of lower version number working for all screen sizes.  The config.XML for the higher version number is set up for only the scresns large and extra-large.  Here's the code from the config.xml file.

    Version 1

    < media screens android: anyDensity = "true" android: Center = 'true '.
    Android: smallScreens = "true".
    Android: normalScreens = 'true '.
    Android: largeScreens = "true".
    Android: xlargeScreens = "true" / >

    Version 2

    < media screens android: anyDensity = "true" android: Center = 'true '.
    Android: smallScreens = "false".
    Android: normalScreens = "false".
    Android: largeScreens = "true".
    Android: xlargeScreens = "true" / >

    When I try to download the app on Google game, only the top version is available, regardless of the size of the unit.  When I asked Google game why this was not behave as expected, they said that the file manifest for both applications is the same.  Here is the code, they shot in the manifest after having used PhoneGap Build.

    < media screens android: anyDensity = "true" android: smallScreens = "true" android: normalScreens = "true" android: largeScreens = "true" android: Center = "true" android: xlargeScreens = "true" / >

    Can someone explain why PhoneGap Build is not using the settings I set in the config.xml file?  And how to fix this?

    The tag is not a valid tag in the config.xml file. This is probably why you see the same tag in two, as the build service is ignorant.

    As to how solve you this problem. Currently, you can not, but the next version of android-cordova will include the ability to add a tag which you will be able to use like this:

  • Problem with large XML files over HTTP segmented analysis

    I am trying to isolate a bug introduced when the JRE in Java 7u51 use 7u71 without changing the codes. The problem seems to be very similar to: Bug ID: JDK-8027359 XML parser returns incorrect results of analysis.

    Further investigation showed that it was also introduced in the same versions (7u71) where this patch has been applied. Unlike this bug, my XML is marked as version 1.0. He also seems to be with only large XML, the order of 10 MB files or more.

    Is the closest I've been able to reduce it down to the code uses JAXB to disrupt a flow which tells me that the debugger is an org.apache.http.com.EofSensorInputStream / org.apache.http.impl.io.ChunkedInputStream. The exception I get is not consistent, but usually appears from pieces are replaced or mixed, with result the letters appearing in the attributes that are actually numbers, or like the following, where an attribute "testAttribute" gets partially crushed by the end of a timestamp that was in another section of the XML file.

    javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,98748]
    Message: Attribute name "testAttribu00Z" associated with an element type "testElement" must be followed by the ' = ' character.]
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:421)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:357)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:334)
    Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,98748]
    Message: Attribute name "testAttribu00Z" associated with an element type "testElement" must be followed by the ' = ' character.
      at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:598)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:355)
      ... 6 more
    
    
    

    A code here which seems to reproduce if you can connect to an XML server that returns a large segmented XML file:

      SchemeRegistry registry = new SchemeRegistry();
      registry.register(
                    new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
      HttpClient client = new DefaultHttpClient(new BasicClientConnectionManager(registry));
      String url = "http://someUrlReturningAlargeChunkedXML";
      HttpGet method = new HttpGet(url);
      HttpResponse response = client.execute(method);
    
      InputStream inputStream = response.getEntity().getContent();
    
      XMLStreamReader responseReader = factory.createXMLStreamReader(inputStream);
      JAXBElement<JaxBObjectOfResponse> wot = unmarshaller.unmarshal(responseReader, JaxBObjectOfResponse.class);
    
    
    

    There is no error if you connect using URL.openStream () to the same service. If I read bytes directly and write to a file, there is no error. The error occurs only when I try to disrupt it is great and I use Java 7u71 (or later). It can be constantly repeated with the jsp webapp I use, but did not show the error when I used the same code with a Wikipedia dump XML file.

    How can I unmarshal differently to avoid this problem? Or, how can I best isolate the bug so it can be sent to the appropriate bugs system?

    Seems to be related to this bug, which will be fixed in 7u80 and others (in April?).

    http://bugs.Java.com/bugdatabase/view_bug.do?bug_id=8059327

    Tests with the final version in early 7u80 showed it fixed my related question.

  • How to use FM OmegaT processed XML files?

    How to convert files in XML (or any other file format that supports the file format that can be used in T Omega) FM so that it can be imported into the translation software open source OmegaT?

    I have a use [Save as] create an XML file, an error message appears when I try to import in Omega T and but I'm unable to translate the file.

    I am trying to use XML files for translation into Omega T, is because in the past, the person who is in charge of editing the file FM would create a text file with sentences to be translated. I would then import the text file in OmegaT to translate and send the text file with the phrases translated to the editor. This could then be edited in a file of FM.

    It would not be a problem if the content to be translated was small. But in some cases there is a large amount of content that must be translated which would take more time to change the FM files.

    What I want to know is if I could use a file format that can be used in Omega T and then be able to convert this file to FM without the Publisher re - edit the file.

    Concerning

    Denjiba-manual

    With regard to the function "Save as XML" in FrameMaker:

    You may know that in FrameMaker, you can work with 'structured' and regular documents.

    When you use "Save as XML" with a document ordinary FM, the resulting XML is simply an output format and are not suitable for reopening in FM. You can translate the XML resulting, but once you return to the FM file, you need to reapply the formatting and the initial numbers back into place. (At least this is what I know of FM8.)

    Otherwise, when you work with an application of structure in FM, you can save documents structured FM in XML format for editing. This means, you can change (translate) the XML document outside FM and open the (translated) XML file published in FM.

    OmegaT regarding:

    I see two ways of translating a document of FM with OmegaT. For both, you will need the Okapi Framework to convert your files into an intermediate format.

    One way requires that your document is a document structured in FM, you can save in XML format for editing. The XML document has probably none of the types of documents that can be translated immediately OmegaT. You can, however, use a utility of the framework of the Okapi to extract translatable text in the XML document in a XLIFF file. Later, you can merge the translated text in the original XML file, which you can bring in FM.

    The other way is similar, but starts with an of FrameMaker MIF file. In this case, regardless of whether or not the document of FM is structured. Of course, there is a MIF Filter for the frame of the Okapi, which allows you to extract the translatable text of MIF in an XLIFF file. Just like above, you can later merge the translated text in the original MIF file. However, the MIF Filter is in beta state, so don't expect it to work perfectly.

    More on the Okapi Framework can be found at http://okapi.opentag.com.

    All that being said, I only played a bit with OmegaT and Okapi. At work, I use an old version of Trados.

    Johannes

  • Help loading the (huge) large XML files

    Hi all

    I have a new project that will involve loading a 70 000 KB XML document that I will work on short time. I'm sure that there is no way I want to load all of this before the user can start using the data. Does anyone know what I should do to work with this large of a file in Flash? Any suggestions on books or Web sites that may offer a solution would be great. I do not expect a complete documentation and/or code just a point in the right direction on how to achieve this.

    Thank you

    Thanks Rothrock. It's pretty much exactly what I was looking for. I wasn't sure if I could get to 'parts' of the Flash xml file. I think I'll write a script to split the large file into smaller files or the mandrel in a database or something. This way I can access the smaller Flash data files.

    Thanks for the tip on the Newsgroups.

  • How you Zip a very large PowerPoint file to email?

    How you Zip a very large file Power Point in order to send email?

    Select the .ppt file. CTRL - or RIGHT click and select compress... from the context menu. There is no assurance that zip the file to reduce its size enough for your needs. In this case you'll need a third-party utility that can split archive into several parts such that you can send each part in separate emails. Notify the recipient which utility you used to replace parts in the file size.

  • How to remove and delete a downloaded file

    How can I remove and delete a downloaded file. I downloaded a large file a PDF I want to remove

    You open the folder via the context menu of the PDF file?

    That should open the folder where you saved the file in Windows Explorer and there you can delete (delete) the file.

  • How to call and receive from csv file

    I have a file employee.csv which contains details empid empname,
    I want to fetch corresponding empid offering empname entry comes from the file employee.csv and write empid in DB

    I had created a file of reading for employee.csv but for the receive activity that a variable is created
    How to give input (empname) to the file and get the empid from this file.

    Please help me in this edition

    Hello

    You will need to filter the native XML content using the processing activity. In this use of the xslt file

    
    

    See for more information - http://www.w3schools.com/xsl/xsl_for_each.asp

    Kind regards
    Neeraj Sehgal

  • How can I recover the index.xml file?

    I can't open a document Pages I've recently worked on. I get this message: I can't open a document, I worked on. I get the message: the requested index.xml file is missing.  What should I do? Thank you, Miriam

    You have two versions of Pages on your Mac and tried to open an incompatible v5 Pages document, while the Pages ' 09 still worked. You simply leave the Pages ' 09 (the purple ink bottle icon) and then double-click on the same document for it to open correctly in your version of Pages v5 (yellow paper with the pencil icon).

Maybe you are looking for

  • Video rental will not play

    I rented a movie from iTunes and it won't play it gets stuck on a black screen, I can see all the thumbnails of chapters, but can't watch the movie. If I transfer the movie to my iPhone I can watch it, but I'd rather watch it on the macbook air. Also

  • Sends data to a VI to the other

    My test application consists of several VI. One of them is just to enter/modify test information, for example the tester name, date, HAD model names and numbers etc. Another is for entering the data of test equipment (serial numbers, calibration due

  • My PC (Windows XP SP3) restarts unexpectedly when you run Picasa Google Chrome and since I installed Acrobat Reader 10 it also occurs with this program.

    Original title: unexpected reboot My PC (Windows XP SP3) restarts unexpectedly when you run Picasa Google Chrome and since I installed Acrobat Reader 10 it also occurs with this program.                                                                

  • problem installing printer wireless HP 4620

    Hello - I don't have many computer skills and hope someone can give some advice for a rookie, to solve this problem. I just bought a wireless hp printer 4620 and cannot get it set up to exploit the wireless. I can make it work with a usb cable on my

  • Need help with HP's ESSENTIAL SYSTEM UPDATES...

    It's my pc: http://h10025.www1.HP.com/ewfrf/wc/product?product=5039381&LC=en&cc=in&DLC=en&lang=en&tmp_track_link... I downloaded this a SIU (which is recommended for my laptop) here: http://h10025.www1.HP.com/ewfrf/wc/softwareDownloadIndex?softwareit