Print

Print


Hi Eric,

In XPath, each `/` says to go down the XML tree hierarchy once, and a 
double slash (`//`) says "I don't care how far down I have to go from my 
starting position, get me all descendants that match the next thing I 
specify". So you can use a slightly more explicit XPath to find what you 
need:

`//teiHeader//author` -> "Go to <teiHeader>, then get all its descendant 
<author>s"
`//text//author` -> "Go to <text>, then get all its descendant <author>s"

To get counts in pure XPath (you'll have to check if your parser can 
handle functions like this), you can use the count function:

`count(//teiHeader//author)` -> "Get a count of the results for 
`//teiHeader//author`"

Hope this helps!

Best,
Ashley

-- 

Ashley M. Clark
XML Applications Developer
Digital Scholarship Group
Northeastern University Libraries
[log in to unmask] <mailto:[log in to unmask]>
(617) 373-5983


On 1/9/17 11:55 AM, Eric Lease Morgan wrote:
> I have an XPath question, and more specifically, how can I determine the number of author elements found an a TEI header?
>
> I would like to create summary files similar to the files created by the late Sebastian Rantz and found on GitHub. [1] I can easily determine the number of author elements found in an entire TEI file with a Perl-esque XPath statement similar to this:
>
>    $parser->find( ā€œ//author" )->size
>
> But Iā€™d like to know how to limit the finding of author elements to only the teiheader or text elements.
>
> [1] see, for example - https://github.com/textcreationpartnership/A00002
>
> ā€”
> Eric Morgan