Xerces parser and Reader Types ?

Hi
I came to know that Xerces uses buffering data reader by deafult and one override it with a streaming reader ( for jabber see jabber.org ) by creating and installnig a custom reader factory that extends DefaultReaderFactory.
I am really not so sure about the different techniques ... "buffering data reader " and "Streaming DataReader" ??
Can some one pls elaborate or pointme to relevent links ??
Regards
Lavnish

Till now there is no excat parsers for validating schema.Only oracle parsers do some validation.

Similar Messages

  • Question About Xerces Parser and Java  JAXP

    Hi,
    I have confusion about both of these API Xerces Parser and Java JAXP ,
    Please tell me both are used for same purpose like parsing xml document and one is by Apache and one is by sun ?
    And both can parse in SAX, or DOM model ?
    Is there any difference in performane if i use xerces in my program rather then JAXP, or is ther any other glance at all.
    Please suggest some thing i have and xml document and i want to parse it.
    Thanks

    Hi
    Xerces is Apaches implementation of W3C Dom specifiacation.
    JAXP is a API for XML parsing its not implementation.
    Sun ships a default implementation for JAXP.
    you have factory methods for selecting a parser at run time or you can set in some config file about what is the implementaion class for the SAXParser is to be chosen (typically you give give the class file of xerces sax parser or dom parser etc..)
    go to IBM Developerworks site and serch for Xerces parser config. which have a good explination of how to do it.
    and browse through j2ee api .may find how to do it.

  • XML Parser and Content-type/encoding problem

    I've write a little and simple XML parser and a simple "trasformer" that recive an XML file and an XSL one and return HTML, here is the code:
    public static String toHTML(Document doc, String xslSource){
            ByteArrayOutputStream testo = new ByteArrayOutputStream();
            try{
                DOMSource source = new DOMSource(doc);
                TransformerFactory tFactory = TransformerFactory.newInstance();
                System.out.println("----> " + xslSource);
                Transformer transformer = tFactory.newTransformer(new StreamSource(xslSource));
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
                transformer.setOutputProperty(OutputKeys.METHOD, "html");
             transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
             transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                transformer.transform(source, new StreamResult(testo));
            }catch(Exception ioe){
                System.out.println("2 XMLTool.toHTML " + new java.util.Date());
                System.out.println(ioe);        
            return testo.toString();
        }the problem is that I would like to put the HTML code its return into a JEditorPane; now I'm trying with this code:
    JEditorPane jep1 = new JEditorPane();
    jep1.setContentType("text/html");
    jep1.setText(v);
    // 'v' is the string returned by the code posted up (the XML/XSL transformer)but I can't see anything in my JEditorPane.
    I think that the problem is this line of code that the transformer add automaticaly ad HTML code:
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">Infact if I try to delete this line from the code I can see what I want but is'n good delete a line of code without understend where is the problem.
    So, can anyone help me?

    good.
    when u set ur output properties to html , transformer
    searches for all entity references and converts accordingly.
    if u r using xalan these files will be used for conversion of
    Character entity references for markup-significant
    output_html.properties
    (this should be in templates package)
    and HTMLEntities.res(should be in serialize package)
    vasanth-ct

  • The ipad won't sync some photos, saying the file can't be read by the ipad, however it will sync some photos taken at the same time which are the same size and file type.  Why does it reject some and accept others?

    The ipad won't sync some photos, saying the file can't be read by the ipad, however it will sync some photos taken at the same time which are the same size and file type.  Why does it reject some and accept others?

    Hi there. I'm having the same problem: my iPad won't import some photos from a folder, saying that they can't be read. They are all JPEGS and some photos taken at the same time have synched fine, but out of a folder with 200 photos, it only lets me synch 37. I'm synching albums created via Photoshop Elements 6, which has worked fine until now.
    I've tried deleting all photos and re-synching, and have also deleted the iPod Photo Cache, but it hasn't made a difference.
    The iPad auto-updated to the latest version of iTunes, so maybe that's what's causing it?
    Any advice gratefully received!

  • Use of Xerces Parser in out application with Oracle App Server 9.0.4

    The problem in brief:
    Our product is a web-app that runs under various Application servers.
    One of our customers who uses Oracle App server, recently upgraded from 9.0.2 (9g) to 9.0.4 (10g), and our product no longer works with the latter version.
    Our product uses XML parser Xerces 1.1.
    In 9.02 it was possible to replace the App servers parser with Xerces 1.1. In 9.02 it was possible to replace the App servers parser with Xerces 1.1 (We modified the opmn.xml file, setting the Java options for our oc4j instance bootclasspath with xerces parser). Hence, our product works.
    In 9.0.4, apparently, Oracle moved to a different parser, and it no longer allows the parser to be replaced. If the bootclasspath is modified with XERCES(tested various versions of xerces) parser, rightfully so ORACLE Application server does not start.
    Unlike other prominent Application Servers (such as webshpere etc,) the Oracle application server does not support separate JVMs or namespaces for web-apps either.
    We like, oralce application server, OC4J instance for our application to use the xerces parser version qualified with our product. We understand, replacing the XML parser for the entire Oracle Application Server is not supported function.
    Since, Oracle Application Server is loading the oracle 'xmlparserv2' at system class path, though the applicaton has xerces.jar in application path (either in AppLib or web-inf/lib directory, Its not a class loading issue) it is not getting used (since javax.xml.parsers.documentbuilderFactory is mapped to oracle parser).
    So, it looks like the only option available to us is to modify our product to use Oracle's XML parser. This is a major software change, and we want to keep it as last resort option.
    Any suggestion and help will be higly appreciated.
    Perraju Nadakuduty (raju)
    E-mail:[email protected]

    Raju --
    Thanks for the intelligent posting on a difficult issue for you.
    I wasn't aware of anything specifically being introduced that prevented the bootclasspath technique from working** in the 904 release.
    For 904, the bootclasspath needs to be put in the start parameters tag of the java-options tag.
    <process-type id="home" module-id="OC4J" status="enabled">
    <module-data>
    <category id="start-parameters">
    <data id="java-options" ... -Xbootclasspath/a:/java/lib/xerces.jar"/>
    </category>
    </module-data>
    </process-type>
    You can also try copying the xerces.jar into the jre/lib/ext directory so it's loaded by the system classloader and see if that works**. This will put xerces at the extension level so
    **these workarounds are not supported and will put you in an unsupported situation if a problem occurs.
    The good news is that have taken steps to clearly enable the separation of container versus appplication class spaces in thenext production release (10.1.3) of OC4J. We will be providing a new classloading model which cleanly separates the two namespaces and allows applications to provide their own versions or distributions of class libraries with no collisions with the OC4J runtime libraries.
    I don't know of any easy ways to do what you need -- other than reworking the app to use JAXP so that the parser implementation used is pluggable as you kind of allude to. If it was possible, I'd do that rather than hard coding in the use of the Oracle XML parser.
    But just to reiterate, switching in xerces at the bootclasspath level is not a supported operation since it may have an effect on the OC4J runtime operation.
    cheers
    -steve-

  • DOM parser and namespaces

    Hello -
    I have an interesting situation...
    I have a webservice and I want my client to be able to send a org.w3c.dom.Document object as the body of the SOAP request.
    This is easily done w/ the SAAJ API for web services.
    I also want to validate the Document before I send it over the wire.
    Code:
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(true);
    factory.setValidating(true);
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(xmlFileToUpload);
    I have verified that WebLogic 8.1 is using the Apache Xerces parser.
    The XML file that the client will be uploading looks something like this:
    <uploadJobData xmlns="http://server.jobupload.services.mics.apps.mis.jlab.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file://C:\ComputingJobsUpload.xsd">
         <computingJobs>
              <job> .... </job>
    </computingJobs>
    </uploadJobData>
    My schema looks like this:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
         <xs:element name="uploadJobData">
              <xs:complexType>
                   <xs:all>
                        <xs:element name="computingJobs" type="ArrayOfComputingJobs"/>
    <xs:element name="name" type="xs:string"/>
                   </xs:all>
              </xs:complexType>
         </xs:element>
         <xs:complexType name="ArrayOfComputingJobs">
              <xs:sequence>
                   <xs:element name="job" type="ComputingJob" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
    <xs:complexType name="ComputingJob">
              <xs:all>
                   <xs:element name="queuedTime" type="xs:dateTime"/>
                   <xs:element name="beginTime" type="xs:dateTime"/>
                   <xs:element name="endTime" type="xs:dateTime"/>
                   <xs:element name="numCpusUsed" type="xs:short"/>
                   <xs:element name="numNodesUsed" type="xs:short"/>
                   <xs:element name="chargeFactor" type="xs:decimal"/>
              </xs:all>
         </xs:complexType>
    </xs:schema>
    The problem is, when the code turns on validation, I get an error that states:
    org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'uploadJobData'.
    Why is this?
    Also - and an even bigger issue -
    When I turn off validation, everything works fine. I can handle this, except that the newly added Document in my SOAPBody now has an XML namespace attribute (xmlns) for every element! My namespace is fairly large, so its making the content length of my SOAP request almost twice as big!
    After parsing the XML file in the DocumentBuilder, the XML looks something like this:
    <ns1:uploadJobData xmlns="http://server.jobupload.services.mics.apps.mis.jlab.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file://C:\ComputingJobsUpload.xsd" xmlns:ns1="http://server.jobupload.services.mics.apps.mis.jlab.org">     
    <computingJobs xmlns="http://server.jobupload.services.mics.apps.mis.jlab.org">
    <job xmlns="http://server.jobupload.services.mics.apps.mis.jlab.org">...</job>
    </computingJobs>
    <name xmlns="http://server.jobupload.services.mics.apps.mis.jlab.org">JLab</name>
    </ns1:uploadJobData>
    As you can see, the parser places the namespace attribute for every element.
    Is there any way to turn this off?
    Thanx in advance.
    --Bobby                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Next release is planed to be out next week. We will annouced here when they are ready for download.

  • File Upload and Reading from Ex cel

    Hi ALL,
    In my jsp page I have the file form field (input type=file) by which i browse for a excel file in local system and when i select the file and clicks on the submit button.
    The excel file should be uploaded to server and at the same time the contents of the excel file should be read and inserted into the database.
    Can any one help me in this regard
    My html looks like this
    <tr>
    <td>Select File</td>
    <td><input type="file" name="file">
    </td>
    </tr>
    <tr>
    <td colspan="2"><div align="center">
    <input type="submit" name="Submit" value="Submit">
    </div></td>
    </tr>
    Thanks in advance
    Ravi

    you actually have several problems here.... the first is getting the file to the servlet/jsp. look into the IFleUpload component from apache. http://jakarta.apache.org they have an File uploading system that works really well. After that, you have to "understand" the spreadsheet. If the user(s) have sent it up as a CSV or some other type of simple file, cool, otherwise you are going to have to either write or find a library to parse and interpret excel's file format. I realize I only gave a hint of answer to the first part of your question, but it should at least point you in the write direction.
    Ona side note - do they HAVE to upload an excel file? is there any way you can convince them to first save the excel file as a CSV or better, a tab delimited file? this would make your parsing job trivial. :)

  • What versions of Xerces-J and Xalan-J does JDK 1.5 make use of

    Can any one tell me what versions of Xerces-J and Xalan-J does JDK 1.5 make use of.

    Hi all,
    I have a class which has a Vector<Vector> data
    member.
    I expect its collection to contain more collections
    hence the Vector<Vector> type.Everything is OK with your concept, except that you just declared a variable of type "Vector of Vectors". Instead, you need to declare it as "Vector of Vector of Objects":
    private Vector<Vector<Object>> coll;and initialize it with
    coll= new Vector<Vector<Object>>();

  • How to use Xerces parser in my code

    Hello all,
    This is my first time in the forumn. I am a beginer to xml. I am trying to use xerces SAX parser to parse the xml document. I have downloaded xerces 2.6.2 in the c drive. Can you please guide me how can I use it in my piece of code and how to execute. I tried using the parser available on my system. This code works fine. But I am confused with how can modify my code to parse using Xerces parser.
    Help appreciated!
    import javax.xml.parsers.SAXParserFactory;//This class creates instances of SAX parser factory
    import javax.xml.parsers.SAXParser;//factory returns the SAXParser
    import javax.xml.parsers.ParserConfigurationException;//if the parser configuration does not match throws exception
    /*2 statements can be substituted by import org.xml.sax.*;
         This has interfaces we use for SAX Parsers.
         Has Interfaces that are used for SAX Parser.
    import org.xml.sax.XMLReader;
    import org.xml.sax.SAXException;
    import java.io.*;
    import java.util.*;
    public class CallSAX_18 {
         public static void main (String []args)
                   throws SAXException,
                   ParserConfigurationException
                   IOException {
         /*     3 statement below can be substitued by this below 1 statement when using other parser
    XMLReader xmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
              SAXParserFactory factory = SAXParserFactory.newInstance();
              SAXParser saxParser = factory.newSAXParser();
              XMLReader xmlReader = saxParser.getXMLReader();
              /*/MyContentHandler has callback methods that the SAX parser will use.This class implements startElement() endElement() etc methods.
              DBContentHandler dbcontent = new DBContentHandler();
              xmlReader.setContentHandler(dbcontent);
              xmlReader.parse(new File(args[0]).toURL().toString());

    Well, I am not too familiar with SAX, but I know my DOMs 8-)
    is there a reason you are using SAX to parse versus DOM?
    what is your final objective that you want to accomplish? Perhaps
    DOM might be better? Are you trying to parsing XML into nodes?

  • Xerces Sockets and The root element is required

    Hi,
    I have a problem with Xerces 1.4.3 saying "The root element is required in a well-formed document.". The story is as follows:
    When I read the XML from a file, it works OK.
    But when I send the file over a socket stream, and try to parse it in the client side, it gives this silly message.
    I am sure that there is no space before <?xml ... ?> and also the xml file is well formed.
    I guess someone can say Xerces 2 solves this problem but I am using JBuilder 7 and I could not install the new xerces over old one. If someone knows how to do this please let me know. (Copying the jars into jbuilder7/lib does not seems to work as the file names are different and it wont overwrite the old xerces parser)
    Any solution?
    Thanks,

    saving and parsing is working fine. hehe :)
    seems that the parser is somewhat going crazy.
    btw. I had written a class extending InputStream, so that it reads more than one file from a socket stream. But I have used it in this save and parse test and it worked so I dont think I have problems with that.
    In one forum here, I saw someone saying that changing the version solved his problems about this silly thing. I think I wil try this.
    Tankut

  • Parsing custom document types e.g PDF, JPEG etc

    Hi,
    If I need to parse custom document types as I mentioned above how do I extract attributes since the documents are not structured and unlike XML there are no tags.
    Thanks
    KM

    And as I said before, you have to know the format of the file to parse it.
    PDF, PS, XLS, DOC, TIFF, JPEG, GIF, etc. are all binary files that have proprietary formats. Some are documented (JPEG, GIF, PS, for instance), others are not (DOC, XLS, for instance).
    The world is moving to XML and other text-based formats because they are open standards -- they are easier to parse and more interoperable with disparate applications.

  • Variant Data and Data (Type)

    I'm on my way to build a XML parser for my program.
    How do you make Variant display it's Data and Data (Type) like the one on my screenshot?
    I dont want my data type be a string. I want it to be the same as my cluster.
    Is there a way to edit the data and data type for a variant control and return the same data for it's indicator?
    Thanks!
    Attachments:
    aaa.jpg ‏23 KB
    BBB.jpg ‏32 KB
    CCC.jpg ‏19 KB

    Can you demonstrate how exactly you're editing the Variant data type, as string...!!
    Below is an example, where I converted a cluster (Error data type) into variant and also displayed it on the Front Panel.
    Now if you wanna edit the original cluster data, by editing the string displayed in Variant indicator, this is not a good idea. Ideally you should convert the Variant data type to its original data type and thendo modification and convert it back to Variant.
    saintalan94 wrote:
    the VI at the link you provided have a password, I cant even look into the VI.
    Those VIs are provided as it is from its developer and even I don't have the password.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Parsing and String tokenizer

    I am trying to use String Tokenizer to extract fields from a file then do a calculation on some of the fields.
    My problem is when I try to parse the strings that need the calculations I get error codes as shown at the end of post. I don't see why the parsing shouldn't work.( error codes are class expected and incompatable types)
    // ParsingTextFile.java: Process text file using StringTokenizer
    import java.io.*;
    import java.util.StringTokenizer;
    public class ParsingTextFile1 {
      /** Main method */
      public static void main(String[] args) {
       // Declare  buffered file reader and writer streams
       BufferedReader brs = null;
       BufferedWriter bws = null;
       //declare tokenizer
       StringTokenizer tokenizer;
       // Declare a print stream
       PrintWriter out = null;
        // Five input file fields:total string, student name, midterm1,
        // midterm2, and final exam score
        String line=null;
        String sname = null;
       String mid1= null;
        String mid2 = null;
        String finalSc = null;
      /  double midterm1 = 0;
        double midterm2 = 0;
        double finalScore = 0;
        // Computed total score
        double total = 0;
        try {
          // Create file input and output streams 
          brs = new BufferedReader(new FileReader("in.dat"));
          bws = new BufferedWriter(new FileWriter("out.dat"));
         while((line= brs.readLine())!=null){
         tokenizer =new StringTokenizer(line);
          sname = tokenizer.nextToken();
          mid1 = tokenizer.nextToken();
          mid2 = tokenizer.nextToken();
          finalSc= tokenizer.nextToken();
          midterm1 = double.parseDouble(mid1)//this code not working
          midterm2 = double.parseDouble(mid2);)//this code not working
          finalScore = double.parseDouble(finalScore);//this code not working
          out = new PrintWriter(bws);
          total = midterm1*0.3 + midterm2*0.3 + finalScore*0.4;
          out.println(sname + " " + total);
        catch (FileNotFoundException ex) {
          System.out.println("File not found: in.dat");
        catch (IOException ex) {
          System.out.println(ex.getMessage());
        finally {
          try {
            if (brs != null) brs.close();
            if (bws != null) bws.close();
          catch (IOException ex) {
            System.out.println(ex);
    }[\code]
    errorsC:\j2sdk1.4.1_06\bin\ParsingTextFile1.java:43: class expected
        midterm1 = double.parseDouble(mid1);
                          ^
    C:\j2sdk1.4.1_06\bin\ParsingTextFile1.java:44: class expected
        midterm2 = double.parseDouble(mid2);
                          ^
    C:\j2sdk1.4.1_06\bin\ParsingTextFile1.java:45: class expected
        finalScore = double.parseDouble(finalScore);
                            ^
    C:\j2sdk1.4.1_06\bin\ParsingTextFile1.java:43: incompatible types
    found   : java.lang.Class
    required: double
        midterm1 = double.parseDouble(mid1);
                         ^
    C:\j2sdk1.4.1_06\bin\ParsingTextFile1.java:44: incompatible types
    found   : java.lang.Class
    required: double
        midterm2 = double.parseDouble(mid2);
                         ^
    C:\j2sdk1.4.1_06\bin\ParsingTextFile1.java:45: incompatible types
    found   : java.lang.Class
    required: double
        finalScore = double.parseDouble(finalScore);
                           ^
    6 errors
    Process completed.

    while(line.hasMoreTokens())
    sname = tokenizer.nextToken();  
       mid1 = tokenizer.nextToken();   
      mid2 = tokenizer.nextToken();  
       finalSc= tokenizer.nextToken(); 
        midterm1 = double.parseDouble(mid1)//this code not working
         midterm2 = double.parseDouble(mid2);)//this code not working  
       finalScore = double.parseDouble(finalScore);//this code not working
    }if it doesn't work then you need to add delimiter Or the token that you are trying to convert into is not valid.

  • Diff b/w reference type and elementary type

    hi all
    can any one what is the diff b/w reference type and elementary type in data element ....
    thanks
    lokesh

    The data type attributes of a data element can be defined by:
    Specifying a domain whose attributes are copied by the data element.
    Specifying a build-in type where the data type, number of places, and possibly decimal places can be directly specified.
    Specifying a reference type, i.e. reference to a class, an interface, a type defined in the Dictionary, a built-in type, or a generic reference to ANY or DATA.
    In the maintenance screen you can set the option you require by setting the appropriate flag (domain, built-in type, reference type) and filling in the corresponding input fields.
    A reference type is a reference to another type. There are the following kinds of reference types:
    Reference to a class or an interface
    Reference to a type defined in the Dictionary
    Generic reference to ANY, OBJECT, or DATA
    Reference to a built-in Dictionary type with specification of the length and possibly also the decimal places
    You can use a reference type to define the data type properties for a data element, or for typing the component of a structure or the line type of a table type.
    In the field Referenced type, enter the name of a class, an interface, the generic references DATA, OBJECT, ANY, or the name of a type defined in the Dictionary. If the reference type is to be a predefined Dictionary type, choose the reference to the predefined type. Enter the number of characters and, if required, the number of decimal places.
    where as
    The data class describes the data format at the user interface.
    If a table field or structure field or a data element is used in an ABAP program, the data class is converted to a format used by the ABAP processor. When a table is created in the database, the data class of a table field is converted to a corresponding data format of the database system used.
    You can find a detailed description of the data classes allowed in the ABAP Dictionary in Overview of the Data Classes.

  • Implicit and explicit Type conversion using Type object in heap

    Hi,
    I am surprised how Implicit and explicit Type conversion works using Type object in heap. for example when implicit type conversion occur what pointer it returns to object and similarly with explicit type conversion.

    Hello,
    >> I am surprised how Implicit and explicit Type conversion works using Type object in heap.
    For Implicit conversions: Typical examples are conversions from smaller to larger integral types, and conversions from derived classes to base classes. For the first one, the reference would be different which means it would return a different pointer to
    a new object. For the reference type, it actually points to the same memory location, you could use the object.ReferenceEquals() to check it.
    For Explicit conversions (casts):Typical examples include numeric conversion to a type that has less precision or a smaller range, and conversion of a base-class instance to a derived class. For first one, it would perform the same with implicit conversions.
    While for the conversion of conversion of a base-class instance to a derived class, actually, there's no built-in way to do this conversion.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for