Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3852172
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T17:16:37+00:00 2026-05-19T17:16:37+00:00

I am getting an XP0006 error when trying to run an XQuery transformation (OSB’s

  • 0

I am getting an XP0006 error when trying to run an XQuery transformation (OSB’s XQuery implementation if that makes any difference) and I am having a hard time resolving it.

The error given is

 <error>Error occurred while executing XQuery: {err}XP0006: "element {http://www.websitename.com/claims/client/UpdateClient.xsd}updateClient { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }": bad value for type element {http://www.websitename.com/claims/client/UpdateClient}updateClient { {http://www.w3.org/2001/XMLSchema}anyType }</error> 

As far as I can tell the source of this error is the fact that my source XML files contain multiple namespaces. A separate transformation that is running on XML files with only one namespace is running fine.

Here is the transformation that is giving me trouble:

(:: pragma bea:global-element-parameter parameter="$updateClient1" element="ns0:updateClient" location="../xsd/claims/client/UpdateClient.xsd" ::)
(:: pragma bea:global-element-return element="ns3:TemplateUpdateClient-WrkFrm" location="../xsd/claims/templates/wc/UpdateClient.xsd" ::)

declare namespace ns2 = "http://www.websitename.com/common/customDataTypes";
declare namespace ns1 = "http://www.websitename.com/document/production/common/customDataTypes";
declare namespace ns3 = "http://www.websitename.com/document/production/template/templateupdateclient";
declare namespace ns0 = "http://www.websitename.com/claims/client/UpdateClient";
declare namespace xf = "http://tempuri.org/DocumentSubmissionConversionOSB/XQuery/WCtest/";

(:~
: This function converts a set of strings describing
:   an address into the new address format
:
: @param $recipient the addressee
: @param $line1 address Line#1
: @param $line2 address Line#2
: @param $lnie3 address Line#3
: @param $city the city
: @param $provinceOrState the province (if CA) or state (if US)
: @param $country the country (CA, US, or something else)
: @param $postalOrZIP the postal code (if CA or other) or zip code (if US)
: @return either a <CanadanAddress>, a <USAddress>, or an <InternationalAddress> depending on the country
:)
declare function local:to-address(
    $recipient as xs:string,
    $line1 as xs:string,
    $line2 as xs:string,
    $line3 as xs:string,
    $city as xs:string,
    $provinceOrState as xs:string,
    $country as xs:string,
    $postalOrZIP as xs:string
)
as element() {
    if (fn:upper-case($country) = 'CA') then
        <CanadianAddress>
            <City>{ $city }</City>
            <Country>{ $country }</Country>
            <PostalCode>{ $postalOrZIP }</PostalCode>
            <Province>{ $provinceOrState }</Province>
            <Recipient>{ $recipient }</Recipient>
            <StreetAddress>{ $line1 }</StreetAddress>
            <StreetAddress>{ $line2 }</StreetAddress>
            <StreetAddress>{ $line3 }</StreetAddress>
            <StreetAddress/>
        </CanadianAddress>
    else
        if (fn:upper-case($country) = 'US') then
            <USAddress>
                <City>{ $city }</City>
                <Country>{ $country }</Country>
                <ZipCode>{ $postalOrZIP }</ZipCode>
                <State>{ $provinceOrState }</State>
                <Recipient>{ $recipient }</Recipient>
                <StreetAddress>{ $line1 }</StreetAddress>
                <StreetAddress>{ $line2 }</StreetAddress>
                <StreetAddress>{ $line3 }</StreetAddress>
            </USAddress>        
        else        
            <InternationalAddress>
                <City>{ $city }</City>
                <Country>{ $country }</Country>
                <PostalCode>{ $postalOrZIP }</PostalCode>
                <Recipient>{ $recipient }</Recipient>
                <StreetAddress>{ $line1 }</StreetAddress>
                <StreetAddress>{ $line2 }</StreetAddress>
                <StreetAddress>{ $line3 }</StreetAddress>
            </InternationalAddress>
        (:endif:)
    (:endif:)
};

declare function xf:WCtest($updateClient1 as element(ns0:updateClient))
    as element(ns3:TemplateUpdateClient-WrkFrm) {
        <ns3:TemplateUpdateClient-WrkFrm>
            {
                let $Client := $updateClient1/ns0:Client
                return
                    <Client>
                        <ClaimNumber>{ data($Client/ns0:claimNumber) }</ClaimNumber>
                        <Gender>{ data($Client/ns0:gender) }</Gender>
                        <MaritalStatus>{ data($Client/ns0:maritalStatus)}</MaritalStatus>
                        {
                            let $fullName := $Client/ns0:fullName
                            return
                                <Name>
                                    <FirstName>{ data($fullName/ns0:firstName) }</FirstName>
                                    <LastName>{ data($fullName/ns0:lastName) }</LastName>
                                    <MiddleInitial>{ data($fullName/ns0:middleName) }</MiddleInitial>
                                </Name>
                        }
                        <SIN>{ data($Client/ns0:SIN) }</SIN>
                        {
                            let $currentAddress := $Client/ns0:currentAddress
                            return
                                <CurrentAddress>{
                                    local:to-address(
                                        data($currentAddress/ns2:line1),
                                        data($currentAddress/ns2:line2),
                                        data($currentAddress/ns2:line3),
                                        data($currentAddress/ns2:city),
                                        data($currentAddress/ns2:provinceOrState),
                                        data($currentAddress/ns2:country),
                                        data($currentAddress/ns2:postalOrZipCode)
                                    )
                                }</CurrentAddress>
                        }
                    </Client>
            }
        </ns3:TemplateUpdateClient-WrkFrm>
};

declare variable $updateClient1 as element(ns0:updateClient) external;

xf:WCtest($updateClient1)

Here is a sample of the data I am trying to run through it:

<?xml version="1.0"?>
<updateClient xmlns="http://www.websitename.com/claims/client/UpdateClient.xsd" xmlns:cus="http://www.websitename.com/common/customDataTypes.xsd">
  <Client>
    <claimNumber>00000</claimNumber>
    <SIN>000000000</SIN>
    <fullName>
      <firstName>First</firstName>
      <middleName>Middle</middleName>
      <lastName>Last</lastName>
    </fullName>
    <gender>male</gender>
    <maritalStatus>married</maritalStatus>
    <currentAddress>
      <cus:line1>line1</cus:line1>
      <cus:line2/>
      <cus:line3/>
      <cus:city>city</cus:city>
      <cus:provinceOrState>province</cus:provinceOrState>
      <cus:postalOrZipCode>H0H 0H0</cus:postalOrZipCode>
      <cus:country>CA</cus:country>
    </currentAddress>
  </Client>
</updateClient>

Here is a transformation that is working:

(:: pragma bea:global-element-parameter parameter="$workerAppeal1" element="ns0:workerAppeal" location="../../xsd/claims/worker/appeal/WorkerAppeal.xsd" ::)
(:: pragma bea:global-element-return element="ns2:TemplateWorkerAppeal-WrkFrm" location="../../xsd/claims/templates/ais/WorkerAppeal.xsd" ::)

declare namespace ns2 = "http://www.website.com/document/production/template/templateworkerappeal";
declare namespace ns1 = "http://www.website.com/document/production/common/customDataTypes";
declare namespace ns3 = "http://www.website.com/document/production/templatebase";
declare namespace ns0 = "http://www.website.com/claims/worker/appeal/WorkerAppeal.xsd";
declare namespace xf = "http://tempuri.org/DocumentSubmissionConversionOSB/XQuery/AIS/AIStest/";


(:~
: This function converts a set of strings describing
:   an address into the new address format
:
: @param $recipient the addressee
: @param $line1 address Line#1
: @param $line2 address Line#2
: @param $lnie3 address Line#3
: @param $city the city
: @param $provinceOrState the province (if CA) or state (if US)
: @param $country the country (CA, US, or something else)
: @param $postalOrZIP the postal code (if CA or other) or zip code (if US)
: @return either a <CanadanAddress>, a <USAddress>, or an <InternationalAddress> depending on the country
:)
declare function local:to-address(
    $recipient as xs:string,
    $line1 as xs:string,
    $line2 as xs:string,
    $line3 as xs:string,
    $city as xs:string,
    $provinceOrState as xs:string,
    $country as xs:string,
    $postalOrZIP as xs:string
)
as element() {
    if (fn:upper-case($country) = 'CA') then
        <CanadianAddress>
            <City>{ $city }</City>
            <Country>{ $country }</Country>
            <PostalCode>{ $postalOrZIP }</PostalCode>
            <Province>{ $provinceOrState }</Province>
            <Recipient>{ $recipient }</Recipient>
            <StreetAddress>{ $line1 }</StreetAddress>
            <StreetAddress>{ $line2 }</StreetAddress>
            <StreetAddress>{ $line3 }</StreetAddress>
            <StreetAddress/>
        </CanadianAddress>
    else
        if (fn:upper-case($country) = 'US') then
            <USAddress>
                <City>{ $city }</City>
                <Country>{ $country }</Country>
                <ZipCode>{ $postalOrZIP }</ZipCode>
                <State>{ $provinceOrState }</State>
                <Recipient>{ $recipient }</Recipient>
                <StreetAddress>{ $line1 }</StreetAddress>
                <StreetAddress>{ $line2 }</StreetAddress>
                <StreetAddress>{ $line3 }</StreetAddress>
            </USAddress>        
        else        
            <InternationalAddress>
                <City>{ $city }</City>
                <Country>{ $country }</Country>
                <PostalCode>{ $postalOrZIP }</PostalCode>
                <Recipient>{ $recipient }</Recipient>
                <StreetAddress>{ $line1 }</StreetAddress>
                <StreetAddress>{ $line2 }</StreetAddress>
                <StreetAddress>{ $line3 }</StreetAddress>
            </InternationalAddress>
        (:endif:)
    (:endif:)
};

declare function xf:AIStest($workerAppeal1 as element(ns0:workerAppeal))
    as element(ns2:TemplateWorkerAppeal-WrkFrm) {
        <ns2:TemplateWorkerAppeal-WrkFrm>
            <AppealDate>{ data($workerAppeal1/ns0:appealDate) }</AppealDate>
            <DecisionAppealled>{ data($workerAppeal1/ns0:decisionAppealled) }</DecisionAppealled>
            <DecisionWrong>{ data($workerAppeal1/ns0:decisionWrong) }</DecisionWrong>
            <Expectations>{ data($workerAppeal1/ns0:expectations) }</Expectations>
            {
                let $Appellant := $workerAppeal1/ns0:Appellant
                return
                    <Appellant>
                        {
                            let $claimantName := $Appellant/ns0:claimantName
                            return
                                <ClaimantName>
                                    <FirstName>{ data($claimantName/ns0:firstName) }</FirstName>
                                    <LastName>{ data($claimantName/ns0:lastName) }</LastName>
                                </ClaimantName>
                        }
                        <ClaimNumber>{ data($Appellant/ns0:claimNumber) }</ClaimNumber>
                        <AreYouTheClaimant>{ data($Appellant/ns0:areYouTheClaimant) }</AreYouTheClaimant>
                    </Appellant>
            }
            {
                let $Representative := $workerAppeal1/ns0:Representative
                return
                    <Representative>
                        {
                            let $phoneNumber := $Representative/ns0:phoneNumber
                            return
                                <Phone>
                                    <AreaCode>{ data($phoneNumber/ns0:areaCode) }</AreaCode>
                                    <Number>{ data($phoneNumber/ns0:numeric) }</Number>
                                </Phone>
                        }
                        <RelationshipToAppellant>{ data($Representative/ns0:relationshiptoAppellant) }</RelationshipToAppellant>
                        {
                            let $representativeAddress := $Representative/ns0:representativeAddress
                            return
                                <RepresentativeAddress>{ 
                                    local:to-address(
                                        concat(
                                            data($Representative/ns0:representativeName/ns0:firstName),
                                            ' ',
                                            data($Representative/ns0:representativeName/ns0:lastName)
                                        ),
                                        data($representativeAddress/ns0:addressLine1),
                                        data($representativeAddress/ns0:addressLine2),
                                        data($representativeAddress/ns0:addressLine3),
                                        data($representativeAddress/ns0:city),
                                        data($representativeAddress/ns0:province),
                                        data($representativeAddress/ns0:country),
                                        data($representativeAddress/ns0:postalCode)
                                    )
                                }</RepresentativeAddress>
                        }
                        {
                            let $representativeName := $Representative/ns0:representativeName
                            return
                                <RepresentativeName>
                                    <FirstName>{ data($representativeName/ns0:firstName) }</FirstName>
                                    <LastName>{ data($representativeName/ns0:lastName) }</LastName>
                                </RepresentativeName>
                        }
                        <EmailAddress>{ data($Representative/ns0:emailAddress) }</EmailAddress>
                    </Representative>
            }
        </ns2:TemplateWorkerAppeal-WrkFrm>
};

declare variable $workerAppeal1 as element(ns0:workerAppeal) external;

xf:AIStest($workerAppeal1)

And here is sample data for it:

<?xml version="1.0"?>
<workerAppeal xmlns="http://www.websitename.com/claims/worker/appeal/WorkerAppeal.xsd">
  <appealDate>2011-02-03-11:00</appealDate>
  <Appellant>
    <claimNumber>00000</claimNumber>
    <claimantName>
      <firstName>First</firstName>
      <lastName>Last</lastName>
    </claimantName>
    <areYouTheClaimant>true</areYouTheClaimant>
  </Appellant>
  <Representative>
    <representativeName>
      <firstName/>
      <lastName/>
    </representativeName>
    <relationshiptoAppellant/>
    <representativeAddress>
      <addressLine1/>
      <addressLine2/>
      <addressLine3/>
      <city>city</city>
      <province>province</province>
      <postalCode>H0H 0H0</postalCode>
      <country>CA</country>
    </representativeAddress>
    <phoneNumber>
      <areaCode>111</areaCode>
      <numeric>1111111</numeric>
    </phoneNumber>
    <emailAddress>email@email.com</emailAddress>
  </Representative>
  <decisionAppealled>decisionAppealled</decisionAppealled>
  <decisionWrong>decisionWrong</decisionWrong>
  <expectations>expectations</expectations>
</workerAppeal>

The transformation files are mainly auto-generated by the mapper except for the custom address function.
The only major difference I can see between the two transformations is these lines in the sample files – the working one has only one namespace, and the one with the error has two.

<workerAppeal xmlns="http://www.website.com/claims/worker/appeal/WorkerAppeal.xsd"><!--Working-->
<updateClient xmlns="http://www.website.com/claims/client/UpdateClient.xsd" xmlns:cus="http://www.website.com/common/customDataTypes.xsd"><!--Gives error-->

Any help would by hugely appreciated, because XQuery is still a fairly foreign thing to me and this is driving me nuts. (Yes, the code has been anonymized somewhat – the URLs aren’t really http://www.website.com for example. Hopefully this hasn’t caused any issues)

Thanks in advance!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T17:16:38+00:00Added an answer on May 19, 2026 at 5:16 pm

    From this declarations:

    declare namespace 
            ns0 = "http://www.websitename.com/claims/client/UpdateClient";
    
    declare function xf:WCtest($updateClient1 as element(ns0:updateClient))
    
    declare variable $updateClient1 as element(ns0:updateClient) external;
    

    It means that xf:WCtest() function and $updateClient1 external variable (parameter) expect {http://www.websitename.com/claims/client/UpdateClient}updateClient elements, but your input source has a {http://www.websitename.com/claims/client/UpdateClient.xsd}updateClient. But, of course, I don’t know what you are passing as parameter…

    From http://www.w3.org/TR/2004/WD-xquery-20040723/#ERRXP0006

    err:XP0006
    During the evaluation phase, it is a type error if a
    value does not match a required type
    as specified by the matching rules in
    2.4.4 SequenceType Matching.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Getting started with TDD and the repository pattern, I'm wondering if it makes any
Getting error while run the checkBox item renderer in advanced datagrid with out data.
I'm getting an error here that says I haven't defined a method, but it
Getting started with jquery and having trouble getting hello world type example going for
I getting the following error when I try to connect to my server app
Just getting started with Linq to SQL so forgive the newbie question. I'm trying
Im getting frustrated because of OpenDNS and other services (ie: roadrunner) that now always
Im getting a string (simplified) from the backend that should be : { menu:
Anyone getting this error when using the new free chart controls MS bought from
Getting contradictory messages about that, hope they're not. I cannot imagine support for it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.