|
Hi Radu, Thanx a lot. The ‘elementFormDefault’
attribute in <schema> element worked. Best Regards Rao (Peruri Rama Mohan Rao) From: Radu
Preotiuc-Pietro [mailto:[EMAIL PROTECTED] Well, Rao, looks like you are a
"victim" of the elementFormDefault. In XmlSchema, by default, when
you declare a local element "Server" (like in your Schema) it
goes into the "default namespace" rather than the "target
namespace". You can do two things: 1. if you want to keep the Schema
unmodified, then you need to change your document from <iw:Server .... >
to <Server ....> and your XPath correspondingly 2. if you want to keep the document and
the XPath the same, then you need to change your Schema to either make
"Server" a global element and then use <element
ref="tns:Server"> instead of <element
name="Server".....> OR put
elementFormDefault="qualified", either on the declaration of the
element or on the top-level <schema> In general, validating the document upon
loading (via iwf.validate()) is a good idea in case you think something is
amiss. Validation is not done by default by XmlBeans but it is easy to do it,
and has the benefit of providing detailed error messages with line
and column numbers to help you figure out what's wrong. Radu From: Hi, I am new to XmlBeans. I like what I see so far.
I am having a problem getting XmlBeans to return the actual type
(ServerType) for my XPath query. What I get is XmlObject.
Obviously, I am making some mistake. But what is it? Please help J J 1. My Code: String queryExpression = "declare namespace
iw='http://www.rao.com/iwf/xml-config';"
+ "./iw:iwf/iw:Server"; XmlOptions xopt = new XmlOptions(); xopt.setSaveOuter(); xopt.setSaveUseOpenFrag(); xopt.setUseDefaultNamespace(); XmlObject[] xo = idoc.selectPath(queryExpression, xopt); System.out.println(xo.getClass().getName()); System.out.println(xo[0].toString()); 2. Output: When querying for the IW:IWF elements, the output is [Lcom.rao.iwf.xmlConfig.IwfType; <xml-fragment
xsi:schemaLocation="http://www.dbs.com/iwf/xml-config
IwfConfigXml.xsd" xmlns:iw="http://www.dbs.com/iwf/xml-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"> …. More lines deleted … When querying for the IW:IWF / IW:Server elements, the
output is [Lorg.apache.xmlbeans.XmlObject; <xml-fragment
id="datadb" provider="oracle-db" host="localhost"
port="1521" instance="ora92" user-id="swpro"
password="swpro"
xmlns:iw="http://www.dbs.com/iwf/xml-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"/> Notice that the ClassName is XmlObject and not ServerType
(which I expect). 3. XSD <?xml version = "1.0" encoding = "UTF-8"?> <xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.rao.com/iwf/xml-config" xmlns:iwf="http://www.rao.com/iwf/xml-config">
<xsd:element name="iwf" type="iwf:IwfType" />
<xsd:complexType name="IwfType">
<xsd:sequence>
<xsd:element name="Server" type="iwf:ServerType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ServerType">
<xsd:attribute name="id"
type="xsd:string"
/>
<xsd:attribute name="provider" type="xsd:string" />
</xsd:complexType> </xsd:schema> 4. XML <?xml version="1.0" encoding="UTF-8"?> <iw:iwf xmlns:iw="http://www.dbs.com/iwf/xml-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://www.dbs.com/iwf/xml-config
IwfConfigXml.xsd">
<!-- SERVERS -->
<iw:Server id="datadb" provider="oracle-db"/> </iw:iwf> Best Regards Rao (Peruri Rama Mohan Rao) CONFIDENTIAL
NOTE: The information contained in this email is intended only for the use of
the individual or entity named above and may contain information that is
privileged, confidential and exempt from disclosure under applicable law. If
the reader of this message is not the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this communication
is strictly prohibited. If you have received this message in error, please
immediately notify the sender and delete the mail. Thank you. CONFIDENTIAL NOTE: The information contained in this email is intended only for the use of the individual or entity named above and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this message in error, please immediately notify the sender and delete the mail. Thank you. _______________________________________________________________________ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. |
- XPath returns XMLObject instead of the actual Type Rama Mohan Rao Peruri
- RE: XPath returns XMLObject instead of the actu... Radu Preotiuc-Pietro
- RE: XPath returns XMLObject instead of the actu... Rama Mohan Rao Peruri

