Date: Wed, 9 Aug 2006 09:35:31 -0500
Reply-To: "Hoyle, Larry" <larryhoyle@KU.EDU>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Hoyle, Larry" <larryhoyle@KU.EDU>
Subject: Re: Reading XML with sas problem please help
In-Reply-To: <200608090500.k794SKZ7026051@mailgw.cc.uga.edu>
Content-Type: text/plain; charset="us-ascii"
You might try explicitly using an XMLMAP file with a large enough length
for the coval variable. Here's an example which worked on a file with a
value for coval with length 7644. (I used XMLMAPPER to generate the
code) This ran with SAS 9.13 on a Windows system.
The SAS program
/***********************************************************************
*********
* Generated by XML Mapper, 9.1.0300.20040709.2028
************************************************************************
********/
/*
* ENVIRONMENT
*/
filename AnkurAro 'C:\junk\AnkurArora.xml';
filename SXLEMAP 'C:\junk\Ankur.map';
libname AnkurAro xml xmlmap=SXLEMAP access=READONLY;
/*
* CATALOG
*/
proc datasets lib=AnkurAro; run;
/*
* SAMPLE USAGE
*/
title 'Table CO';
proc contents data=AnkurAro.CO varnum; run;
proc print data=AnkurAro.CO(obs=10); run;
data a;
set AnkurAro.CO;
run;
/***************************************************** */
/* end of SAS Program */
/***************************************************** */
THE XML MAP FILE (Note the <LENGTH>7644</LENGTH>):
<?xml version="1.0" encoding="UTF-8"?>
<!-- ############################################################ -->
<!-- 2006-08-09T09:29:44 -->
<!-- SAS XML Libname Engine Map -->
<!-- Generated by XML Mapper, 9.1.0300.20040709.2028 -->
<!-- ############################################################ -->
<!-- ### Validation report ### -->
<!-- ############################################################ -->
<!-- Map validation completed successfully. -->
<!-- ############################################################ -->
<SXLEMAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="Ankur" version="1.2"
xsi:noNamespaceSchemaLocation="http://www.sas.com/xml/schema/sxle12.xsd"
>
<!-- ############################################################
-->
<TABLE name="CO">
<TABLE-PATH syntax="XPath">/SEND:TABLE/SEND:CO</TABLE-PATH>
<COLUMN name="STUDYID">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:STUDYID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>12</LENGTH>
</COLUMN>
<COLUMN name="DOMAIN">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:DOMAIN</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>2</LENGTH>
</COLUMN>
<COLUMN name="RDOMAIN">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:RDOMAIN</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>2</LENGTH>
</COLUMN>
<COLUMN name="USUBJID">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:USUBJID</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="COSEQ">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:COSEQ</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="IDVAR">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:IDVAR</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>5</LENGTH>
</COLUMN>
<COLUMN name="IDVARVAL">
<PATH
syntax="XPath">/SEND:TABLE/SEND:CO/SEND:IDVARVAL</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="COVAL">
<PATH syntax="XPath">/SEND:TABLE/SEND:CO/SEND:COVAL</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>7644</LENGTH>
</COLUMN>
</TABLE>
</SXLEMAP>
Larry Hoyle
Associate Scientist
University of Kansas, Policy Research Institute
Blake Hall
1541 Lilac Lane
Lawrence, KS 66044-3177
http://www.ku.edu/pri