Hi all.

First time using namespace with /XmlBeans/...

Our customer wants to add a namespace to its /xml /file... but in a "particular way".
_From_:
/<Root schemaVersion="1.1" >
<Elt1>
<Elt11>
<Elt111 Att1111="value1111" Att1112="value1112">
</Elt111>
</Elt11>
</Elt1>
<Elt2>
<Elt21 Att211="value211" Att212="value212">
    ...
</Elt21>
</Elt2>
</Root>
/_He wants_:
/<Root schemaVersion="1.1" *xsi:noNamespaceSchemaLocation="aSchema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>*
<Elt1>
<Elt11>
<Elt111 Att1111="value1111" Att1112="value1112">
</Elt111>
</Elt11>
</Elt1>
<Elt2>
<Elt21 Att211="value211" *xsi:*Att212="value212">
    ...
</Elt21>
</Elt2>
</Root>
/*And no more changes.*

I found nothing in generated classes methods, but by using XmlCursor, I can do this:
/XmlCursor schemaCursor = myDoc.newCursor();
QName myQName = new QName("http://www.w3.org/2001/XMLSchema-instance";, "noNamespaceSchemaLocation", "xsi");
if (schemaCursor.toFirstChild())
{
schemaCursor.setAttributeText(myQName, prop.getProperty("SchemaLocation"));
}
schemaCursor.dispose();
/
It works fine... *but I cannot add the right prefix to the /Att212 /attribute!*
_I tried_:

   * /aNewCursor.insertAttributeWithValue("Att212", "value212");/
   * /aNewCursor.insertAttributeWithValue("Att212",
     "http://www.w3.org/2001/XMLSchema-instance";, "value212");/
   * /aNewCursor.insertAttributeWithValue("Att212", , "xsi", "value212");/
   * /aNewCursor.insertAttributeWithValue("noNamespaceSchemaLocation"
     ,"http://www.w3.org/2001/XMLSchema-instance";,
     prop.getProperty("SchemaLocation"));
     aNewCursor.insertAttributeWithValue("Att212", "value212");
     
aNewCursor.insertNamespace("xsi","http://www.w3.org/2001/XMLSchema-instance";)./


But it does not work.
I think I do not understand correctly the documentation (sorry, I am french! ;-) ) or forget something somewhere... but even after a good night (well, kind of...), I cannot find what.

Can you help me please?

Thanks,

--
Nicolas BONNEMORT
Akka Informatique Et Systemes
ASTEI
+33 (0)5.34.60.81.65

Reply via email to