Hello:
I have a problem, when I do the xpath query "/DataSource" at a
collection that contains documents with this structure:
<DataSource
ID="00ffa7c06e3979dd000000f59437d713" Name="DC2 Reverso"
Description="">
<Fields>
<Field key="0cffa7c0411731c6000000f39dac0383"
col="/db/com/ESH_Systems/ContingenSys/configurations/elements/XCompany">
<Fields>
<Field key="0cffa7c0411731c6000000f39b6900b8"
col="/db/com/ESH_Systems/ContingenSys/configurations/elements/XCompany">
<Values>
<Value Source="6" Type="0" Pattern=""
Name="COLUMN1_ESTABLECIMIENTOS_EN_QUE_RIGE_EL_PLAN" Aux="1"/>
<Value Source="6" Type="0" Pattern=""
Name="COLUMN2_ESTABLECIMIENTOS_EN_QUE_RIGE_EL_PLAN" Aux="2"/>
<Value Source="6" Type="0" Pattern=""
Name="COLUMN3_ESTABLECIMIENTOS_EN_QUE_RIGE_EL_PLAN" Aux="3"/>
</Values>
</Field>
<Field key="0cffa7c0411731c6000000f392645365"
col="/db/com/ESH_Systems/ContingenSys/configurations/elements/XCompany">
<Values>
<Value Source="0" Type="0" Pattern=""
Name="VALUE_DEL"/>
</Values>
</Field>
</Fields>
</Field>
</Fields>
</DataSource>
I receive the follow exception:
[Fatal Error] :2:17753: Attribute "http://xml.apache.org/xindice/Query"
bound to namespace "http://xml.apache.org/xindice/Query" was already
specified for element "DataSource".
org.xml.sax.SAXParseException: Attribute
"http://xml.apache.org/xindice/Query" bound to namespace
"http://xml.apache.org/xindice/Query" was already specified for element
"DataSource".
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.xindice.client.xmldb.xmlrpc.CollectionImpl.query(CollectionImpl.java:572)
at
org.apache.xindice.client.xmldb.XindiceCollection.query(XindiceCollection.java:292)
at
org.apache.xindice.client.xmldb.services.QueryService.query(QueryService.java:131)
at
com.ESHSystems.ContingenSys.Data.CollectionsDBManager.getXPathQuerySAX(CollectionsDBManager.java:236)...
but just when I use the tomcat version... when use the embedded version
that works fine...
the code is something like this:
//get the query service
XPathQueryService queryservice = (XPathQueryService)
col.getService(DBConstants.XINDICE_XPATHQUERYSERVICE_NAME,
DBConstants.XINDICE_XPATHQUERYSERVICE_VERSION);
//Execute query
queryservice.clearNamespaces();
ResourceSet resultset = queryservice.query(xpath);
if (resultset.getSize() > 0) {
objs = new Object[(int) resultset.getSize()];
XMLResource resource = null;
for (int i = 0; i < resultset.getSize(); i++) {
resource = (XMLResource) resultset.getResource(i);
if (resource != null) {
resource.setSAXFeature(SAXEventGenerator.SAX_NAMESPACE_PREFIXES_FEATURE,
false);
resource.setSAXFeature(SAXEventGenerator.SAX_NAMESPACES_FEATURE, false);
resource.getContentAsSAX(handler);
objs[i] = handler.getUserObject();
}
}
return objs;
}
Plz If anybody knows what I missing help me.
any suggestions?
