30)$num=30; else $num=$_GET['num']; if( !isset($_GET['pg']) )$pg=1; else $pg=$_GET['pg']; $next=($pg-1)*$num; //query url $URL = "$db&query=$q&max=$num&skip=$next"; $retrieve=true; //retrieve a single record } else if( isset($_GET['id']) ){ if( validateCookieData($_GET['id']) ){ $id = $_GET['id']; $URL = "$db&cmd=record&rid=$id"; $retrieve = true; } //manipulate cookie to add records } else if( isset($_POST['id-list-add']) ){ //combine lists, eliminating duplicates if( isset($_COOKIE[$cookiename]) ){ $idlist = split( "','", unserialize(urldecode($_COOKIE[$cookiename])) ); $idlist = array_unique( array_merge($idlist,$_POST['id-list-add']) ); } else{ $idlist = $_POST['id-list-add']; } //set cookie, reload page bakeCookie($idlist); reloadPage(); //manipulate cookie to delete records } else if( isset($_POST['id-list-del']) ){ //get records from cookie $idlist = split( "','", unserialize(urldecode($_COOKIE[$cookiename])) ); //delete marked records foreach( $idlist as $testid ) if( !in_array($testid, $_POST['id-list-del']) ) $tmplist[] = $testid; //set cookie if any records are left, otherwise clear it if( isset($tmplist) ) bakeCookie($tmplist); else clearCookie(); reloadPage(); } //retrieve record list if viewing, or redirected after adding/deleting entries if( isset($_GET['viewlist']) ){ $listmode=true; if( isset($_COOKIE[$cookiename]) ){ $querylist = unserialize(urldecode($_COOKIE[$cookiename])); if($querylist!="" && validateCookieData( split( "','", $querylist) ) ){ $retrieve = true; $listempty=false; $URL = "$db&cmd=list&rid='$querylist'"; } else clearCookie(); } } //retrieve the xml search results and begin parsing xml if( $retrieve ){ $contents = file_get_contents($URL); //enable output buffering to eliminate unwanted output ob_start(); require_once("common/minixml/minixml.inc.php"); ob_clean(); $search = new MiniXMLDoc(); $search->fromString($contents); $root =& $search->getRoot(); if(isset($q)){ $total=& $root->getElement("total"); $total=& $total->getValue(); } //include save to file script if( isset($_GET['format']) ){ include("save.php"); } } ?> EOD; ?>


CSISS maintains a user-searchable database of references to applications of Spatial Analysis techniques in the Social Sciences. This resource has been customized to service the needs of population science. In addition to the refinement of on-line search terms that feature key research themes in demography, the search domain has been expanded to capture references to the most significant serial publications in the population sciences. This bibliography contains 2329 total records.

Spatial Population Bibliography Report 315kb - Information on source journals, selection methodology, and keyword statistics.

Query    Results per page:

Query Examples

Your search terms will be matched against words that appear in the titles, author names, keywords, and abstracts that accompany journal articles. The search results provide only the basic bibliographic entries (because of copyright protocols, we cannot display abstracts).

john publicjohn is a public person, John Public
"john public"John Public
"john*public"John Q. Public, John Public
-john publicpublic speaker, public property etc., but none of the above

\n"; ?> $pg*$num-$num) { echo "

Query Results

"; echo "

Query for $display_q matched $total records."; echo "
Displaying records ".($next+1)." through ".($pg*$num>$total?$total:$pg*$num); echo ", best matches first.

"; if($total > $num){ /*** Start Pagination ***/ //start output buffering in order to save pagination html //to a string for output after result list as well as before ob_start(); echo "

Page:  "; if($pg>1)echo "<<  "; else echo "<<  "; $MAXPAGES=12; if($total/$num>$MAXPAGES && $pg>$MAXPAGES-1 ){ if(($pg+floor($MAXPAGES/2))*$num < $total){ $start=$pg-floor($MAXPAGES/2)+1; $end=$pg+floor($MAXPAGES/2); } else { $end=ceil($total/$num); $start=$end-$MAXPAGES+1; } } else { $start=1; $end=$MAXPAGES; } for($i=$start;($i*$num)<=($total+$num);$i++){ if($i==$pg) echo "$i  "; else echo "$i  "; if($i==$end) break; } if($pg*$num<$total)echo ">>"; else echo ">>  "; echo "

\n"; $pagination = ob_get_contents(); ob_end_clean(); echo $pagination; /*** End Pagination ***/ } $records =& $root->getElement('results'); $records =& $records->getAllChildren('record'); echo "
\n"; echo "
    \n"; for($i=0; $i < sizeof($records); $i++){ $id = $records[$i]->getElement('id'); $title = $records[$i]->getElement('title'); $authors = $records[$i]->getElement('authors'); $dates = $records[$i]->getElement('dates'); echo "
  1. getValue()."\">".$title->getValue()." - ".$authors->getValue()." (".$dates->getValue().")

    \n"; } echo "

with checked: "; if( isset($_COOKIE[$cookiename]) ) echo " "; echo "

\n"; } else echo "

No records match the query.

"; if($total > $num){ echo $pagination; } } else if( isset($id) ) { $record =& $root->getElement('results'); $record =& $record->getAllChildren('record'); $fields = array("id","title","dates","authors","source","keywords", "literature","disciplines","database","citation"); if( sizeof($record) ){ foreach($fields as $field) ${$field} = $record[0]->getElement($field); echo "

View Citation

\n"; echo "
\n"; echo "\n"; echo "\n"; if($source->getValue()!="N-A") echo "\n"; if($literature->getValue()!="N-A") echo "\n"; if($disciplines->getValue()!="N-A") echo "\n"; if($database->getValue()!="N-A") echo "\n"; if($keywords->getValue()!="N-A") echo "\n"; echo "\n"; echo "
".$title->getValue()." (".$dates->getValue().")
\n"; echo "
\n"; echo "getValue()."\" class=\"list\">\n"; echo "

\n"; } else echo "

Invalid record.

"; } else if( $listmode ) { echo "

List Results

\n"; echo "

The list results are saved in a browser cookie on your own computer. The list will be available"; echo " for 30 days from your last list action (add or remove) or until you clear your cookies.

\n"; if( @!$listempty ){ $records =& $root->getElement('results'); $records =& $records->getAllChildren('record'); echo "
\n"; echo "
    \n"; for($i=0; $i < sizeof($records); $i++){ $id = $records[$i]->getElement('id'); $title = $records[$i]->getElement('title'); $authors = $records[$i]->getElement('authors'); $dates = $records[$i]->getElement('dates'); echo "
  1. getValue()."\">".$title->getValue()." - ".$authors->getValue()." (".$dates->getValue().")

    \n"; } echo "

with checked:

\n"; echo "

Save List Results

\n"; echo "

When you are done building a list of citations you can choose to save the list to your computer."; echo " You can opt to save as plain text citations, tab-seperated data, html, or a format that"; echo " is compatible with EndNote.

"; echo "

Select a format and click save:

"; echo "
\n"; echo "

":">")."Plain text citations
\n"; echo "":">")."Tab-delimited data
\n"; echo "      ":">")."Include field names on first line
\n"; echo "":">")."HTML
\n"; echo "":">")."EndNote Import file (Refer/BibIX)

\n"; echo "\n"; echo "\n"; echo "
\n"; } else echo "

List is empty.

"; } ?>