I am still struggling with the use of variables in some CREATE statements. The 
features do not always have the expected values after CREATE. Let me give 
another more concrete example:

TYPE pmcIdentifier;
BLOCK(ForEach) IdentifierAnnotation.propertyName=="PMC"{} { // Just capturing 
scope
    IdentifierAnnotation.propertyName=="PMC" { -> ASSIGN(pmcIdentifier, 
IdentifierAnnotation), LOG(pmcIdentifier.ct)};
}

TYPE doiIdentifier;
BLOCK(ForEach) IdentifierAnnotation.propertyName=="DOI"{} { // Just capturing 
scope
    IdentifierAnnotation.propertyName=="DOI" { -> ASSIGN(doiIdentifier, 
IdentifierAnnotation), LOG(doiIdentifier.ct)};
}

BLOCK(ForEach) XMLTagAnnotation.path=="article/front/article-meta"{} {
    XMLTagAnnotation.name=="article-meta" {
        -> CREATE(
            DocumentInfoAnnotation,
            “id" = pmcIdentifier,
            "doi" = doiIdentifier
        )
    };
}

The IdentifierAnnotation annotations have successfully been created in 
statements not shown here, which is also evident from a CAS inspection, and the 
LOG actions output the expected strings, but when I reference the variables in 
the CREATE action then the id and doi features of the DocumentInfoAnnotation 
end up pointing to the same identifier (pmc in the above example). Its puzzling 
me how this can happen.

> On 09 Oct 2015, at 15:41 , Mario Juric <mario.juric...@gmail.com> wrote:
> 
> Hi,
> 
> I have a annotation type variable that I am assigning a value in a statement 
> block and then use that value in match rule to set the attribute in a new 
> annotation like this:
> 
> Type myvar;
> 
> BLOCK(ForEach) UniqueMatch{} { // Capturing unique scope with this
>    “Some (\\w+) Regex" -> 1 = MatchedRegexAnnotation;
>    MatchedRegexAnnotation { -> ASSIGN(myvar, MatchedRegexAnnotation)};
> }
> 
> SomeOtherMatch{} {
>       -> CREATE(Markup, “myprop” = myvar)
> };
> 
> The “myprop” attribute never gets a value even though the 
> MatchedRegexAnnotation is created. A completely analog implementation appears 
> to work flawlessly in another context but not in the current.
> 
> I am in the dark about this and my Ruta skills are sill infant so any idea to 
> what could be the problem is much appreciated.
> 
> Cheers
> Mario

Reply via email to