Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: Reading Xpath element

From: Philippe Poulard <Philippe.PoulardNO@----------.-----.-->
To: NULL
Date: 5/4/2005 12:35:00 PM
MarcoT77@g... wrote:
> Hi Teacher.
> 
> I'm trying to get with Xpath the Product nodes in the following XML:
> <?xml version="1.0" encoding="utf-8"?>
> <PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
>  schemaVersion="5.1" date="2005-05-03" time="16:41:33" author="TcEng -
> infodba@bridge(389284449)">
> <Header id="id1" traverseRootRefs="#id2 #id11"
> transferContext="exp_folder"></Header>
> <Product id="id10" name="Ace" accessRefs="#id3" subType="Drawing"
> productId="000002">
> <ApplicationRef version="QRJJ3Vh1xNEIWA" application="TcEng"
> label="QRJJ3Vh1xNEIWA"></ApplicationRef>
> <UserData id="id33">
> <UserValue type="reference" value="" title="owning_user"
> dataRef="#id11"></UserValue>
> <UserValue value="0-01-00T00:00:00" title="date_released"></UserValue>
> <UserValue value="2005-05-03T14:00:32"
> title="last_mod_date"></UserValue>
> <UserValue type="reference" value="" title="last_mod_user"
> dataRef="#id11"></UserValue>
> <UserValue type="reference" value="" title="owning_group"
> dataRef="#id27"></UserValue>
> <UserValue value="2005-05-03T10:46:39"
> title="creation_date"></UserValue></UserData></Product> (Continue...)
> 
> I've used the /PLMXML/Product query but I can't get anything.

with XPath, unprefixed elements refers to elements that are not bound to 
a namespace URI ; in XML, unprefixed elements may be bound to a 
namespace URI ; this is the case in the document above, and not the case 
in the document below
thus, /PLMXML gets the PLMXML element with no namespace URI, that 
doesn't appear anywhere ; to get the PLMXML element bound to this 
namespace URI "http://www.plmxml.org/Schemas/PLMXMLSchema", you must 
declare a mapping between a prefix and the namespace URI :
plm -> "http://www.plmxml.org/Schemas/PLMXMLSchema"
and then use it in your XPath expression :
/plm:PLMXML/plm:Product
how to declare the mapping vary according to the XPath engine you use, 
but people usually use it with XSLT ; with XSLT, namespaces declarations 
are used by the XPath engine

> 
> I've also tried  this simple xml:
> <?xml version='1.0'?>
> <Books>
> <Book>
>   <Title>Beginning XML</Title>
>   <Publisher>Wrox</Publisher>
> </Book>
> <Book>
>   <Title>XML Step by Step</Title>
>   <Publisher>MSPress</Publisher>
> </Book>
> <Book>
>   <Title>Professional XML</Title>
>   <Publisher>Wrox</Publisher>
> </Book>
> <Book>
>   <Title>Developing XML solutions</Title>
>   <Publisher>MSPress</Publisher>
> </Book>
> </Books>
> 
> And on this Xml the rule /Books/Book works fine.
> 
> Why does not the first rule work?
> Am I missing something? 
> 
> Thanks in advance.
> Marco.
> 


-- 
Cordialement,

            ///
           (. .)
  -----ooO--(_)--Ooo-----
|   Philippe Poulard    |
  -----------------------


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent