Read Node Attribute with XML DOM.

Hello, I have a XML File like this:
<?xml version="1.0" encoding="ISO-8859-15"?>
<Datenexport>
<Codeliste Nr="1">
<Entry>
<Code>J</Code>
<Decodierung_DE>JA</Decodierung_DE>
<Decodierung_EN/>
</Entry>
<Entry>
<Code>N</Code>
<Decodierung_DE>NEIN</Decodierung_DE>
<Decodierung_EN/>
</Entry>
</Codeliste>
<Codeliste Nr="3">
<Entry>
<Code>??</Code>
<Decodierung_DE>Code noch festzulegen</Decodierung_DE>
<Decodierung_EN>Code to be defined</Decodierung_EN>
</Entry>
I read the File with DOM and it works fin.
This is a sample of my code:
begin
INDOMDOC := DBMS_XMLDOM.NEWDOMDOCUMENT(xml_doc.GETclobVAL());
l_nl := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(indomdoc),'/Datenexport','xmlns:xiz="http://www.bvl.bund.de/Schema/2010/xiz"');
FOR cur IN 0 .. dbms_xmldom.getLength(l_nl) - 1
LOOP
l_n := dbms_xmldom.item(l_nl, cur);
l_nl2 := dbms_xmldom.getchildnodes(l_n);
lv_value := dbms_xmldom.getnodename(dbms_xmldom.getfirstchild(l_n));
          FOR cur2 IN 0 .. dbms_xmldom.getLength(l_nl2) - 1
          LOOP
          l_n2 := xmldom.ITEM(l_nl2, cur2);
          nodename_val := dbms_xmldom.getnodename(l_n2);
          dbms_output.put_line('NodenameAntrag: '||nodename_val);
          lv2_value := dbms_xmldom.getnodevalue(dbms_xmldom.getfirstchild(l_n2));
          dbms_output.put_line('NodeValue: '||lv2_value);
          IF nodename_val = 'Codeliste' THEN number_val := dbms_xmldom.????????????????;
Now, i need to read the number of the "Codeliste" (<Codeliste Nr="1">).
But i haven´t find the right function.
Could anbody help me?

Still not using XMLTable for this? ;)
OK, using DOM, for example :
SQL> set serveroutput on
SQL>
SQL> declare
  2    doc       xmltype;
  3    indomdoc  dbms_xmldom.domdocument;
  4    l_nl      dbms_xmldom.DOMNodeList;
  5    l_n       dbms_xmldom.DOMNode;
  6    lv_value  varchar2(30);
  7  begin
  8    doc := xmltype('<?xml version="1.0" encoding="ISO-8859-15"?>
  9  <Datenexport>
10  <Codeliste Nr="1">
11  <Entry>
12  <Code>J</Code>
13  <Decodierung_DE>JA</Decodierung_DE>
14  <Decodierung_EN/>
15  </Entry>
16  <Entry>
17  <Code>N</Code>
18  <Decodierung_DE>NEIN</Decodierung_DE>
19  <Decodierung_EN/>
20  </Entry>
21  </Codeliste>
22  <Codeliste Nr="3">
23  <Entry>
24  <Code>??</Code>
25  <Decodierung_DE>Code noch festzulegen</Decodierung_DE>
26  <Decodierung_EN>Code to be defined</Decodierung_EN>
27  </Entry>
28  </Codeliste>
29  </Datenexport>');
30 
31 
32    indomdoc := dbms_xmldom.newdomdocument(doc);
33 
34    l_nl := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(indomdoc),'/Datenexport/Codeliste');
35 
36    FOR cur IN 0 .. dbms_xmldom.getLength(l_nl) - 1 LOOP
37       l_n := dbms_xmldom.item(l_nl, cur);
38       --lv_value := dbms_xmldom.getnodevalue(dbms_xmldom.getfirstchild(l_n));
39       dbms_xslprocessor.valueOf(l_n, '@Nr', lv_value);
40       dbms_output.put_line('Nr : '||lv_value);
41    END LOOP;
42 
43    dbms_xmldom.freeDocument(indomdoc);
44 
45  end;
46  /
Nr : 1
Nr : 3
PL/SQL procedure successfully completed

Similar Messages

  • Mapping of XML attributes with XML elements in Mediator Transformations

    Hi,
    The soure XML look like as below in the source directory of file adapter/read:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!-- Edited by Oracle JDeveloper 11.1.1.1.3®
    -->
    <CATALOG>
    <PLANT COMMON="Bloodroot" BOTANICAL="Sanguinaria canadensis">
    <ZONE>4</ZONE>
    <LIGHT>Mostly Shady</LIGHT>
    <PRICE>$2.44</PRICE>
    <AVAILABILITY>031599</AVAILABILITY>
    </PLANT>
    <PLANT COMMON="Columbine" BOTANICAL="Aquilegia canadensis">
    <ZONE>3</ZONE>
    <LIGHT>Mostly Shady</LIGHT>
    <PRICE>$9.37</PRICE>
    <AVAILABILITY>030699</AVAILABILITY>
    </PLANT>
    <PLANT COMMON="Marsh Marigold" BOTANICAL="Caltha palustris">
    <ZONE>4</ZONE>
    <LIGHT>Mostly Sunny</LIGHT>
    <PRICE>$6.81</PRICE>
    <AVAILABILITY>051799</AVAILABILITY>
    </PLANT>
    </CATALOG>
    The target XML will be as below in the target directory of file adapter/write.:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!-- Edited by Oracle JDeveloper 11.1.1.1.3®
    -->
    <CATALOG>
    <PLANT>
    <COMMON>Bloodroot</COMMON>
    <BOTANICAL>Sanguinaria canadensis</BOTANICAL>
    </PLANT>
    <PLANT>
    <COMMON>Columbine</COMMON>
    <BOTANICAL>Aquilegia canadensis</BOTANICAL>
    </PLANT>
    <PLANT><COMMON>Marsh Marigold</COMMON>
    <BOTANICAL>Caltha palustris</BOTANICAL>
    </PLANT>
    </CATALOG>
    So, I need to map attributes(COMMON and BOTANICAL) of XML data in the source with common and botanical elements of the XML in the target. How should I map attributes with elements in the XSL editor of the Mediator Transformation.
    Thanks,
    Arnab

    I will test it.
    I sale myself ONLY half CNY!

  • Jbuilder compiler problem with xml DOM - please help.

    my problem is that I am using jbuilder 4 professional to compile/run my code.
    However I want to use the XML DOM but jbuilder does not appear to support the necessary packages for use with XML.
    How can I get round this.
    Can I compile instead from the command line - I am using JDK1.4 which supports the java xml packages necessary. Or is there a way of adding the necessary files to my project?
    thanks, B

    Add the required jar files to your project properties->classpath in JBuilder
    The only problem is that. I have been using JBuilder without any problems.

  • Need help with XML DOM example

    Im going through the DOM tutorial portion on displaying a DOM with a JTree and have a few questions
    http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPDOM4.html
    lets say i have the following simple XML :
    <?xml version="1.0"?>
    <circle>
      <radius>15</radius>
      <position>
        <x-coordinate>30</x-coordinate>
        <y-coordinate>50</y-coordinate>
      </position>
    </circle>why do i get a 3 text nodes in the resulting JTree, not counting the text that are children of <radius>, <x-coordinate> and <y-coordinate> elements ?

    Is this true ? How can i avoid displaying empty text nodes ?
    The empty text elements are included because by default, DocumentBuilder creates a DOM that includes all the lexical information necessary to reconstruct the original document, in it's original form. That includes comment nodes as well as text nodes. There is as yet no standard mechanism for eliminating such lexical information in the DOM so you are left with the logical structure.

  • Node/NodeList problem [XML/DOM]

    Problem: IJava code is not printing out the 2nd node but rather printing the 1st one twice from the XML file.
                            Node firstChildren = doc.getFirstChild();
                   String nodeName1 = firstChildren.getNodeName();
                   System.out.println(nodeName1);
                   Node nextNode = firstChildren.getNextSibling();
                   String nodeName = nextNode.getNodeName();
                   System.out.println(nodeName);the XML looks like this:
    <Office>
                 <Employee Employeename="Ryan">
                            <Position>Claims</Position>
                 </Employee>
    </Office>The Java code prints out:
    Office
    Office
    Also is there a way/method to get the values of an element without making the element values into attributes? getNodeValues returns null for elements.

    Not sure your question, You should only have one node at the root of the tree, so you shouldn't be getting two different nodes. walking the roots 'siblings'
    An element doesn't have a 'value'. What we perceive a an elements value is just child nodes (Text, Elements, etc) that you need to walk with getFirstChild, getNextSibling, etc.

  • How to read the attributes of XML file

    Hi this is ant,
    I am new to java, XML, I have a senario
    1) I have to read all the href attributes for topicref child, and then read the corresponding xml file which is mapped in href="".
    First.xml
    <map>
    <topicref nav="garage" href="task/gar/view.xml" class="..">
    <linktext class="_map/linktext">Garage</linktext>
         <topicref nav="" href="task/gar/change.xml" ..>
    <linktext class="_map/linktext">Garage</linktext>
    </topicref>
    </linktext>
    </topicref>
    </map>
    2) task/gar/view.xml file , has id attribute & need to get the id values.
    Like this I have to get the id values for all the href attributes of first xml & read correspoding id values.
    I have just read some doc using XPATH we can do, please help me.
    Thanks.
    anto

    * Try this Link, there is solution
    http://forums.sun.com/thread.jspa?messageID=9665228
    Can...Can...If we try...!

  • Work with xml dom

    this is a javascript problem(sorry, not suitable here)
    i notice that we got 'microsoft.xmldom' to enable us to work with xmldom under IE, but do we had similiar thing for us to work with xmldom under netscape or mozilla? cause i'm using linux.
    thanks for helping.

    If you know the question is not suitable here, then why do you ask the question?
    Search for an answer on Netscape's website.
    Jesper

  • Nullpointer exception while multiple users reading from XML DOM object

    We are getting a null pointer exception when we are trying to read from a Static XML DOM object . We are getting the exception in weblogic 7.1 very rarely but started getting the exception in weblogic 9.2 more frequently. When multiple users are trying to access the Static variable we are getting null pointer exception. I think it is a memory related issue. Making the whole method synchronized is resolving the issue. But that is not the right thing to do. Can any one know what might be the issue here?
    I am giving the code and the XML. I have tried to give the latest Xerces parser from the Apache site but got the same exception. Please help me in this regard.
    The XML is also provided below along with the code.
    package com.test;
    import java.beans.BeanInfo;
    import java.beans.Introspector;
    import java.util.ArrayList;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    //import org.apache.xml.serialize.XMLSerializer;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    public class ObjectPersistanceXMLParser {
         public static volatile Document configXML;
         * @param objectName
         * @param attributeName
         * @return
         * @throws Throwable
         public static ArrayList getData(String objectName,String attributeName) throws Exception
              Node ndDoc = getXMLDoc();
              Node ndRoot = ndDoc.getFirstChild();
              NodeList ndFirstList = ndRoot.getChildNodes();
              BeanInfo bi = Introspector.getBeanInfo(ndFirstList.getClass());
              System.out.println("****** "+bi.getBeanDescriptor().getBeanClass().getName());
              System.out.println("This is the number of child nodes present:"+ndFirstList.getLength()+":::"+ndFirstList.item(0).getNodeValue());
              ArrayList returnResult = null;
              String strReturnResult = null;
              for(int i=0;i<ndFirstList.getLength();i++)
                   if(ndFirstList.item(i).getNodeName().equals("ObjectDBMapping"))
                        NodeList ndObjectList = ndFirstList.item(i).getChildNodes();
                        for(int j=0;j<ndObjectList.getLength();j++)
                             if(ndObjectList.item(j).getNodeName().equals("Object"))
                                  if(ndObjectList.item(j).getAttributes().getNamedItem("NAME").getNodeValue().equalsIgnoreCase(objectName))
                                       NodeList ndFieldList = ndObjectList.item(j).getChildNodes();
                                       for(int k=0;k<ndFieldList.getLength();k++)
                                            if(ndFieldList.item(k).getNodeName().equals("field"))
                                                 if(ndFieldList.item(k).getAttributes().getNamedItem("NAME").getNodeValue().equalsIgnoreCase(attributeName))
                                                      returnResult = new ArrayList();
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("SOURCE_TABLE").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("SOURCE_COLUMN").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("TYPE").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("PERSIST").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("DEFAULT_VALUE").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("PRIMARY_KEY").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("VERSIONABLE").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("PRECISION").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("FOREIGN_KEY").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("PARENT_TABLE").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("PARENT_COLUMN").getNodeValue());
                                                      returnResult.add(ndFieldList.item(k).getAttributes().getNamedItem("LEVEL").getNodeValue());
                                                      //return returnResult;
              if(strReturnResult == null){
                   System.out.println("This is the current state of dom: ");
                   //printDom((Document)ndDoc);
                   if(!attributeName.trim().equalsIgnoreCase("class") &&
                        !attributeName.trim().equalsIgnoreCase("operationFlag")&&
                        !attributeName.trim().equalsIgnoreCase("primaryKeyColumnName")&&
                        !attributeName.trim().equalsIgnoreCase("tableName"))               
                        System.out.println("No DB Mapping found for Object "+objectName+" and attribute "+attributeName);
              return returnResult;
         * @param objectName
         * @param tableName
         * @return
         * @throws Throwable
         public static int getMaxFields(String objectName,String tableName) throws Throwable
              Node ndDoc = getXMLDoc();
              Node ndRoot = ndDoc.getFirstChild();
              NodeList ndFirstList = ndRoot.getChildNodes();
              int returnResult = 0;
              for(int i=0;i<ndFirstList.getLength();i++)
                   if(ndFirstList.item(i).getNodeName().equals("ObjectDBMapping"))
                        NodeList ndObjectList = ndFirstList.item(i).getChildNodes();
                        for(int j=0;j<ndObjectList.getLength();j++)
                             if(ndObjectList.item(j).getNodeName().equals("Object"))
                                  if(ndObjectList.item(j).getAttributes().getNamedItem("NAME").getNodeValue().equalsIgnoreCase(objectName))
                                       NodeList ndFieldList = ndObjectList.item(j).getChildNodes();
                                       for(int k=0;k<ndFieldList.getLength();k++)
                                            if(ndFieldList.item(k).getNodeName().equals("field"))
                                                 if(ndFieldList.item(k).getAttributes().getNamedItem("SOURCE_TABLE").getNodeValue().equalsIgnoreCase(tableName) &&
                                                           ndFieldList.item(k).getAttributes().getNamedItem("PERSIST").getNodeValue().equalsIgnoreCase("Y"))
                                                      returnResult++;
              return returnResult;
         /*This method returns a Document Object of the ObjectConfig.xml file. This method is separated
         * out from the calling method to keep an option OPEN in case it is later decided to read XML
         * from memory instead of physical location.*/
         public static Document getXMLDoc() throws Exception
              if(configXML == null)
                   synchronized (ObjectPersistanceXMLParser.class)
                        if(configXML == null)
                             if(System.getProperty("OBJECT-CONFIG-XML") == null){
                                  System.out.println("System Property OBJECT-CONFIG-XML not found");
                             String filePath = System.getProperty("OBJECT-CONFIG-XML");
                             System.out.println("Reading CONFIG Xml from file - "+filePath);
                             DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
                             BeanInfo bi = Introspector.getBeanInfo(docBuilderFactory.getClass());
                             System.out.println("****** "+bi.getBeanDescriptor().getBeanClass().getName());
                             try
                        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
                        configXML = docBuilder.parse(filePath);
                   }catch(Throwable t)
                        int errorCode = 111;
                        String errorMsg = "Problem in parsing OBJECT-CONFIG-XML file";
                        System.out.println(errorMsg);
              else
                   System.out.println("Config XML Loaded from memory.....new");
    return configXML;
         public static void main(String args[]) throws Throwable
         /*public synchronized static void printDom(Document doc){
              XMLSerializer ser = new XMLSerializer(System.out, null);
              try {
                   ser.serialize(doc);
              } catch (Throwable e) {
                   e.printStackTrace();
              System.out.flush();
    <?xml version="1.0"?><root>
         <ObjectDBMapping>
              <Object NAME="com.los.common.entity.LoanTask">
                   <field NAME="loanTaskId" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="LOAN_TASK_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="Y"
                        VERSIONABLE="Y" FOREIGN_KEY="N" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="taskId" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="TASK_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="Y" PARENT_TABLE="UWM_TASK_MASTER" PARENT_COLUMN="TASK_ID">
                   </field>
                   <field NAME="taskName" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="TASK_NAME" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="taskStatus" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="TASK_STATUS" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="taskCreationDate" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="TASK_CREATION_DATE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="taskClosureDate" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="TASK_CLOSURE_DATE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="taskClosedBy" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="TASK_CLOSED_BY" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="updatedDate" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="UPDATED_DATE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="updatedBy" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="UPDATED_BY" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="createdDate" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="CREATED_DATE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="createdBy" SOURCE_TABLE="UW_LOAN_TASKS"
                        SOURCE_COLUMN="CREATED_BY" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
              </Object>
              <Object NAME="com.los.common.entity.LOSUnderwritingRules">
                   <field NAME="undwRunRuleId" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="UNDW_RUN_RULE_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="Y"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="underwritingRunNo" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="UNDERWRITING_RUN_NO" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="underwritingRunId" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="UNDERWRITING_RUN_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="ruleGroup" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="RULE_GROUP" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="ruleName" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="RULE_NAME" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="messageCode" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="MESSAGE_CODE" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="messageText" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="MESSAGE_TEXT" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="passFail" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="PASS_FAIL" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="overrideAuthorityLevel" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="OVERRIDE_AUTHORITY_LEVEL" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="overrideYN" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="OVERRIDE_Y_N" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="overrideBy" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="OVERRIDE_BY" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="overrideOn" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="OVERRIDE_ON" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="createdBy" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="CREATED_BY" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="updatedBy" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="UPDATED_BY" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="createdDate" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="CREATED_DATE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="updatedDate" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="UPDATED_DATE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="processName" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="PROCESS_NAME" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="overrideReason" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="OVERRIDE_REASON" TYPE="VARCHAR2" LENGTH="1000"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="messageModule" SOURCE_TABLE="UW_UNDERWRITING_RULES"
                        SOURCE_COLUMN="MESSAGE_MODULE" TYPE="VARCHAR2" LENGTH="30"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
              </Object>
              <Object NAME="com.los.common.entity.Applicant">
                   <field NAME="applicantId" SOURCE_TABLE="UW_APPLICANT_MASTER"
                        SOURCE_COLUMN="APPLICANT_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="Y"
                        VERSIONABLE="N" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
              <field NAME="registrationNumber" SOURCE_TABLE="UW_APPLICANT_MASTER"
                        SOURCE_COLUMN="REGISTRATION_NUMBER" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="N" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="cifNumber" SOURCE_TABLE="UW_APPLICANT_MASTER"
                        SOURCE_COLUMN="CIF_NUMBER" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="N" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                        </field>
              <field NAME="customerStatus" SOURCE_TABLE="UW_APPLICANT_MASTER"
                        SOURCE_COLUMN="CUSTOMER_STATUS" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="N" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
              <field NAME="customerType" SOURCE_TABLE="UW_APPLICANT_MASTER"
                        SOURCE_COLUMN="CUSTOMER_TYPE" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="N" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
              <field NAME="applicantLastName" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                        SOURCE_COLUMN="APPLICANT_LAST_NAME" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
              <field NAME="applicantFirstName" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="APPLICANT_FIRST_NAME" TYPE="VARCHAR2" LENGTH="100"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="applicantMiddleName" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="APPLICANT_MIDDLE_NAME" TYPE="VARCHAR2" LENGTH="100"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="applicantNameSuffix" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="APPLICANT_NAME_SUFFIX" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="nationality" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="NATIONALITY" TYPE="VARCHAR2" LENGTH="100"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="age" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="AGE" TYPE="NUMBER" LENGTH="5"
                   PRECISION="2" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="dateOfBirth" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="DATE_OF_BIRTH" TYPE="DATE" LENGTH=""
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="identificationType1" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="IDENTIFICATION_TYPE1" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="identificationType2" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="IDENTIFICATION_TYPE2" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="identificationType" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="IDENTIFICATION_TYPE" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="identificationNumber1" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="IDENTIFICATION_NUMBER1" TYPE="VARCHAR2" LENGTH="100"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="identificationNumber2" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="IDENTIFICATION_NUMBER2" TYPE="VARCHAR2" LENGTH="100"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="identificationNumber" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="IDENTIFICATION_NUMBER" TYPE="VARCHAR2" LENGTH="100"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="guarantorIndicator" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="GUARANTOR_INDICATOR" TYPE="VARCHAR2" LENGTH="50"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="separateCobDisclosureRequir" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="SEPARATE_COB_DISCLOSURE_REQUIR" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="domesticRisk" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="DOMESTIC_RISK" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="crossBorderRisk" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="CROSS_BORDER_RISK" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="title" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="TITLE" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="previousSurname" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="PREVIOUS_SURNAME" TYPE="VARCHAR2" LENGTH="50"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="legalName" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="LEGAL_NAME" TYPE="VARCHAR2" LENGTH="200"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="preferredName" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="PREFERRED_NAME" TYPE="VARCHAR2" LENGTH="50"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="gender" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="GENDER" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="seniorCitizenStatus" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="SENIOR_CITIZEN_STATUS" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="staffIndicator" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="STAFF_INDICATOR" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="warVeteranIndicator" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="WAR_VETERAN_INDICATOR" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="noOfDependants" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="NO_OF_DEPENDANTS" TYPE="NUMBER" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="maritalStatus" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="MARITAL_STATUS" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="educationStatus" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="EDUCATION_STATUS" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="detApplicantId" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="APPLICANT_ID" TYPE="NUMBER" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="Y" PARENT_TABLE="UW_APPLICANT_MASTER" PARENT_COLUMN="APPLICANT_ID">
              </field>
              <field NAME="detApplicantDetailId" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="APPLICANT_DETAIL_ID" TYPE="NUMBER" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="Y"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="usResidentIndicator" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="US_RESIDENT_INDICATOR" TYPE="VARCHAR2" LENGTH="1"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="employeeNumber" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="EMPLOYEE_NUMBER" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              <field NAME="isdefaulter" SOURCE_TABLE="UW_APPLICANT_DETAILS"
                   SOURCE_COLUMN="ISDEFAULTER" TYPE="VARCHAR2" LENGTH="20"
                   PRECISION="" PERSIST="Y" LEVEL="2" DEFAULT_VALUE="" PRIMARY_KEY="N"
                   VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
              </field>
              </Object>
              <Object NAME="com.los.common.entity.ApplicantContact">
                   <field NAME="applicantId" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="APPLICANT_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="Y" PARENT_TABLE="UW_APPLICANT_MASTER" PARENT_COLUMN="APPLICANT_ID">
                   </field>
                   <field NAME="contactId" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="CONTACT_ID" TYPE="NUMBER" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="Y"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="addressType" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="ADDRESS_TYPE" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="applicantAddressLine1" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="APPLICANT_ADDRESS_LINE_1" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="applicantAddressLine2" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="APPLICANT_ADDRESS_LINE_2" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="applicantAddressLine3" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="APPLICANT_ADDRESS_LINE_3" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="applicantAddressLine4" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="APPLICANT_ADDRESS_LINE_4" TYPE="VARCHAR2" LENGTH="100"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="residingSince" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="RESIDING_SINCE" TYPE="DATE" LENGTH=""
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="residentialStatus" SOURCE_TABLE="UW_APPLICANT_CONTACT_INFO"
                        SOURCE_COLUMN="RESIDENTIAL_STATUS" TYPE="VARCHAR2" LENGTH="20"
                        PRECISION="" PERSIST="Y" LEVEL="1" DEFAULT_VALUE="" PRIMARY_KEY="N"
                        VERSIONABLE="Y" FOREIGN_KEY="" PARENT_TABLE="" PARENT_COLUMN="">
                   </field>
                   <field NAME="applicantEMa

    Could you please provide the stack trace?

  • Complete table view controller with XML

    Hello, I'm from Brazil and am new to ios.
    Today I am making an example where I use a table view controller and fill it witharray (NSMutableArray).
    However I would do the same using XML so that now, I'm having so many difficulties to the point of not knowing where to start.
    The code I use to populate this array was.
    It is possible to use something like XML?
    #pragma mark - View lifecycle
    - (void)viewDidLoad
        [super viewDidLoad];
        // Uncomment the following line to preserve selection between presentations.
        // self.clearsSelectionOnViewWillAppear = NO;
        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem;
        registros = [NSMutableArray arrayWithObjects:@"1", @"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14", nil];
    - (void)viewDidUnload
        [super viewDidUnload];
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
    - (void)viewWillAppear:(BOOL)animated
        [super viewWillAppear:animated];
    - (void)viewDidAppear:(BOOL)animated
        [super viewDidAppear:animated];
    - (void)viewWillDisappear:(BOOL)animated
        [super viewWillDisappear:animated];
    - (void)viewDidDisappear:(BOOL)animated
        [super viewDidDisappear:animated];
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
        // Return YES for supported orientations
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    #pragma mark - Table view data source
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
        // Return the number of sections.
        return 1;
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
        // Return the number of rows in the section.
        return [registros count];
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        static NSString *CellIdentifier = @"listax";//este é o identificador da celula
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        cell.textLabel.text = [registros objectAtIndex:indexPath.row];
        return cell;

    If you have a custom XML schema (not a plist), consider two approaches.
    1. Before showing your table view, use NSXMLParserto deserialize the XML document into an NSMutableArray that will be the table view data source.  Typically the array contains custom class instances; one or more class properties are used to set table cell properties in cellForRowAtIndexPath.  If you have never worked with NSXMLParser (or any other SAX parser) before, start by creating a sample app so you understand how that works.
    2. Use a 3rd-party DOM parser like GDataXML.  Load your XML document into a class property in your table view's viewDidLoad.  Then the XML document will be the table view data source since elements and attributes can be directly queried using XPath in cellForRowAtIndexPath.  If you have never worked with XML DOM and XPath before, start by creating a sample app so you understand how that works.
    If your have a lengthy complex XML document, option #1 might be more efficient because indexed array access is faster than XPath queries.  Theoretically that is why Apple's Cocoa provides DOM support on OS X but not iOS.  There are strategies to improve efficiency if necessary, including your own indexing scheme.  The best solution depends on many factors.  For example, if your XML document includes thousands of rows, but users rarely scroll past the first 10, option #1 would waste time parsing everything.
    Both of these approaches keep all data in memory, which is fast but not friendly.  Perfectly fine for reasonably sized data sets.

  • Unmarshalling a DOM node to an XML file with JAXB

    I'm trying to unmarshall a DOM node to an XML file using JAXB. However I keep receiving a NullPointerException. This only seems to occur when I create the DOM Node from scratch. The stack trace looks like the following:
    java.lang.NullPointerException
            at com.sun.xml.bind.unmarshaller.SAXUnmarshallerHandlerImpl.startElement
    (SAXUnmarshallerHandlerImpl.java:87)
            at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:109)
            at com.sun.xml.bind.unmarshaller.DOMScanner.parse(DOMScanner.java:64)
            at com.sun.xml.bind.unmarshaller.UnmarshallerImpl.unmarshal(Unmarshaller
    Impl.java:149)
            at Main.main(Main.java:103)(If I unmarshal an XML file into a DOM node, I can successfully marshall the DOM node out to a new XML file using JAXB without error.)
    Any insight into what I am doing wrong would be greatly appreciated!
    Sample code and XSD follow...
    Sample Code:
    import itemlistsample.*;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Marshaller;
    import javax.xml.bind.Unmarshaller;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Node;
    import org.w3c.dom.Text;
    public class Main
      public static void main(String[] args)
          try
              JAXBContext jc = JAXBContext.newInstance( "itemlistsample" );
              Unmarshaller u = jc.createUnmarshaller();
              * Set up DOM Node Document Object.
              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
              dbf.setNamespaceAware(true);                   
              DocumentBuilder db = dbf.newDocumentBuilder(); 
              Document doc = db.newDocument();
              System.out.println();
              System.out.println();
              System.out.println("Create a DOM Node and unmarshall to an XML file");
              * Generate elements within DOM document
              Element itemListElt = (Element)doc.createElement("item_list");
              Element itemInfo = (Element)doc.createElement("item_info");
              Element name = (Element)doc.createElement("name");
              Element price = (Element)doc.createElement("price");
              * 3-Ring Binder @ 4.99
              name.appendChild(doc.createTextNode("3-Ring Binder"));
              itemInfo.appendChild(name);
              price.appendChild(doc.createTextNode("4.99"));
              itemInfo.appendChild(price);
              itemListElt.appendChild(itemInfo);
              * Large Paper Clips @ 1.23
              itemInfo = (Element)doc.createElement("item_info");
              name = (Element)doc.createElement("name");
              price = (Element)doc.createElement("price");
              name.appendChild(doc.createTextNode("Large Paper Clips"));
              itemInfo.appendChild(name);
              price.appendChild(doc.createTextNode("1.23"));
              itemInfo.appendChild(price);
              itemListElt.appendChild(itemInfo);
              doc.appendChild(itemListElt);
              * Display DOM document as a sanity check
              itemListElt = doc.getDocumentElement();
              System.out.println(itemListElt.getTagName());
              NodeList nl = itemListElt.getElementsByTagName("item_info");
              traverse("  ", nl.item(0));
              * Use JAXB to unmarshal the DOM document into
              * an instance of the generated JAXB class for
              * the root element.  Stack trace occurs here!
              ItemListType il = (ItemListType)u.unmarshal(doc);
              * Marshal to an XML file
              Marshaller m = jc.createMarshaller();
              m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
              m.marshal( il, new FileOutputStream("item_new.xml") );
          catch (Exception e)
         e.printStackTrace();
      public static void traverse(String indent, Node n)
        if (n != null)
          if (n.getNodeName() != null)
            System.out.println(indent + n.getNodeName());
            traverse(indent + "  ", n.getFirstChild());
          if (n.getNodeValue() != null)
            System.out.println(indent + n.getNodeValue());
          traverse(indent, n.getNextSibling());
    }Sample XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <xsd:element name="item_list" type="ItemListType"/>
         <xsd:complexType name="ItemListType">
              <xsd:sequence>
                   <xsd:element name="item_info" type="ItemInfoType" maxOccurs="unbounded"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ItemInfoType">
              <xsd:sequence>
                   <xsd:element name="name" type="xsd:string"/>
                   <xsd:element name="price" type="xsd:double"/>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>

    Modified schema
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="item_list">     
    <xsd:complexType>          
    <xsd:sequence>               
    <xsd:element ref="item_info" maxOccurs="unbounded"/>     
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="item_info">
         <xsd:complexType>          
    <xsd:sequence>               
    <xsd:element name="name" type="xsd:string"/>     
         <xsd:element name="price" type="xsd:double"/>     
         </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>

  • XML Parsing attributes with encoded ampersand causes wrong order

    Hi all,
    I am writing in the forum first (because it could be that i am doing something wrong.... but i think it is a bug. Nonetheless, i thought i'd write my problem up here first.
    I am using Java 6, and this has been reproduced on both windows and linux.
    java version "1.6.0_03"
    Problem:
    read XML file into org.w3c.dom.Document.
    XML File has some attributes which contain ampersand. These are escaped as (i think) is prescribed by the rule of XML. For example:
    <?xml version="1.0" encoding="UTF-8"?>
         <lang>
              <text dna="8233" ro="chisturi de plex coroid (&gt;=1.5 mm)" it="Cisti del plesso corioideo(&gt;=1.5mm)" tr="Koro&#305;d pleksus kisti (&gt;=1.5 mm)" pt_br="Cisto do plexo cor&oacute;ide (&gt;=1,5 mm)" de="Choroidplexus Zyste (&gt;=1,5 mm)" el="&Kappa;&#973;&sigma;&tau;&epsilon;&iota;&sigmaf; &chi;&omicron;&rho;&omicron;&epsilon;&iota;&delta;&omicron;&#973;&sigmaf; &pi;&lambda;&#941;&gamma;&mu;&alpha;&tau;&omicron;&sigmaf; (&gt;= 1.5 mm)" zh_cn="&#33033;&#32476;&#33180;&#22218;&#32959;&#65288;&gt;= 1.5 mm&#65289;" pt="Quisto do plexo coroideu (&gt;=1,5 mm)" bg="&#1050;&#1080;&#1089;&#1090;&#1072; &#1085;&#1072; &#1093;&#1086;&#1088;&#1080;&#1086;&#1080;&#1076;&#1085;&#1080;&#1103; &#1087;&#1083;&#1077;&#1082;&#1089;&#1091;&#1089; (&gt;= 1.5 mm)" fr="Kystes du plexus choroide (&gt;= 1,5 mm)" en="Choroid plexus cysts (&gt;=1.5 mm)" ru="&#1082;&#1080;&#1089;&#1090;&#1099; &#1089;&#1086;&#1089;&#1091;&#1076;&#1080;&#1089;&#1090;&#1099;&#1093; &#1089;&#1087;&#1083;&#1077;&#1090;&#1077;&#1085;&#1080;&#1081; (&gt;=1.5 mm)" es="Quiste del plexo coroideo (&gt;=1.5 mm)" ja="&#33032;&#32097;&#33180;&#22178;&#32990;&#65288;&gt;=1.5mm&#65289;" nl="Plexus choroidus cyste (&gt;= 1,5 mm)" />
    </lang>As you might understand, we need to have the fixed text '>' for later processing. (not the greater than symbol '>' but the escaped version of it).
    Therefore, I escape the ampersand (encode?) and leave the rest of the text as is. And so my > becomes >
    All ok?
    Symptom:
    in fetching attributes, for example by the getAttribute("en") type call, the wrong attribute values are fetched.
    Not only that, if i only read to Document instance, and write back to file, the attributes are shown mixed up.
    eg:
    dna: 8233, ro=chisturi de plex coroid (>=1.5 mm), en=&#1082;&#1080;&#1089;&#1090;&#1099; &#1089;&#1086;&#1089;&#1091;&#1076;&#1080;&#1089;&#1090;&#1099;&#1093; &#1089;&#1087;&#1083;&#1077;&#1090;&#1077;&#1085;&#1080;&#1081; (>=1, de=Choroidplexus Zyste (>=1,5 mm)Here you can see that 'en' is shown holding what looks like greek, ... (what is ru as a country-code anyway?) where it should have obviously had the english text that originally was associated with the attribute 'en'
    This seems very strange and unexpected to me. I would have thought that in escaping (encoding) the ampersand, i have fulfilled all requirements of me, and that should be that.
    There is also no error that seems to occur.... we simply get the wrong order when fetching attributes.
    Am I doing something wrong? Or is this a bug that should be submitted?
    Kind Regards, and thanks to all responders/readers.
    Sean
    p.s. previously I had not been escaping the ampersand. This meant that I lost my ampersand in fetching attributes, AND the attribute order was ALSO WRONG!
    In fact, the wrong order was what led me to read about how to correctly encode ampersand at all. I had been hoping that correctly encoding would fix the order problem, but it didn't.
    Edited by: svaens on Mar 31, 2008 6:21 AM

    Hi kdgregory ,
    Firstly, sorry if there has been a misunderstanding on my part. If i did not reply to the question you raised, I appologise.
    In this 'reply' I hope not to risk further misunderstanding, and have simply given the most basic example which will cause the problem I am talking about, as well as short instructions on what XML to remove to make the problem disappear.
    Secondly, as this page seems to be displayed in ISO 8859-1, this is the reason the xml I have posted looks garbled. The xml is UTF-8. I have provided a link to the example xml file for the sample below
    [example xml file UTF-8|http://sean.freeshell.org/java/less2.xml]
    As for your most recent questions:
    Is it specified as an entity? To my knowledge (so far as my understanding of what an entity is) , yes, I am including entities in my xml. In my below example, the entities are the code for the greater than symbol. I am under the understanding that this is allowed in XML ??
    Is it an actual literal character (0xA0)? No, I am specifying 'greater than' entity (code?) in order to include the actual symbol in the end result. I am encoding it in form 'ampersand', 'g character', 't character', 'colon' in order for it to work, according to information I have read on various web pages. A quick google search will show you where I got such information from, example website: https://studio.tellme.com/general/xmlprimer.html
    Here is my sample program. It is longer than the one you kindly provided only because it prints out all attributes of the element it looks for. To use it, only change the name of the file it loads.
    I have given the xml code seperately so it can be easily copied and saved to file.
    Results you can expect from running this small test example?
    1. a mixed up list of attributes where attribute node name no longer matches its assigned attribute values (not for all attributes, but some).
    2. removing the attribute bg from the 'text' element will reduce most of these symptoms, but not all. Removing another attribute from the element will most likely make the end result look normal again.
    3. No exception is thrown by the presence of non xml characters.
    IMPORTANT!!! I have only just (unfortunately) noticed what this page does to my unicode characters... all the the international characters get turned into funny codes when previewed and viewed on this page.
    Whereas the only codes I am explicitly including in this XML is the greater than symbol. The rest were international characters.
    Perhaps that is the problem?
    Perhaps there is an international characters problem?
    I am quite sure that these characters are all UTF-8 because when I open up this xml file in firefox, It displays correctly, and in checking the character encoding, firefox reports UTF-8.
    In order to provide an un-garbled xml file, I will provide it at this link:
    link to xml file: [http://sean.freeshell.org/java/less2.xml]
    Again, sorry for any hassle and/or delay with my reply, or poor reply. I did not mean to waste anyones time.
    It will be appreciated however if an answer can be found for this problem. Chiefly,
    1. Is this a bug?
    2. Is the XML correct? (if not, then all those websites i've been reading are giving false information? )
    Kindest Regards,
    Sean
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NamedNodeMap;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.InputSource;
    public class Example
        public static void main(String[] argv)
              try
                   FileInputStream fis = new FileInputStream("/home/sean/Desktop/chris/less2.xml");
                 Document doc = DocumentBuilderFactory.newInstance()
                 .newDocumentBuilder()
                 .parse(new InputSource(fis));
                   Element root = doc.getDocumentElement();
                   NodeList textnodes = root.getElementsByTagName("text");
                   int len = textnodes.getLength();
                   int index = 0;
                   int attindex = 0;
                   int attrlen = 0;
                   NamedNodeMap attrs = null;
                   while (index<len)
                        Element te = (Element)textnodes.item(index);
                        attrs = te.getAttributes();
                        attrlen = attrs.getLength();
                        attindex = 0;
                        Node node = null;
                        while (attindex<attrlen)
                             node = attrs.item(attindex);          
                             System.out.println("attr: "+node.getNodeName()+ " is shown holding value: " + node.getNodeValue());
                             attindex++;                         
                        index++;
                        System.out.println("-------------");
                 fis.close();
              catch(Exception e)
                   System.out.println("we've had an exception, type "+ e);
    }  [example xml file|http://sean.freeshell.org/java/less2.xml]
    FOR THE XML, Please see link above, as it is UTF-8, and this page is not. Edited by: svaens on Apr 7, 2008 7:03 AM
    Edited by: svaens on Apr 7, 2008 7:23 AM
    Edited by: svaens on Apr 7, 2008 7:37 AM
    Edited by: svaens on Apr 7, 2008 7:41 AM

  • XSLT bug with attributes+in memory DOM

    Hello,
    I know there was a thread about this one some time ago but i
    don't know the current state of this matter, so :
    The XSLT processor has problems with attributes when the DOM was
    build dynamically (attributes are returned as being empty). When
    i save the same DOM, reload it and then do the transform
    attributes are properly transformed.
    The Version 2.0.0.1 of the Java parser states to have solved a
    problem when accessing attributes (bug #920536) but this seems to
    be an other one (i tried 2.0.0.0 and 2.0.0.1 and both had this
    problem).
    Bye Heiko.
    null

    We were unable to reproduce the problem you illustrated. We got
    the output:
    <HTML>
    <BODY>
    the value is : 1
    </BODY>
    </HTML>
    irrespective of whether the lines were commented out. Can you
    describe your environment - JRE/JDK, OS. etc?
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    You wrote:
    : Hello,
    : the following program illustrates what i mean :
    : package testing;
    : import oracle.xml.parser.v2.*;
    : import org.w3c.dom.*;
    : import java.io.*;
    : public class XMLTest {
    : public static final void main(String [] args) throws
    : Exception {
    : XMLDocument doc=new XMLDocument();
    : doc.setVersion("1.0");
    : doc.setStandalone("yes");
    : Node root=doc.createElement("ROOT");
    : Node att=doc.createAttribute("value");
    : att.setNodeValue("1");
    : root.getAttributes().setNamedItem(att);
    : doc.appendChild(root);
    : doc.print(new FileOutputStream("c:\\test.xml"));
    : DOMParser parser=new DOMParser();
    : parser.parse(new FileInputStream("c:\\test.xml"));
    : doc=parser.getDocument();
    : XSLStylesheet xsl=new XSLStylesheet(new
    : FileInputStream("c:\\test.xsl"), null);
    : XMLDocument out=new XMLDocument();
    : out.appendChild(new XSLProcessor().processXSL(xsl,
    doc));
    : out.print(System.out);
    : with the stylesheet test.xsl as follows :
    : <?xml version="1.0"?>
    : <xsl:stylesheet
    : xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
    : xmlns="http://www.w3.org/Profiles/xhtml1-transitional"
    : default-space="strip"
    : indent-result="yes"
    : >
    : <xsl:template match="ROOT">
    : <HTML>
    : <BODY>
    : the value is : <xsl:value-of select="@value"/>
    : </BODY>
    : </HTML>
    : </xsl:template>
    : </xsl:stylesheet>
    : if you run the program as given the result is :
    : the value is:
    : but when you uncomment the lines storing & retrieving the
    : document the result is as i would expect it :
    : the value is: 1
    : Bye Heiko.
    null

  • Partial document/node retrieval with DOM

    I have constructed a DOMDocument of an XML input:
    - <email>
    - <folder name="inbox" id="">
    - <message id="54321">
    <time_received>2003-07-16 09:30:05</time_received>
    <sender>John St.</sender>
    <to> "aaa"</to>
    <to>"bbb"</to>
    <importance>High</importance>
    <subject>My subject</subject>
    <body>THis is great</body>
    </message>
    - <message id="12345">
    <time_received>2003-07-16 09:30:10</time_received>
    <sender>Tim Rice</sender>
    <to>"ccc"</to>
    <to>"ddd"</to>
    <subject>My subject 2</subject>
    <body>THis is great 2</body>
    </message>
    </folder>
    </email>
    I created a getter method which retrieve value using the tag, like
    get("to") returns "aaa", and another get("to") returns "bbb"
    I use getElementByTagName(...) to do this, but the problem is that
    another get("to") will return "ccc". As you can see for the XML file, this
    is not good because the "ccc" is within next "message" tag.
    I want to provide another method to let the user select within which "message"
    the getter method is functional.
    I seemed to me that I have to create some "partial" doc pointing to the sub-nodes.
    but I don't know how to do it, anyone has some idea about this?
    besides, XPath seems can deal with it , but I am not allow to use it...
    Thanks in advance!

    I'm not sure I follow, but I would consider creating your own objects that represent messages, and iterate through your xml/dom with xpath to build your objects. then get rid of the dom document and work with your collection of "message" objects. I just use DOM as as part of an adapter to convert xml data into the applications object model - abstract out the xml/dom dependencies from your app logic.

  • Oracle XML DOM parser - attribute values are not printing on the screen ??

    Hi Everyone,
    I am just trying to use oracle DOM parser to paerse one of my xml file, java file can be compiled and run agianst a xml file, But I cannot see any attribute values printing on the screen..
    Appreciate if anyone can help, where I have gone wrong please?
    Below is the java file:
    // menna puthe DOMSample eka - duwanawa 19/12/2005
    import java.io.*;
    import java.net.*;
    import org.w3c.dom.*;
    import org.w3c.dom.Node;
    import oracle.xml.parser.v2.*;
    public class DOMSample {  //public class eka ***
    static public void main(String[] argv){  // main method eka ###
    try {
    if (argv.length != 1){
    // Must pass in the name of the XML file...
    System.err.println("Usage: java DOMSample filename");
    System.exit(1);
    // Get an instance of the parser
    DOMParser parser = new DOMParser();
    // Generate a URL from the filename.
    URL url = createURL(argv[0]);
    // Set various parser options: validation on,
    // warnings shown, error stream set to stderr.
    parser.setErrorStream(System.err);
    parser.showWarnings(true);
    // Parse the document.
    parser.parse(url);
    // Obtain the document.
    Document doc = parser.getDocument();
    // Print document elements
    System.out.print("The elements are: ");
    printElements(doc);
    // Print document element attributes
    System.out.println("The attributes of each element are: ");
    printElementAttributes(doc);
    catch (Exception e){
    System.out.println(e.toString());
    } // main method eka ###
    static void printElements(Document doc) {
    NodeList nl = doc.getElementsByTagName("*");
    Node n;
    for (int i=0; i<nl.getLength(); i++){
    n = nl.item(i);
    System.out.print(n.getNodeName() + " ");
    System.out.println();
    static void printElementAttributes(Document doc){
    NodeList nl = doc.getElementsByTagName("*");
    Element e;
    Node n;
    NamedNodeMap nnm;
    String attrname;
    String attrval;
    int i, len;
    len = nl.getLength();
    for (int j=0; j < len; j++){
    e = (Element)nl.item(j);
    System.out.println(e.getTagName() + ":");
    nnm = e.getAttributes();
    if (nnm != null){
    for (i=0; i<nnm.getLength(); i++){
    n = nnm.item(i);
    attrname = n.getNodeName();
    attrval = n.getNodeValue();
    System.out.print(" " + attrname + " = " + attrval);
    System.out.println();
    static URL createURL(String filename) {  // podi 3 Start
    URL url = null;
    try {
    url = new URL(filename);
    } catch (MalformedURLException ex) { /// BBBBBB
    try {
    File f = new File(filename);
    url = f.toURL();
    } catch (MalformedURLException e) {
    System.out.println("Cannot create URL for: " + filename);
    System.exit(0);
    } // BBBBBB
    return url;
    } // podi 3 End
    } //public class eka ***
    // End of program
    output comes as below:
    Isbn:
    Title:
    Price:
    Author:
    Message was edited by:
    chandanal

    Hi Chandanal,
    I edited your code slightly and I was able to get the correct output.
    I changed the following line:
    for (int j=0; j >< len; j++)to:
    for (int j=0; j < len; j++)I have included the complete source below:
    // menna puthe DOMSample eka - duwanawa 19/12/2005
    import java.io.*;
    import java.net.*;
    import org.w3c.dom.*;
    import org.w3c.dom.Node;
    import oracle.xml.parser.v2.*;
    public class DOMSample {
        //public class eka ***
        public static void main(String[] argv) {
            // main method eka ###
            try {
                if (argv.length != 1) {
                    // Must pass in the name of the XML file...
                    System.err.println("Usage: java DOMSample filename");
                    System.exit(1);
                // Get an instance of the parser
                DOMParser parser = new DOMParser();
                // Generate a URL from the filename.
                URL url = createURL(argv[0]);
                // Set various parser options: validation on,
                // warnings shown, error stream set to stderr.
                parser.setErrorStream(System.err);
                parser.showWarnings(true);
                // Parse the document.
                parser.parse(url);
                // Obtain the document.
                Document doc = parser.getDocument();
                // Print document elements
                System.out.print("The elements are: ");
                printElements(doc);
                // Print document element attributes
                System.out.println("The attributes of each element are: ");
                printElementAttributes(doc);
            } catch (Exception e) {
                System.out.println(e.toString());
        // main method eka ###
        static void printElements(Document doc) {
            NodeList nl = doc.getElementsByTagName("*");
            Node n;
            for (int i = 0; i < nl.getLength(); i++) {
                n = nl.item(i);
                System.out.print(n.getNodeName() + " ");
            System.out.println();
        static void printElementAttributes(Document doc) {
            NodeList nl = doc.getElementsByTagName("*");
            Element e;
            Node n;
            NamedNodeMap nnm;
            String attrname;
            String attrval;
            int i, len;
            len = nl.getLength();
            for (int j = 0; j < len; j++) {
                e = (Element)nl.item(j);
                System.out.println(e.getTagName() + ":");
                nnm = e.getAttributes();
                if (nnm != null) {
                    for (i = 0; i < nnm.getLength(); i++) {
                        n = nnm.item(i);
                        attrname = n.getNodeName();
                        attrval = n.getNodeValue();
                        System.out.print(" " + attrname + " = " + attrval);
                System.out.println();
        static URL createURL(String filename) {
            // podi 3 Start
            URL url = null;
            try {
                url = new URL(filename);
            } catch (MalformedURLException ex) {
                /// BBBBBB
                try {
                    File f = new File(filename);
                    url = f.toURL();
                } catch (MalformedURLException e) {
                    System.out.println("Cannot create URL for: " + filename);
                    System.exit(0);
            // BBBBBB
            return url;
        // podi 3 End
    } //public class eka ***-Blaise

  • How to read an attribute of an xml tag in jsp.

    hi guys,
    This is murali krishna. i have a small problem,
    i have one xml file (books.xml)
    <?xml version="1.0" encoding="iso-8859-1"?>
    <library>
    <book id="1">
    <name>Head First Java, 2nd Edition</name>
    <author>Kathy Sierra and Bert Bates</author>
    <publication-date>09-Feb-2005</publication-date>
    </book>
    <book id="2">
    <name>Effective Java</name>
    <author>Joshua Bloch</author>
    <publication-date>28-May-2008</publication-date>
    </book>
    <book id="3">
    <name>Java How to Program, 7th Edition</name>
    <author>Harvey M. Deitel and Paul J. Deitel</author>
    <publication-date>6-Jan-2007</publication-date>
    </book>
    </library>
    I tried to read this xml file in jsp as shown below
    <%@ page language="java" %>
    <%@ page import="org.w3c.dom.*" %>
    <%@ page import="javax.xml.parsers.DocumentBuilder" %>
    <%@ page import="javax.xml.parsers.DocumentBuilderFactory" %>
    <%
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    DocumentBuilder db =dbf.newDocumentBuilder();
    Document doc=db.parse("c:\\books.xml");
    NodeList nl = doc.getElementsByTagName("book");
    %>
    <html>
    <head>
    <title>How to read XML file in JAVA</title>
    </head>
    <body>
    <%
    for(int i=0;i<nl.getLength();i++)
    NodeList nameNlc= doc.getElementsByTagName("name");
    Element nameElements=(Element)nameNlc.item(i);
    String nameTagValue=nameElements.getChildNodes().item(0).getNodeValue();
    NodeList authorNlc= doc.getElementsByTagName("author");
    Element authorElements=(Element)authorNlc.item(i);
    String authorTagValue=authorElements.getChildNodes().item(0).getNodeValue();
    NodeList dateNlc= doc.getElementsByTagName("publication-date");
    Element dateElements=(Element)dateNlc.item(i);
    String dateTagValue=dateElements.getChildNodes().item(0).getNodeValue();
    out.println("name :"+nameTagValue+"<br>");
    out.println("author :"+authorTagValue+"<br>");
    out.println("publication-date :"+dateTagValue+"<br><br>");
    %>
    </body>
    </html>
    so, my problem is I was unable to read the attribute of the tag book , that is "id".
    can any one tell me how to read this "id" attribute.
    Murali Krishna
    [email protected]

    hi,
    U r retriving the elements by tag name.So it just chks the tag name ie.<book> & gives u array of elements.But u need retrive d attribute of <book> tag itself.
    =Solution =====
    Add one more statement ----> var[]= doc.getElementsByName("book");
    Now u hav book elements as an array & can retrive id in for loop
    for(var; var.length;var++)
    doc.element[var].id.value

Maybe you are looking for