Cheers, this seems to do the trick: <@NUMROWS ARRAY='<@ELEMENTVALUE OBJECT="myDom" XPATH="/ppproduct/relateditems/relateditem/title">’>
I’m returning a specific value within the data to an array and NUMROWing it. Will have to find a value that all records have. I still think using the count() prarameter on the ‘relateditem’s would be more reliable but can’t work out the syntax. Wayne > On 8 Jan 2016, at 9:06 AM, Robert Shubert <rshub...@tronics.com> wrote: > > Yes, XPATH is a general way of accessing data in a XML document. It has > nothing to do with TeraScript specifically, we just pass your input into > third party tools that return results. > > As for counting, I think the best way to do this is to get the array and then > @NUMROWS it. > > You can get an array of matching elements with @ELEMENTVALUE type=array > > -----Original Message----- > From: Wayne Irvine [mailto:wa...@byteserve.com.au] > Sent: Thursday, January 07, 2016 1:21 PM > To: TeraScript-Talk@terascript.com > Subject: Re: TeraScript-Talk: Retrieving data from XML > > Cheers Robert, not sure why I have never come across that before in the > manual. > > It seems to do all I want to do, but doesn’t give examples for how to do > things like count(). I’ll look up XPATH in general on Google (assuming it’s a > standard implementation) but would it be possible for you to specify an > example which returns the number of relateditems? > > Wayne > >> On 8 Jan 2016, at 4:48 AM, Robert Shubert <rshub...@tronics.com> wrote: >> >> Wayne, >> >> You need to switch to the XPATH syntax. You can do all of what you are >> looking for with that. >> >> XPOINTER is long dead, and won't be supported in future versions. It's >> important that you switch to XPATH. >> >> Robert >> >> -----Original Message----- >> From: Wayne Irvine [mailto:wa...@byteserve.com.au] >> Sent: Thursday, January 07, 2016 3:32 AM >> To: TeraScript-Talk@terascript.com >> Subject: TeraScript-Talk: Retrieving data from XML >> >> I’ve been tasked with converting a large static site to dynamic database >> driven CMS. >> >> The first step was downloading all the pages and then converting them to a >> XML structure (see example below). I then load the text file into a DOM and >> can pull out ELEMENTVALUES at will and inject them into tables. >> >> <@ASSIGN NAME="myDom" SCOPE="request" VALUE="<@DOM VALUE='@@datafile'>"> >> >> <@ELEMENTVALUE OBJECT="myDom" ATTRIBUTE+"UID" >> XPOINTER="root().child(1).child(1)”> >> >> Returns 'Dinner Time Mr Wolf’. >> >> Can I refer to this by it’s name instead (UID)? >> >> Also, there are some pages that have repeating fields (one or more >> relateditems). I would like to extract this data and inject it into a >> related table. >> >> I can either got through each of the iterations and insert them individually >> (requires a count of instances), or extract as an array and cycle through >> the array. >> >> Is there a way of extracting the number of instances of a given field in an >> XML DOM? >> >> Is there a way of extracting all instances at once as an array? >> >> Wayne Irvine >> >> Byteserve Pty Ltd >> w: http://www.byteserve.com.au/ >> e: i...@byteserve.com.au >> p: +61 02 9960 6099 >> m: 0409 960 609 >> >> <ppproduct> >> <productdetails> >> <UID>Dinner Time Mr Wolf</UID> >> <description>A traditional playground game that can be used by >> one or more children at a time, measuring approximately 7000mm x >> 3000mm</description> >> >> <path>http://projectplaygrounds.com.au/playground-marking/traditional-games/dinner-time-mr-wolf</path> >> <keywords>Mr Wolf, traditional Playground game, Feet, >> thermoplastic, playground marking, thermal</keywords> >> <description>A traditional playground game that can be used by >> one or more children at a time, measuring approximately 7000mm x >> 3000mm</description> >> <title>Project Playgrounds Australia - Dinner Time Mr >> Wolf</title> >> <class>dinner-time-mr-wolf</class> >> <category>Traditional Games</category> >> <pagename>Dinner Time Mr Wolf" >> href="dinner-time-mr-wolf">Dinner Time Mr Wolf</pagename> >> <image>MRW1_1d4b061cb18e1df1af78940b6b43f4a9.jpg</image> >> <image>MRW1_b9eeb4ce2e9e34768f77132648731760.jpg</image> >> <price>1770.00</price> >> <model>MRW2</model> >> <manufacturer>Thermapply</manufacturer> >> <width>300cm</width> >> <length>700cm</length> >> <weight>0.00kg</weight> >> </productdetails> >> >> <relateditems> >> <relateditem> >> <relhref>hopscotch</relhref> >> <title>Hopscotch</title> >> <imgsrc>HOP1_2e34efbbc8dec3603114c23b8e245f67</imgsrc> >> <imgalt>Hopscotch</imgalt> >> <imgwidth>34</imgwidth> >> <imgheight>120</imgheight> >> </relateditem> >> <relateditem> >> <relhref>hopscotch-rocket-blue-fins</relhref> >> <title>Hopscotch Rocket - Blue Fins</title> >> <imgsrc>HOP3_07baf173863162a1d671d3fc39940761</imgsrc> >> <imgalt>Hopscotch Rocket - Blue Fins</imgalt> >> <imgwidth>64</imgwidth> >> <imgheight>120</imgheight> >> </relateditem> >> <relateditem> >> <relhref>hopscotch-rocket-red-fins</relhref> >> <title>Hopscotch Rocket - Red Fins</title> >> <imgsrc>HOP2_26cd42dbcfde0aadc5a4633f31b8945a</imgsrc> >> <imgalt>Hopscotch Rocket - Red Fins</imgalt> >> <imgwidth>59</imgwidth> >> <imgheight>120</imgheight> >> </relateditem> >> <relateditem> >> <relhref>mr-wolf</relhref> >> <title>Mr Wolf</title> >> <imgsrc>MRW1A_fbc5ff63ca013fb60a9ee0cd429a064e</imgsrc> >> <imgalt>Mr Wolf</imgalt> >> <imgwidth>114</imgwidth> >> <imgheight>120</imgheight> >> </relateditem> >> </relateditems> >> <previousitem></previousitem> >> <next>hopscotch</next> >> </ppproduct> >> >> >> >> >> ---------------------------------------- >> >> To unsubscribe from this list, please send an email to >> lists...@terascript.com with "unsubscribe terascript-talk" in the body. >> >> >> >> >> ---------------------------------------- >> >> To unsubscribe from this list, please send an email to >> lists...@terascript.com with "unsubscribe terascript-talk" in the body. >> > > Wayne Irvine > > Byteserve Pty Ltd > w: http://www.byteserve.com.au/ > e: i...@byteserve.com.au > p: +61 02 9960 6099 > m: 0409 960 609 > > > > > > ---------------------------------------- > > To unsubscribe from this list, please send an email to > lists...@terascript.com with "unsubscribe terascript-talk" in the body. > > > > > ---------------------------------------- > > To unsubscribe from this list, please send an email to > lists...@terascript.com with "unsubscribe terascript-talk" in the body. > Wayne Irvine Byteserve Pty Ltd w: http://www.byteserve.com.au/ e: i...@byteserve.com.au p: +61 02 9960 6099 m: 0409 960 609 ---------------------------------------- To unsubscribe from this list, please send an email to lists...@terascript.com with "unsubscribe terascript-talk" in the body.