Re: [xsl] XPath - accessing nodes with a namespace with no prefix

Subject: Re: [xsl] XPath - accessing nodes with a namespace with no prefix
From: Philip Vallone <philip.vallone@xxxxxxxxxxx>
Date: Fri, 04 Dec 2009 18:21:41 -0500
Thanks Markus,

(1) You are correct, that was a typo - This was just an example

(2) adlnav is in another namespace, so that is not possible. I apologize for
not being more clear. The example markup was a dumb-downed version.

(3) It's possible to select a node by using local-name() in a predicate with a
wild card e.g. //*[local-name()='title']. however, this may give me the wrong
result. I wasn't sure if there was another way

Thanks again,

Phil



On Dec 4, 2009, at 5:36 PM, Markus Flatscher wrote:

> Philip,
>
> (1) Which element are you trying to access? If it's the "Content
> Package and Manifest Analogy" one, I suspect a typo in your XPath:
> instead of "/organizations/organization/title[2]/title" (which doesn't
> match anything in the sample input), try
> "/organizations/organization/item[2]/title".
>
> (2) Re namespaces: in order for the sample XML to be well-formed, you
> need to bind "adlnav" to some namespace.
>
> (3) Re your question about local-name(), I'm afraid I'd need more
> information about what you're trying to do.
>
> Markus
>
> On Fri, Dec 4, 2009 at 5:04 PM, Philip Vallone
> <philip.vallone@xxxxxxxxxxx> wrote:
>>
>> Hi,
>>
>> This is a pure xpath question.
>>
>> Suppose I have a namespace declaration like this:
>>
>> <organizations version="1.0"
xmlns="http://www.imsglobal.org/xsd/imscp_v1p1";>
>>
>> The namespace does not have a prefix. I want to use local-name() to access
the nodes but not sure how. For example, how do I access a path like this:
>>
>> XPATH:
>>
>> /organizations/organization/title[2]/title
>>
>> XML:
>>        <organizations version="1.0"
xmlns="http://www.imsglobal.org/xsd/imscp_v1p1";>
>>                <organization>
>>                        <title>SCORM 2004 4th Edition Manifest Basics
Content Example 1.0</title>
>>                        <item>
>>                                <title>Introduction to Manifests</title>
>>                                <adlnav:presentation>
>>                                        <adlnav:navigationInterface>
>>
<adlnav:hideLMSUI>continue</adlnav:hideLMSUI>
>>
<adlnav:hideLMSUI>previous</adlnav:hideLMSUI>
>>                                        </adlnav:navigationInterface>
>>                                </adlnav:presentation>
>>                        </item>
>>                        <item>
>>                                <title>Content Package and Manifest
Analogy</title>
>>                                <adlnav:presentation>
>>                                        <adlnav:navigationInterface>
>>
<adlnav:hideLMSUI>continue</adlnav:hideLMSUI>
>>
<adlnav:hideLMSUI>previous</adlnav:hideLMSUI>
>>                                        </adlnav:navigationInterface>
>>                                </adlnav:presentation>
>>                        </item>
>>                </organization>
>>        </organizations>
>>
>>
>> Thanks,
>>
>> Phil

Current Thread