Import Large XML File to Table

I have a large (819MB) XML file I'm trying to import into a table in the format:
<ROW_SET>
<ROW>
<column_name>value</column_name>
</ROW>
<ROW>
<column_name>value</column_name>
</ROW>
</ROW_SET>
I've tried importing it with xmlsequence(...).extract(...) and ran into the number of nodes exceed maximum error.
I've tried importing it with XMLTable(... passing XMLTYPE(bfilename('DIR_OBJ','large_819mb_file.xml'), nls_charset_id('UTF8'))) and I gave up after it ran for 15+ hours ( COLLECTION ITERATOR PICKLER FETCH issue ).
I've tried importing it with:
insCtx := DBMS_XMLStore.newContext('schemaname.tablename');
DBMS_XMLStore.clearUpdateColumnList(insCtx);
DBMS_XMLStore.setUpdateColumn(insCtx,'column1name');
DBMS_XMLStore.setUpdateColumn(insCtx,'columnNname');
ROWS := DBMS_XMLStore.insertXML(insCtx, XMLTYPE(bfilename('DIR_OBJ','large_819mb_file.xml'), nls_charset_id('UTF8')));
and ran into ORA-04030: out of process memory when trying to allocate 1032 bytes (qmxlu subheap,qmemNextBuf:alloc).
All I need to do is read the XML file and move the data into a matching table in a reasonable time. Once I have the data in the database, I no longer need the XML file.
What would be the best way to import large XML files?
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE     11.2.0.1.0     Production"
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

This (rough) 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.
By using the HOLDS_XML table with SECUREFILE BINARY XML storage (which became the default in 11.2.0.2) we are providing a place for Oracle to store a parsed version of the XML. This allows the XML to be stored on disk instead of in memory. Oracle can then access the needed pieces of XML from disk by streaming them instead of holding the whole XML in memory and parsing it repeatedly to find the information needed. That is what COLLECTION ITERATOR PICKLER FETCH means. A lot of memory work. You can search on that term to learn more about it if needed.
The XMTable approach then simply reads this XML from disk and should be able to parse the XML with no issue. You have the option of adding indexes to the XML, but since you are simply reading it all one time and tossing it, there is no advantage to indexes (most likely)

Similar Messages

  • Is there a way to import large XML files into HANA efficiently are their any data services provided to do this?

    1. Is there a way to import large XML files into HANA efficiently?
    2. Will it process it node by node or the entire file at a time?
    3. Are there any data services provided to do this?
    This for a project use case i also have an requirement to process bulk XML files, suggest me to accomplish this task

    Hi Patrick,
         I am addressing the similar issue. "Getting data from huge XMLs into Hana."
    Using Odata services can we handle huge data (i.e create schema/load into Hana) On-the-fly ?
    In my scenario,
    I get a folder of different complex XML files which are to be loaded into Hana database.
    Then I gotta transform & cleanse the data.
    Can I use oData services to transform and cleanse the data ?
    If so, how can I create oData services dynamically ?
    Any help is highly appreciated.
    Thank you.
    Regards,
    Alekhya

  • How do I import one xml file into 3 separate tables in db?

    I need to utilize xslt to import one xml file into 3 separate tables: account, accountAddress, streetAddress
    *Notice the missing values in middleName, accountType
    sample xml
    <account>
    <firstName>Joe</firstName>
    <middleName></middleName>
    <lastName>Torre</lastName>
    <accountAddress>
    <streetAddress>
    <addressLine>myAddressLine1</addressLine>
    <addressLine>myAddressLine2</addressLine>
    </streetAddress>
    <city>myCity</city>
    <state>myState</state>
    <postalCode>mypostalCode</postalCode>
    </accountAddress>
    <accountId>A001</accountId>
    <accountType></accountType>
    <account>
    I need the following 3 results in 3 separate xml files in order for me to upload into my 3 tables.
    Result #1
    <rowset>
    <row>
    <firstName>Joe</firstName>
    <lastName>Torre</lastName>
    <accountId>A001</accountId>
    <row>
    <rowset>
    Result #2
    <rowset>
    <row>
    <addressId>1</address>
    <city>myCity</city>
    <state>myState</state>
    <postalCode>myPostalCode</postalCode>
    <row>
    <rowset>
    Result #3
    <rowset>
    <row>
    <addressId>1</addressId>
    <addressLineSeq>1</addressLineSeq>
    <addressLine>myAddressLine1</addressLine>
    <row>
    <row>
    <addressId>1</addressId>
    <addressLineSeq>2</addressLineSeq>
    <addressLine>myAddressLine2</addressLine>
    <row>
    <rowset>

    Use XSU to store in multiple tables.
    "XSU can only store data in a single table. You can store XML across tables, however, by using the Oracle XSLT processor to transform a document into multiple documents and inserting them separately. You can also define views over multiple tables and perform insertions into the views. If a view is non-updatable (because of complex joins), then you can use INSTEAD OF triggers over the views to perform the inserts."
    http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14252/adx_j_xsu.htm#i1007013

  • A query while  importing  an XML file into a Database Table

    Hi,
    I am Creating an ODI Project to import an XML file into a Database Table.With the help of the following link
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/odi/odi_11g/odi_project_xml-to-table/odi_project_xml-to-table.htm
    I am facing a problem while creating Physical Schema for the XML Source Model.
    For the
    Schema(Schema)
    and
    Schema(Work Schema) field they have selected GEO_D.
    What is GEO_D here??
    or
    What I have to select here?
    1) schema of the xml file (NB:-I havn't created any .xsd or .dtd file for my .xml file)
    or
    2)my target servers schema
    Please tell me what I'll do??
    Thanks

    and
    Schema(Work Schema) field they have selected GEO_D.
    What is GEO_D here??This is the schema name which is specified in the XML file .
    What I have to select here?
    1) schema of the xml file (NB:-I havn't created any .xsd or .dtd file for my .xml file)Yes
    2)my target servers schema
    Please tell me what I'll do??
    Thanks

  • Partial import from XML file

    Hello,
    I need to import some specific nodes from a large XML file, into an Oracle table, containing columns not necessarily labeled identical to the XML nodes.
    Can it bee done from within HTMLDB?
    Thanks for the help,
    Arie.

    Arie,
    You can certainly upload files with HTML DB, search the forum for file upload. Once you uploaded your XML file, you can parse it and process it however you want using Oracle’s XML DB features. You can post XML DB specific questions here:
    XML DB
    Regards,
    Marc

  • Performance Problem in parsing large XML file (15MB)

    Hi,
    I'm trying to parse a large XML file(15 MB) and facing a clear performance problem. A Simple XML Validation using the following code snippet:
    DBMS_LOB.fileopen(targetFile, DBMS_LOB.file_readonly);
    DBMS_LOB.loadClobfromFile
    tempCLOB,
    targetFile,
    DBMS_LOB.getLength(targetFile),
    dest_offset,
    src_offset,
    nls_charset_id(CONSTANT_CHARSET),
    lang_context,
    conv_warning
    DBMS_LOB.fileclose(targetFile);
    p_xml_document := XMLType(tempCLOB, p_schema_url, 0, 0);
    p_xml_document.schemaValidate();
    is taking 30 mins on a HP-UX (4GB ram, 2 CPU) machine (Oracle version : 9.2.0.4).
    Please explain what could be going wrong.
    Thanks In Advance,
    Vineet

    Thanks Mark,
    I'll open a TAR and also upload the schema and instance XML.
    If i'm not changing the track too much :-) one more thing in continuation:
    If i skip the Schema Validation step and directly insert the instance document into a Schema linked XMLType table, what does OracleXDB do in such a case?
    i'm getting a severe performance hit here too... the same file as above takes almost 40 mins to Insert.
    code snippet:
    DBMS_LOB.fileopen(targetFile, DBMS_LOB.file_readonly);
    DBMS_LOB.loadClobfromFile
    tempCLOB,
    targetFile,
    DBMS_LOB.getLength(targetFile),
    dest_offset,
    src_offset,
    nls_charset_id(CONSTANT_CHARSET),
    lang_context,
    conv_warning
    DBMS_LOB.fileclose(targetFile);
    p_xml_document := XMLType(tempCLOB, p_schema_url, 0, 0);
    -- p_xml_document.schemaValidate();
    insert into INCOMING_XML values(p_xml_document);
    Here table INCOMING_XML is :
    TABLE of SYS.XMLTYPE(XMLSchema "http://INCOMING_XML.xsd" Element "MatchingResponse") STORAGE Object-
    relational TYPE "XDBTYPE_MATCHING_RESPONSE"
    This table and type XDBTYPE_MATCHING_RESPONSE were created using the mapping provided in the registered XML Schema.
    Thanks,
    Vineet

  • How to import an XML file

    Hi guys
    I want to import an XML file in the physical layer of BI administration tool; after i need to import some oracle table in order to define some relations between thw oracle tabel and the xml file.
    What are the steps that i need to follow/execute to import this xml file in my physical layer?
    thanks in advance
    best reguards

    Hi
    If you have paint rpd, then just refer that.. .
    Normally we import xml db by clicking File > Import > From database.
    And select Connection Type as XML
    for URL, click on browse and navigate to the path where your xml database is located... and import...

  • What XML encoding do I use to get APEX to import an XML file?

    Environment:
    APEX 3.1.1.00.09 on AIX 5.3
    SQL Developer 1.5.5 on Windows XP Pro SP3
    Oracle 10.2.0.2 EE on AIX 5.3
    Trying to import an XML file generated from SQL Developer into a table using APEX Import utility.
    I'm getting the error: ORA-19200: Invalid column specification
    All I've done is exported the EMP table from SQL Developer (v. 1.5.5) into an XML file and then tried to load into an empty EMP table in the database (10.2.0.2) using APEX and the Data Load Utility.
    I've tried creating the XML file using different encodings out of SQL Developer but so far an still getting the above error.
    Any help is greatly appreciated.
    -gary

    Hi Scott
    First of all I was successful in exporting and re-importing the EMP table to and from APEX.
    When I exported the EMP table in XML format using SQL Developer, the resulting XML looked very different from the same data exported from APEX. My APEX exported XML looked just like yours. Here are the first 3 rows of the XML file exported from SQL Developer. I'm NOT an XML person so I can't judge whether or not this is valid XML but I can tell you that it doesn't import into an empty EMP table through APEX. I can control the encoding type in SQL Developer and have tried several different flavors.
    <?xml version='1.0' encoding='UTF-8' ?>
    <RESULTS>
         <ROW>
              <COLUMN NAME="EMPNO"><![CDATA[7876]]></COLUMN>
              <COLUMN NAME="ENAME"><![CDATA[ADAMS]]></COLUMN>
              <COLUMN NAME="JOB"><![CDATA[CLERK]]></COLUMN>
              <COLUMN NAME="MGR"><![CDATA[7788]]></COLUMN>
              <COLUMN NAME="HIREDATE"><![CDATA[12-JAN-83]]></COLUMN>
              <COLUMN NAME="SAL"><![CDATA[1100]]></COLUMN>
              <COLUMN NAME="COMM"><![CDATA[]]></COLUMN>
              <COLUMN NAME="DEPTNO"><![CDATA[20]]></COLUMN>
         </ROW>
         <ROW>
              <COLUMN NAME="EMPNO"><![CDATA[7499]]></COLUMN>
              <COLUMN NAME="ENAME"><![CDATA[ALLEN]]></COLUMN>
              <COLUMN NAME="JOB"><![CDATA[SALESMAN]]></COLUMN>
              <COLUMN NAME="MGR"><![CDATA[7698]]></COLUMN>
              <COLUMN NAME="HIREDATE"><![CDATA[20-FEB-81]]></COLUMN>
              <COLUMN NAME="SAL"><![CDATA[1600]]></COLUMN>
              <COLUMN NAME="COMM"><![CDATA[300]]></COLUMN>
              <COLUMN NAME="DEPTNO"><![CDATA[30]]></COLUMN>
         </ROW>
         <ROW>
              <COLUMN NAME="EMPNO"><![CDATA[7521]]></COLUMN>
              <COLUMN NAME="ENAME"><![CDATA[WARD]]></COLUMN>
              <COLUMN NAME="JOB"><![CDATA[SALESMAN]]></COLUMN>
              <COLUMN NAME="MGR"><![CDATA[7698]]></COLUMN>
              <COLUMN NAME="HIREDATE"><![CDATA[22-FEB-81]]></COLUMN>
              <COLUMN NAME="SAL"><![CDATA[1250]]></COLUMN>
              <COLUMN NAME="COMM"><![CDATA[500]]></COLUMN>
              <COLUMN NAME="DEPTNO"><![CDATA[30]]></COLUMN>
         </ROW>
    Maybe I should move this thread to the SQL Developer or XML forums.
    If you have any other suggestions I would be most appreciative.
    Thanks very much for your help.
    -gary

  • Query in a large xml file

    Hello,
    I'm trying to work with very large xml files which are created from csv files. These files may be very large - up to 1 GB ! Untill now I have managed to do several validations on these big xml files, and the only thing that works for me is SAX parser, DOM is out of the question because it fills up memory.
    My next task is to do queries on these files, smth like:
    select field1,field2 from file.xml
    where field3 = 'A'
    and (fileld4>'B' or field1='C')
    order by field2.
    I searched the net about finding out how to make queries on xml files (since I have never done queries on xml before), but I couldn't find which "query language" is best for large files. If I use XPath (XSLT) will that not cause me memory problems because XSLT represents the file as a memory object?
    My idea is to parse the file with SAX and check every row if it fits the where condition and then write it immediately to a result xml file. But validating the where statement can be very complicated without using some tool. Also the order by statement is another problematic issue.
    Does anyone have some more intelegent ideas about how I can do this? Please help! :(
    The xml file looks like this:
    <doc>
    <row id ="1">
    <column id="1" name="column1">value</column>
    <column id="N" name="columnN">value</column>
    </row>
    <row id ="M">
    <column id="1" name="column1">value</column>
    <column id="N" name="columnN">value</column>
    </row>
    </doc>

    Hi all,
    Thank you very much for your replies.
    First, saxon didn't work because it uses an in-memory parser, and that is what I was trying to avoid.
    Different database is also out of the question, because the customer insist on XML, and also there are some files that can never be converted to a database table, because eventually with some transformations thay are changed and are not completely like the standard csv format.
    I think that maybe http://exist.sourceforge.net is the rigth solution for me, but I will probably try it in the next version of my project.
    For now I have managed to make the project with only SAXParser and a lot of back - end programming and it works ok, althoug it was very hard to make it, and will be harded to maintain, so I will try to look at the eXist project.
    Thanks everyone for the help.

  • How to import a XML file into the document?

    Hai,
    i had created a table using xml file....
    Now i want to import that xml file tabel into the document...
    Can any one tell me how to import the xml file into the document?
    thanks
    senthil

    Hai...
    this is senthil...
    i'm beginner for creating adobe indesign plugins..
    i want to import a html file in the document...
    i want to create a table by using html tags and
    that table will be imported into the document..
    How shall i do it?
    can any one plzz explain me?

  • How to parse large xml file

    I need to parse large xml file which contains following tag. The size of the file is upto 10MB-50MB or more.
    <departments>
    <department>
    <a_depart id="124">
    <b_depart id="Bss_253">
    <bss_depart id="253">
    <attributes>
    <name_one>abc</name_one>
    </attributes>
    </bss_depart id="253">
    </b_depart id="Bss_253">
    </a_depart id="124">
    </department>
    <department>
    <a_depart id="124">
    <b_depart id="Bss_254">
    <mss_depart id="253">
              <attributes>
              <name_one>abc</name_one>
              <name_two>xyz</name_one>
              </attributes>
         </mss_depart>
         </b_depart>
    </a_depart>
    </department>
    <department>
    <a_depart id="124">
    <b_depart id="Bss_254">
    <mss_depart id="255">
              <attributes>
              <name_one>abc</name_one>
              <name_two>xyz</name_one>
              </attributes>
         </mss_depart>
         </b_depart>
    </a_depart>
    </department>
    <department>
    <a_depart id="125">
    <b_depart id="Bss_254">
    <mss_depart id="253">
              <attributes>
              <name_one>abc</name_one>
              <name_two>xyz</name_one>
              </attributes>
         </mss_depart>
         </b_depart>
    </a_depart>
    </department>
    I want to get the infomation for that xml file. like mss_depart id=233, building xpath dyanmically for every id and loading
    that using dom4j. which is very very slow.
    Is there any other solution for that to read the data using sax parser only.
    I want to execute the xpath or data for the following way.
    //a_depart/@id ------> all the ids of a_depart tags if it returns 3 values say 123,124,125
    after that i want to execute
    //a_depart[@id='123']/b_depart/@id like this ...to retrive the values of all the levels ...
         I am executing following xpath for every unique ids at all levels.
         List l = doc.selectNodes(xPathForID);
         List l1 = doc.selectNodes(xPathForAttributes+attributes.get(j)+"/text()");
    But it is very slow and taking lot of time.
    Is there any other way to solve this problem. If any please mail me it is urgent.
    I am using jdk1.4 and jdk1.5
    Is there any support for sax parser to execute xpath in jdk1.5 direclty, with out using dom4j
    Thanks in advance....

    I doubt you will find a preexisting solution to your problem.
    SAX is usually recommended for processing big files (where "big" is undefined"). It works on big files by avoiding the messy problem of storing the data -- that is left as an exercise to you.
    DOM (and its variants) works by building a Document object as the head of the tree of objects for the entire contents. With DOM, you can then use XPath, because there is something to search that is already in memory. To use XPath, you seem to have two choices, build a DOM-ish tree, or if you can find an XPath processor (I'm not sure if one exists) that can process the XML file directly, but it will be slow, since you are looking for "all" occurences of an attribute, and this means you have to read the entire file each time.
    It might be worth exploring a hybrid approach -- use SAX to get some information, and build your own objects to store the data. Maybe a HashMap as the main index. But, that will keep you from using XPath, since you do not have the data structures it expects.
    A third alternative would be to look at JAXB. It builds Java code from a Schema of your data and then when you import the data, it creates the necessary objects and fills in values. But, I don't think XPath woll work there either.
    Dave Patterson

  • How to insert large xml file to XMLType column?

    Hi,
    I have a table with one column as XMLType(Binary XML storage option and Free Text Indexing). When i try to insert a large XML as long as 8kb, i'm getting an error ORA-01704:string literal too long.
    Insert into TEST values(XMLTYPE('xml HERE'));
    How to insert large XML values to XMLType column?
    Regards,
    Sprightee

    For a large XML file, you basically have two options - you can load the string directly as an XMLType, or you can load the string as a CLOB and cast it on the database side to an XMLType.
    If you decide to load the XML as XmlType client-side, then you may be interested to know that versions of Oracle after 11.2.0.2 support the JDBC 4.0 SQLXML standard. See the JDBC driver release documentation here:
    http://docs.oracle.com/cd/E18283_01/java.112/e16548/jdbcvers.htm#BABGHBCC
    If you want to load as a CLOB, then you'll need to use PreparedStatement's setClob() method, or allocate an oracle.sql.clob object.
    For versions before 11.2.0.2, you can create an XMLType with a constructor that includes an InputStream or byte[] array.
    HTH
    Edited by: 938186 on Jun 23, 2012 11:43 AM

  • Loading, processing and transforming Large XML Files

    Hi all,
    I realize this may have been asked before, but searching the history of the forum isn't easy, considering it's not always a safe bet which words to use on the search.
    Here's the situation. We're trying to load and manipulate large XML files of up to 100MB in size.
    The difference from what we have in our hands to other related issues posted is that the XML isn't big because it has a largly branched tree of data, but rather because it includes large base64-encoded files in the xml itself. The size of the 'clean' xml is relatively small (a few hundred bytes to some kilobytes).
    We had to deal with transferring the xml to our application using a webservice, loading the xml to memory in order to read values from it, and now we also need to transform the xml to a different format.
    We solved the webservice issue using XFire.
    We solved the loading of the xml using JAXB. Nevertheless, we use string manipulations to 'cut' the xml before we load it to memory - otherwise we get OutOfMemory errors. We don't need to load the whole XML to memory, but I really hate this solution because of the 'unorthodox' manipulation of the xml (i.e. the cutting of it).
    Now we need to deal with the transofmation of those XMLs, but obviously we can't cut it down this time. We have little experience writing XSL, but no experience on how to use Java to use the XSL files. We're looking for suggestions on how to do it most efficiently.
    The biggest problem we encounter is the OutOfMemory errors.
    So I ask several questions in one post:
    1. Is there a better way to transfer the large files using a webservice?
    2. Is there a better way to load and manipulate the large XML files?
    3. What's the best way for us to transform those large XMLs?
    4. Are we missing something in terms of memory management? Is there a better way to control it? We really are struggling there.
    I assume this is an important piece of information: We currently use JDK 1.4.2, and cannot upgrade to 1.5.
    Thanks for the help.

    I think there may be a way to do it.
    First, for low RAM needs, nothing beats SAX. as the first processor of the data. With SAX, you control the memory use since SAX only processes one "chunk" of the file at a time. You supply a class with methods named startElement, endElement, and characters. It calls the startElement method when it finds a new element. It calls the characters method when it wants to pass you some or all of the text between the start and end tags. It calls endElement to signal that passing characters is over, and to let you get ready for the next element. So, if your characters method did nothing with the base-64 data, you could see the XML go by with low memory needs.
    Since we know in your case that the characters will process large chunks of data, you can expect many calls as SAX calls your code. The only workable solution is to use a StringBuffer to accumulate the data. When the endElement is called, you can decode the base-64 data and keep it somewhere. The most efficient way to do this is to have one StringBuffer for the class handling the SAX calls. Instantiate it with a big enough size to hold the largest of your binary data streams. In the startElement, you can set the length of the StringBuilder to zero and reuse it over and over.
    You did not say what you wanted to do with the XML data once you have processed it. SAX is nice from a memory perspective, but it makes you do all the work of storing the data. Unless you build a structured set of classes "on the fly" nothing is kept. There is a way to pass the output of one SAX pass into a DOM processor (without the binary data, in this case) and then you would wind up with a nice tree object with the rest of your data and a group of binary data objects. I've never done the SAX/DOM combo, but it is called a SAXFilter, and you should be able to google an example.
    So, the bottom line is that is is very possible to do what you want, but it will take some careful design on your part.
    Dave Patterson

  • Is JAXB suitable for large XML files ?

    Hi,
    I have a very large XML file (~700 MB) (schema available). I need to unmarshall this into java objects and carry out some (business validation rules) on it.. These buisness rules may involve validating data from content objects that correspond to different sections of this large XML file.
    I am uncertain whether JAXB will help me here. (just started on it) Does JAXB build the entire content tree for the XML document during Unmarshaller.unmarshall ? Is there anyway of asking it to build content objects on demand as opposed to building the whole content tree immediately ?
    All help/suggestions appreciated.

    Forgot to add:
    after carrying out validation the data is put into some RDBMS tables.
    One approach would be to convert the XML files into SQL Loader compatible flat files (using a tool). Load these flat files into staging tables. Perform business validations on staging table data and then finally move the data into the main tables. All the validating logic could either be in stored procedures or java code.
    The above is very long-winded. It would be great if JAXB can handle very large XML files (without loading the whole XML file into memory) so that business validations can be done by java, without any intermediate format conversion.
    I hope the above is somewhat clear.

  • Importing a XML file in my INDD template. I get lots of unwanted paragraph breaks

    Hi,
    I am importing a XML file in my INDD template. I get lots of unwanted paragraph breaks where the closing xml tags for elements appear.
    Can someone guide me please to rectify the problem?
    Regards,
    ~shibu

    Here is the screen shot from INDD: Though I manage to get rid 0f them when i close up the XML tag manually, I want a sure-shot solution. Thanks for helping me out.
    and here is the screen shot of the XML coding:
    <para aid:pstyle="4 body text">Another common alkali is potassium hydroxide, KOH.</para>
    <equation><mathphrase>KOH(aq) &#x2192; K<superscript>+</superscript>(aq) + OH<superscript>&#x2013;</superscript>(aq)</mathphrase></equation>
    <qandaset>
    <title aid:pstyle="7 Questions heading"><emphasis role="underline">Questions A</emphasis></title><qandadiv><qandaentry><question><orderedlist numeration="arabic" startingnumber="1">
    <listitem><para aid:pstyle="7 Question text">Two solutions are tested with universal indicator paper. Solution A has a pH of 8 and solution B has a pH of 14. What does this tell you about the two solutions?</para></listitem>
    <listitem><para aid:pstyle="7 Question text">Methyl orange is added to a solution and the solution turns pink. What does this tell you about the solution?</para></listitem><listitem><para aid:pstyle="7 Question text">What does the &#x2018;basicity&#x2019; of an acid refer to?</para></listitem>
    <listitem><para aid:pstyle="7 Question text">Calcium oxide is an example of a base. How do you know this?</para></listitem>
    </orderedlist>
    </question>
    </qandaentry>
    </qandadiv>
    </qandaset>
    </sect1>
    <sect1>
    <title aid:pstyle="3 Heading">What are salts?</title>
    <para aid:pstyle="4 body text">Previously, it was explained that acids contain <emphasis role="bold" aid:cstyle="4 body bold">replaceable hydrogen atoms</emphasis>, and that when <emphasis role="bold" aid:cstyle="4 body bold">metal atoms</emphasis> take their place, a compound called a salt is formed. The names of salts have two parts, as shown:</para>
    <!-- <equation><mediaobject><textobject><figure href="file:///D:/images/reaction2.tif"><title/><para/></figure></textobject></mediaobject></equation> -->
    <para aid:pstyle="4 body text">The table shows the four most common acids and their salt names.</para>

Maybe you are looking for

  • 2 iTunes problems Post Mac Book HD Failure

    Recently I had a HD problem on my Mac Book that is now resolved As far as iTunes goes I want to be able to get at my purchased music and decide what I want to download However I'm finding 2 problems with this 1 - When I go into Purchased music I only

  • Embed Tag Issue

    Can I somehow pass variables into Embed attributes?  e.g.: [Embed(source=variable, mimeType=<type>)]  I tried, but It always said that Unable to transcode 'variable' Thanks & Regards Virat Patil

  • How do i import my photo liabrary to my computer?

    when i hook my ipod up to my computer i can import my camera roll, but how do i import my photo liabrary?

  • VMM very slow connecting to VM's

    We have two environments that are essentially duplicates of each other. The testing environment is made up of slightly old hardware and the production environment is much newer and better hardware. The VM's we run are identical in the two environment

  • Screen is sticking out...?

    Okay, this is kind of hard to explain, but I'll try. So basically, a basketball hit the back of my screen (I know... but it wasn't my fault), and now on the bottom it's kind of bulging out. In the middle, the screen sticks out over the casing; also,