Azam,

 

I'd suggest using CQ to debug the XQuery you are writing.

 

The explore tool looks will help you identify the paths of documents stored
in the database.

 

Just a shot in the dark but from the looks of it you're actually placing the
xcc connection string in the fn:doc() statement.

 

Based on the documentation for XCC and looking at your code below, since you
did not specify a URI to load the content, the uri for the doc would
actually be:

 

c:\DocBookForAuthentic.xml

 

so your code should read:

 

session.NewAdhocQuery("doc(\"c:\DocBookforAuthentic.xml\")/book/chapter[1]")
;

 

You may also encounter namespace issues, as I'm not sure what the content
within your xml file looks like, so one way to test that the document
actually exists is by using the below:

 

session.NewAdhocQuery("doc(\"c:\DocBookforAuthentic.xml\")");

 

Then you can work to sort out any namespace issues once you are sure that
you have the document in the database.

 

Another thing that you can try just to see the URIs of all the loaded
documents would be to make sure that the uri lexicon is enabled on your
database and then execute the following:

 

session.NewAdhocQuery("cts:uris()");

 

hope this helps.

 

-fs

 

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Azam
Sent: Tuesday, November 25, 2008 5:40 AM
To: 'General Mark Logic Developer Discussion'
Subject: RE: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

Hi

The following is the Xquery I have used.

Request request =
session.NewAdhocQuery("doc(\"xcc://azam:[EMAIL PROTECTED]:8003/GunDigest/D
ocBookforAuthentic.xml\")/book/chapter[1]");    

ResultSequence rs = session.SubmitRequest(request);

            ConsoleWriteLine(rs.AsString());

            ConsoleRead();

 

But iam not able to get the content from the Mark Logic server.

Could you please tell what may be the reason.

 

 

Azam                               

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Deshbir
Sent: Monday, November 24, 2008 7:56 PM
To: 'General Mark Logic Developer Discussion'
Subject: RE: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

One obvious issue in the code are the 2 different XBDC ports  i.e. 8003 for
loading and 8001 pulling content. So you could be loading your XML into a
different database and then trying pull it from another one? Also you have
"spaces" in your XQuery; not sure, but these could also be a problem. Try
without spaces -
"xcc://azam:[EMAIL PROTECTED]:8001/GunDigest/DocBookforAuthentic.xml")/boo
k/chapter[1]"

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Azam
Sent: Monday, November 24, 2008 7:45 PM
To: 'General Mark Logic Developer Discussion'
Subject: RE: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

C#.net console Application

For loading the xml document in Mark Logic server:

       Uri serverUri = new
Uri("xcc://azam:[EMAIL PROTECTED]:8003/GunDigest");

            FileInfo[] files = new FileInfo[1];

            ContentLoader loader = new ContentLoader(serverUri);

            files[0] = new FileInfo(@"c:\DocBookforAuthentic.xml");


 

            loader.Load(files);

 

 

For pulling the content from xml file in Mark Logic server:

            ContentSource contentSource =
ContentSourceFactory.NewContentSource(serverUri);//.newContentSource(serverU
ri);

            Session session = contentSource.NewSession();

  string strq =
doc("xcc://azam:[EMAIL PROTECTED]:8001/GunDigest/DocBookforAuthentic.xml")
/ book / chapter[1];

            Request request = session.NewAdhocQuery(strq);

            ResultSequence rs = session.SubmitRequest(request);

            ConsoleWriteLine(rs.AsString());

            ConsoleRead();

 

For loading the xml document in Mark Logic server code is working 

But in For pulling the content from xml file in Mark Logic server

Near doc and book and chapter iam getting the error as 

 

Doc does not exist in the current context

book does not exist in the current context

Chapter does not exist in the current context

 

 

Could you please tell me why its happening like this

I will be very thankful to you sir.

 

Azam

 

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Deshbir
Sent: Monday, November 24, 2008 7:25 PM
To: 'General Mark Logic Developer Discussion'
Subject: RE: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

Assuming your XML document is something like:

<book>

                <chapter>..</chapter>

                <chapter>..</chapter>

                <chapter>..</chapter>

                .

</book>

 

the XQuery for retrieving the 1st chapter would be 

doc("<uri of your xml>")/book/chapter[1]

 

or if you have unique attributes (for example an id) for your chapters:

<book>

                <chapter id="."' >..</chapter>

                <chapter>..</chapter>

                <chapter>..</chapter>

                .

</book>

 

the XQuery for retrieving the 1st chapter could be 

doc("<uri of your xml>")/book/[EMAIL PROTECTED]"."]

 

In general, you can assume that XQuery is a superset of Xpath , so almost
any XPath selector would work.

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Azam
Sent: Monday, November 24, 2008 7:02 PM
To: 'General Mark Logic Developer Discussion'
Subject: RE: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

Thanks a lot.

I will work out on this as I need c#.net code

 

But one problem as iam new to xquery can you send me the xquery samples

For pulling the xml document named test.xml at a particular node called
"chapter"  from Mark logic server

 

It will be very helpful for me.

 

Thanks,

Azam

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Deshbir
Sent: Monday, November 24, 2008 6:57 PM
To: 'General Mark Logic Developer Discussion'
Subject: RE: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

Hi Azam,

 

Sample code:

========================================

import com.marklogic.xcc.*;

import java.net.*;

 

//Setup a connection to Mark Logic XDBC server

URI serverUri = new URI ("xcc://" + 

                                                  userName + ":" + 

                                                  pass + "@" + 

                                                  serverIP + ":" + 

                                                  port);

ContentSource cs = ContentSourceFactory.newContentSource(serverUri);

Session session = cs.newSession();

 

//Execute XQuery

String strQuery="<Any XQuery>";

Request request = m_objConnectionSession.newAdhocQuery (strQuery);

ResultSequence rs= session.submitRequest(request);

 

//Retrieve Output of XQuery

String xmlOutput;

if (rs.hasNext()) 

{

                ResultItem item = rs.next();

                xmlOutput = item.asInputStream();

}

 

//Print XML

System.out.println(xmlOutput);

=====================================

 

Regards.

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Azam
Sent: Monday, November 24, 2008 6:29 PM
To: [email protected]
Subject: [MarkLogic Dev General] XQuery and Mark Logic Sever

 

Hi,

 

I have loaded the Xml document in Mark Logic server using the XCC demo
application.

 

The main task I need to complete is ,

 I have to pull the content from the Xml document which I have loaded into
Mark Login server at a particular node using XQUERY and XCC.

As iam very new to XQUERY.

Could you please send me the process or the sample code for the above task.

 

 

Its very urgent.

I will be very helpful to you if I through with my task.

 

 

Thanks in Advance.

 

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to