New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
item_context.f90 in vendors/XMLF90/current/doc/Tutorial/xpath – NEMO

source: vendors/XMLF90/current/doc/Tutorial/xpath/item_context.f90 @ 1967

Last change on this file since 1967 was 1967, checked in by flavoni, 14 years ago

importing XMLF90 vendor

File size: 983 bytes
Line 
1program item_context
2use flib_xpath
3
4type(xml_t) :: fxml, context
5
6integer  :: status
7character(len=100)  :: what, price, currency
8type(dictionary_t)  :: attributes
9
10call open_xmlfile("inventory.xml",fxml,status)
11!
12do
13  call mark_node(fxml,path="//item",status=status)
14  if (status < 0)   exit      ! No more items
15  context = fxml               ! Save item context   
16  !
17  ! Search relative to context
18  !
19  call get_node(fxml,path="price", &
20                attributes=attributes,pcdata=price,status=status)
21  call get_value(attributes,"currency",currency,status)
22  if (status /= 0) stop "missing currency attribute!"
23  !
24  ! Rewind to beginning of context
25  !
26  fxml = context
27  call sync_xmlfile(fxml,status) 
28  !
29  ! Search relative to context
30  !
31  call get_node(fxml,path="description",pcdata=what,status=status)
32  write(unit=*,fmt="(6a)") "Appliance: ", trim(what), &
33                            ". Price: ", trim(price), " ", trim(currency)
34enddo
35end program item_context
Note: See TracBrowser for help on using the repository browser.