[jdom-interest] RE: jdom-interest Digest, Vol 49, Issue 6

Martinez, Will Will_Martinez at cable.comcast.com
Mon Nov 24 07:51:32 PST 2008


Fabio,

I encountered the same problem, if not similar to what you are describing.  I submitted my question to this group but did not receive a reply.

 

My next step is to use Xpath.  I had been busy on other tasks, but plan to tackle Xpath today.  I am new to Xpath, so we'll see how far I get.

 

This is what I had posted:

 

I have this xml file that I need to access the Text "Dish."  I have listed what semi works and does not work.  Please see attached file.

 

<CatParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <CatInputs>

        <InputValue Name="Food">

            <From>MotherCat</From>

            <Where>

                <On>Dish</On>

            </Where>

            <Get Name="Tom">WHITE</Get>

            <Get Name="Jerry">BLACK</Get>

            <Get Name="Sam">GREY</Get>

        </InputValue>

 

descendant_2 = 
Where

secondDescendant_1 = 
On

descendant_3 = 
Get

attributeValue = 
Name

 

With this syntax, I am able to get at Dish, but that is because an attribute is not associated with

the element On.

String secondDescendant1Data = subParentElement.getChild(descendant_2).getChildText(secondDescendant_1);

System.out.print("\n secondDescendant1 Text: " + secondDescendant1Data);// child's descendant2 Where Dish

 

I get WHITE with this, but I do not have a way of getting to the next element  BLACK.

//String secondDescendant3Data = subParentElement.getChild(descendant_3).getValue();//This works!

 

I get Tom with this syntax;

//String secondDescendant3Data = subParentElement.getChild(descendant_3).getAttribute(attributeValue).getValue();

 

 

With this syntax I get the actual attribute: Name;

//String secondDescendant3Data = subParentElement.getChild(descendant_3).getAttribute(attributeValue).getName();//Name

 

I need syntax like this;

//String secondDescendant3Data = subParentElement.getChild(descendant_3).getAttributeValue(attributeValue).getText(of Tom);

 

But there isnt an API method that works!

Might you be able to suggest a solution?

 

-----Original Message-----
From: jdom-interest-bounces at jdom.org [mailto:jdom-interest-bounces at jdom.org] On Behalf Of jdom-interest-request at jdom.org
Sent: Sunday, November 23, 2008 1:00 PM
To: jdom-interest at jdom.org
Subject: jdom-interest Digest, Vol 49, Issue 6

 

Send jdom-interest mailing list submissions to

      jdom-interest at jdom.org

 

To subscribe or unsubscribe via the World Wide Web, visit

      http://www.jdom.org/mailman/listinfo/jdom-interest

or, via email, send a message with subject or body 'help' to

      jdom-interest-request at jdom.org

 

You can reach the person managing the list at

      jdom-interest-owner at jdom.org

 

When replying, please edit your Subject line so it is more specific

than "Re: Contents of jdom-interest digest..."

 

 

Today's Topics:

 

   1. using JDOM 1.1 on Android's Dalvik VM (Sean Sullivan)

   2. Jdom with XMI Files (Fabio Leal)

   3. RE: Jdom with XMI Files (Michael Kay)

   4. RE: Jdom with XMI Files (Michael Kay)

 

 

----------------------------------------------------------------------

 

Message: 1

Date: Sat, 22 Nov 2008 16:05:46 -0800

From: "Sean Sullivan" <sean at seansullivan.com>

Subject: [jdom-interest] using JDOM 1.1 on Android's Dalvik VM

To: jdom-interest at jdom.org

Message-ID:

      <3a0630af0811221605x6a5d6ab6k4092cc5147e6f18 at mail.gmail.com>

Content-Type: text/plain; charset="iso-8859-1"

 

I'm trying to use JDOM 1.1 on the Android 1.0 platform.

 

The Android platform supports most Java 5 API's.  However, java.rmi.*

classes are not part of the Android platform.

 

When I use JDOM 1.1 on Android, I see this error:

 

 

W/dalvikvm(  327): VFY: unable to resolve check-cast 98

(Ljava/rmi/RemoteException;) in Lorg/jdom/JDOMException;

W/dalvikvm(  327): VFY:  rejecting opcode 0x1f at 0x003d

W/dalvikvm(  327): VFY:  rejected

Lorg/jdom/JDOMException;.getNestedException

(Ljava/lang/Throwable;)Ljava/lang/Throwable;

W/dalvikvm(  327): Verifier rejected class Lorg/jdom/JDOMException;

D/AndroidRuntime(  327): Shutting down VM

W/dalvikvm(  327): threadid=3: thread exiting with uncaught exception

(group=0x40010e28)

E/AndroidRuntime(  327): Uncaught handler: thread main exiting due to

uncaught exception

E/AndroidRuntime(  327): java.lang.VerifyError: org.jdom.JDOMException

 

 

I looked at the JDOM source code and noticed that org.jdom.JDOMException

uses java.rmi.RemoteException:

 

        if (parent instanceof RemoteException) {

            return ((RemoteException)parent).detail;

        }

 

 

In order for this code to run on Android, we would need to eliminate

java.rmi.RemoteException from JDOMException.java

 

One possible fix (?) is to use reflection to retrieve the "detail" field:

 

        if (parent.getClass().getName().startsWith("java.rmi.")) {

            try    {

                Field f = parent.getClass().getField("detail");

                return (Throwable) f.get(parent);

            } catch (Exception ignore) {

                // ignored

            }

        }

 

Using 'startsWith' is a hack. The intent is to detect

java.rmi.RemoteException as well as all

subclasses of java.rmi.RemoteException from the java.rmi pacakge.

 

  http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html

 

Is there a better way to code this?  Any other comments?

 

Sean

-------------- next part --------------

An HTML attachment was scrubbed...

URL: http://www.jdom.org/pipermail/jdom-interest/attachments/20081122/3df43c07/attachment-0001.htm

 

------------------------------

 

Message: 2

Date: Sun, 23 Nov 2008 00:09:34 -0300

From: "Fabio Leal" <fabioleal.ufcg at gmail.com>

Subject: [jdom-interest] Jdom with XMI Files

To: jdom-interest at jdom.org

Message-ID:

      <acc6a2a30811221909m21da7d26n77daf2a98b860e1d at mail.gmail.com>

Content-Type: text/plain; charset="iso-8859-1"

 

Hy everybody...

I'm trying to manipulate a XMI file with Jdom, and I have experienced some

difficulties doing it.

 

For example:

All the subnodes of the root Element have the "same name", but have

different attributes.

How can I choose a specific "Element", by specifying it's attributes?

 

Another point is that the attributes started with "xmi:" aren't recognized

by Jdom. I've already tested a bunch of things to make it recognizable, but

all of them were unsuccessful. =/

 

I think that my problems are quite easy to solve, but I haven't found

anything that could help me in the web.

If Jdom isn't a great tool with XMI, could you suggest me other?

 

 

*Xmi file that i want to read:

http://www.omg.org/spec/UML/20061001/Superstructure.cmof

 

 

Cheers,

Fábio Leal

-------------- next part --------------

An HTML attachment was scrubbed...

URL: http://www.jdom.org/pipermail/jdom-interest/attachments/20081123/08303f56/attachment-0001.htm

 

------------------------------

 

Message: 3

Date: Sun, 23 Nov 2008 13:58:22 -0000

From: "Michael Kay" <mike at saxonica.com>

Subject: RE: [jdom-interest] Jdom with XMI Files

To: "'Fabio Leal'" <fabioleal.ufcg at gmail.com>,

      <jdom-interest at jdom.org>

Message-ID: <373A40C0FF5B4348A9D7581488867D89 at Sealion>

Content-Type: text/plain; charset="iso-8859-1"

 

It's a good idea to show the code you were using, then people can tell you

where you went wrong.

 

It looks a bit as if you haven't grasped how namespaces work, but without

seeing your attempts, that's a guess.

 

Michael Kay

http://www.saxonica.com/

 

 

  _____  

 

From: jdom-interest-bounces at jdom.org [mailto:jdom-interest-bounces at jdom.org]

On Behalf Of Fabio Leal

Sent: 23 November 2008 03:10

To: jdom-interest at jdom.org

Subject: [jdom-interest] Jdom with XMI Files

 

 

Hy everybody...

I'm trying to manipulate a XMI file with Jdom, and I have experienced some

difficulties doing it. 

 

For example: 

All the subnodes of the root Element have the "same name", but have

different attributes.

How can I choose a specific "Element", by specifying it's attributes?

 

Another point is that the attributes started with "xmi:" aren't recognized

by Jdom. I've already tested a bunch of things to make it recognizable, but

all of them were unsuccessful. =/

 

I think that my problems are quite easy to solve, but I haven't found

anything that could help me in the web.  

If Jdom isn't a great tool with XMI, could you suggest me other?

 

 

*Xmi file that i want to read:

http://www.omg.org/spec/UML/20061001/Superstructure.cmof

 

 

Cheers,

Fábio Leal

 

 

 

-------------- next part --------------

An HTML attachment was scrubbed...

URL: http://www.jdom.org/pipermail/jdom-interest/attachments/20081123/d56b168f/attachment-0001.htm

 

------------------------------

 

Message: 4

Date: Sun, 23 Nov 2008 15:07:26 -0000

From: "Michael Kay" <mike at saxonica.com>

Subject: RE: [jdom-interest] Jdom with XMI Files

To: "'Fabio Leal'" <fabioleal.ufcg at gmail.com>

Cc: jdom-interest at jdom.org

Message-ID: <B5CD911C957041ACA1914AF3B58A06C9 at Sealion>

Content-Type: text/plain;     charset="US-ASCII"

 

> 

> You were right. I am quite confuse when manipulating namespaces.

> Could you give me a help there?

 

Please don't go off-list. When people search the archives, they want to find

the answers, not only the questions!

> 

> For example, how could I get to the Element:

> 

>  <ownedMember xmi:type="cmof:Package" xmi:id="StateMachines"

> name="StateMachines">

> 

> (this is a root's child) without using 

> rootElement.getchildren() and iterating over it?

 

Use Element.getChild(name, namespace)

> 

> How could I get its child attributes without using

> myElement.getAttributes() and iterating over it?

 

Use Element.getAttribute(name, namespace)

 

Michael Kay

http://www.saxonica.com/

 

 

 

------------------------------

 

_______________________________________________

To control your jdom-interest membership:

http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com

 

End of jdom-interest Digest, Vol 49, Issue 6

********************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.jdom.org/pipermail/jdom-interest/attachments/20081124/75e335e7/attachment.htm


More information about the jdom-interest mailing list