Hi Mindie,

Your code seems to contain a typo. You say you define getTeasers locally, and 
you do so with the local prefix. But in the following code you are calling 
getTeasers with the common prefix. I am not sure whether that should make any 
difference, and it might not be relevant to your main issue, but thought it 
wise to mention it anyway.

Kind regards,
Geert

>


Drs. G.P.H. Josten
Consultant


http://www.daidalos.nl/
Daidalos BV
Source of Innovation
Hoekeindsehof 1-4
2665 JZ Bleiswijk
Tel.: +31 (0) 10 850 1200
Fax: +31 (0) 10 850 1199
http://www.daidalos.nl/
KvK 27164984
De informatie - verzonden in of met dit emailbericht - is afkomstig van 
Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit 
bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit 
bericht kunnen geen rechten worden ontleend.


> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> Mindie Sorenson
> Sent: maandag 29 september 2008 22:54
> To: General Mark Logic Developer Discussion
> Subject: RE: [MarkLogic Dev General] namespace problem
>
> I'm still having a problem with this.  I have adjusted my
> code so that it follows Mike's suggestions and also has my
> getTeasers function inline and not in another module (which
> is where I'd ideally like it to be).  However, although I can
> see the results, I still can't access specific elements (such
> as title, text, etc.) within the resultset.  I understand
> that my results are in the default namespace, but I haven't
> found a way to access them directly.  Does anyone know how to do this?
>
> Here is my code:
>
> xquery version "1.0-ml";
>
> import module namespace common = "commonFunctions" at
> "../modules/commonFunctions.xqy";
>
> declare variable $pageName := "labs";
> declare variable $locale := xdmp:get-request-field( "locale"
> , "eng"); declare variable $src := xdmp:get-request-field(
> "src", "02285");
>
>
> declare function local:getTeasers( $locale, $type, $pageName ) {
>     let $teasers := /[EMAIL PROTECTED] =
> $locale]/[EMAIL PROTECTED] = $type][page = $pageName]
>     return $teasers
> };
>
> xdmp:set-response-content-type( "text/html" ), '<!DOCTYPE
> html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>',
>
> let $righSashTeasers := common:getTeasers( $locale, "Right
> Sash", $pageName ) return
>
> <html xmlns="http://www.w3.org/1999/xhtml";>
>         <head>
>                 <meta http-equiv="Content-Type"
> content="text/html; charset=utf-8" />
>                 <title>{ common:getString($locale, $pageName,
> "webIndexTitle") }</title>
>                 <link rel="stylesheet" href="css/reset.css"
> type="text/css" media="screen" title="no title" charset="utf-8" />
>                 <!--[if IE]><link rel="stylesheet"
> href="conference/css/ie.css" type="text/css" media="screen,
> projection"><![endif]-->
>                 <link rel="stylesheet" href="css/home.css"
> type="text/css" media="screen" title="no title" charset="utf-8" />
>                 <link rel="stylesheet" type="text/css"
> href="css/jquery.autocomplete.css" media="screen" />
>                 <link rel="stylesheet" href="css/labs.css"
> type="text/css" media="screen" title="no title" charset="utf-8" />
>                 <script type="text/javascript"
> src="/web/script/omniture.js"></script>
>                 <script src="script/jquery-1.2.1.pack.js"
> type="text/javascript"></script>
>         <!--[if lte IE 6]><script
> src="script/jquery.bgiframe.min.js"
> type="text/javascript"></script><![endif]-->
>         <script src="script/jquery.autocomplete.packed.js"
> type="text/javascript"></script>
>
>         <script src="conference/script/project.js"
> type="text/javascript" charset="utf-8"></script>
>         <script src="conference/script/browse.js"
> type="text/javascript" charset="utf-8"></script>
>         </head>
>         <body id="labs">
>            <div id="main" class="clearfix">
>                         <div id="labs-featured">
>                                 <div id="labs-welcome">
>                                         <h1>{
> common:getString($locale, $pageName, "welcome") }</h1>
>                                         <p>{
> common:getString($locale, $pageName, "description") }</p>
>                 </div>
>                 <span>
>                                 {
>                                     let $featureTeasers :=
> local:getTeasers( $locale, "Feature", $pageName )
>                                     for $teaser in
> local:$featureTeasers
>                                     let $mindie :=
> xdmp:log($featureTeasers)
>                         let $title as xs:string? :=
> $teaser/local:title
>                     let $teaserText as xs:string? :=
> $teaser/local:text
>                         let $imageName as xs:string? :=
> $teaser/local:image
>                         let $url as xs:string? := $teaser/local:url
>                         order by
> xs:integer($teaser/@sequence) ascending
>                         return
>                         <div class="featured clearfix">
>                                 <a href="{ $url }"><img
> src="images/{ $imageName }"/></a>
>                                 <h3><a href="{ $url }">{
> $title}</a></h3>
>                                 <p>{ $teaserText }</p>
>                         </div>
>                 }
>                 </span>
>
>                         </div>
>                         <div id="latest-news">
>                                 <h2>{
> common:getString($locale, $pageName, "latestUpdates") }</h2>
>                                 { common:getTeasers($locale,
> "Right Sash", $pageName) }
>                         </div>
>                 </div>
>
>         </body>
> </html>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> Michael Blakeley
> Sent: Friday, September 26, 2008 4:13 PM
> To: General Mark Logic Developer Discussion
> Subject: Re: [MarkLogic Dev General] namespace problem
>
> Mindie,
>
> I'd avoid setting the default element namespace in a prolog,
> like that.
> Instead, try something like this (porting to xquery 0.9-ml is
> left as an
> exercise):
>
> xquery version "1.0-ml";
>
> declare variable $METADATA as element() :=
>     <meta><title>this is the title</title></meta> ;
>
> declare function local:get-title($m as element(meta))
>    as xs:string
> {
>     $m/title
> };
>
> <html xmlns="http://www.w3.org/1999/xhtml";>
> <head>
> <title>{ local:get-title($METADATA) }</title> </head> <body>
> <p>this is a test</p> </body> </html>
>
> Since local:get-title is outside the scope of the html xmlns
> decl, it uses the default element namespace, which is still
> the empty namespace.
>
> -- Mike
>
> Mindie Sorenson wrote:
> > I have a .xqy file that calls the getTeasers function in
> the common module:
> >
> > default element namespace="http://www.w3.org/1999/xhtml";
> > import module namespace common = "commonFunctions" at
> "../modules/commonFunctions.xqy"
> >
> > let $featureTeasers := common:getTeasers( $locale, "Feature",
> > $pageName )
> >
> >
> > I then try to iterate over the results, but I get nothing
> back except xml.  I'm pretty sure it is because the results
> are in a different namespace, but I can't find out how to
> access them in the correct namespace in my for loop.
> >
> > <div id="labs-featured">
> >                         <div id="labs-welcome">
> >                               <h1>{
> common:getString($locale, $pageName, "welcome") }</h1>
> >                               <p>{
> common:getString($locale, $pageName, "description") }</p>
> >                 </div>
> >                         {
> >                     for $teaser in $featureTeasers/teaser
> >                     let $title as xs:string? := $teaser/title
> >                         let $teaserText as xs:string? :=
> $teaser/text
> >                         let $imageName as xs:string? :=
> $teaser/image
> >                         let $url as xs:string? := $teaser/url
> >                         order by
> xs:integer($teaser/@sequence) ascending
> >                       return $title
> >                 }
> >
> >                   </div>
> >
> > Can anyone help?
> >
> > Thanks
> > Mindie
> >
> >
> ----------------------------------------------------------------------
> > NOTICE: This email message is for the sole use of the
> intended recipient(s) and may contain confidential and
> privileged information. Any unauthorized review, use,
> disclosure or distribution is prohibited. If you are not the
> intended recipient, please contact the sender by reply email
> and destroy all copies of the original message.
> >
> >
> >
> >
> ----------------------------------------------------------------------
> > --
> >
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://xqzone.com/mailman/listinfo/general
>
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
>
> ----------------------------------------------------------------------
> NOTICE: This email message is for the sole use of the
> intended recipient(s) and may contain confidential and
> privileged information. Any unauthorized review, use,
> disclosure or distribution is prohibited. If you are not the
> intended recipient, please contact the sender by reply email
> and destroy all copies of the original message.
>

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

Reply via email to