|
next
|
 Subject: Unable to Use File Name as External Variable With stylus Studio 2007 XML enterprise suite Author: Ethan Stein Date: 09 Jun 2009 06:59 PM Originally Posted: 09 Jun 2009 06:58 PM
|
Moved to XQuery Help and Discussion Forum:
---------------------------------------------------
When I try to run the following xquery in Stylus Studio 2007 XML Enterprise Edition Build 894d, with the xPRSXMLInput external variable value of file:///C:/H0303015.xml, I get the following error:
Error encountered while initializing variable xPRSXMLInput with value file:///C:/H0303015.xml:
[DataDirect][XQuery][err:XPST0003]Error at line 1, column 6. Character ":" not allowed as start of a token.
I'm not sure what I'm doing wrong.
Please help. Thanks.
--------------------------
xQuery:
declare option ddtek:xml-streaming 'yes';
declare option ddtek:serialize "indent=yes, omit-xml-declaration=no";
declare variable $xPRSXMLInput as document-node(element(*, xs:untyped)) external;
declare function local:transformPlanName($planName as xs:string)
{
let $planName := fn:replace($planName, "AARP", "AARP®")
let $planName := fn:replace($planName, "MedicareComplete Essential", "MedicareComplete Essential®")
let $planName := fn:replace($planName, "Evercare", "Evercare®")
let $planName := fn:replace($planName, "MedicareComplete Choice", "MedicareComplete Choice®")
let $planName := fn:replace($planName, "Erickson Advantage", "Erickson Advantage®")
let $planName := fn:replace($planName, "SecureHorizons ", "SecureHorizons ®")
let $planName := fn:replace($planName, "MedicareComplete Plus", "MedicareComplete Plus™")
let $planName := fn:replace($planName, "MedicareComplete Value", "MedicareComplete Value™")
let $planName := fn:replace($planName, "MedicareComplete Premier", "MedicareComplete Premier™")
let $planName := fn:replace($planName, "MedicareComplete Balance", "MedicareComplete Balance™")
let $planName := fn:replace($planName, "MedicareComplete Mosaic", "MedicareComplete Mosaic™")
let $planName := fn:replace($planName, "MedicareDirect", "MedicareDirectࡈ")
return
if(fn:contains($planName, "MedicareComplete") and not(fn:contains($planName, "Essential")) and not(fn:contains($planName, "Choice")) and not(fn:contains($planName, "Plus")) and not(fn:contains($planName, "Value")) and not(fn:contains($planName, "Premier")) and not(fn:contains($planName, "Balance")) and not(fn:contains($planName, "Mosaic"))) then fn:replace($planName, "MedicareComplete", "MedicareComplete®")
else $planName
};
declare function local:rename($n as element(*, xs:untyped))
{
element { name($n) } {$n/@*,
if(starts-with(upper-case(local-name($n)), "PLANNAME")) then local:transformPlanName($n/text())
else
($n/text(),
for $child in $n/*
return local:rename($child))}
};
<ExtractData>
{
for $CurrentYearPlan in $xPRSXMLInput/ExtractData/CurrentYearPlan
return
local:rename($CurrentYearPlan)
}
</ExtractData>
|
|
|
|