/**
  * The value of the OccurrenceNumber-th tag defined by TagPath.
  *
  * <p>OccurrenceNumber begins indexing from 1.
  *
  * <p>If TagPath ends with "@<I>value</I>" then it will attempt to return the value of the
  * attribute <I>value</I> from the tag described in the first portion of TagPath.
  *
  * @param TagPath The path to the value to be returned.
  * @param OccurrenceNumber The occurrence of the desired tag to be looked at.
  * @return The value of the OccurrenceNumber-th TagPath, if that many exist, else null.
  */
 public String getValue(String TagPath, int OccurrenceNumber) {
   if (TagPath.startsWith("/")) {
     return getRootTag().getValue(TagPath.substring(1), OccurrenceNumber);
   }
   String[] TempStrings = TagPath.split("/?@");
   XMLTag Result = getTag(TempStrings[0], OccurrenceNumber);
   if (Result != null && TempStrings.length > 1) {
     return Result.getAttribute(TempStrings[1]);
   } else if (Result != null) {
     return Result.getValue();
   } else {
     return null;
   }
 }