xsl-list
[Top] [All Lists]

[xsl] Another complex condition

2008-10-01 11:02:33
I am trying to satisfy another condition, but am having some difficulty.
HESA themselves (in their validation kit) appear to check this:

<xsl:if test="(SCN) and Instance[COURSEID =
../../Course[contains('HIJCPQRS', substring(COURSEAIM, 1,
1))]/COURSEID]/EntryProfile[UCASAPPID]/DOMICILE[.='XH']">

  <!-- Do Stuff -->

</xsl:if>

Given the map of the document complex types:

HesaSqlExplicit_Response
  |
  |
  +-- Institution (0:1)
        |
        |
        +-- Student (1:unbounded)
        |      |
        |      |
        |      +-- Instance (1:unbounded)
        |             |
        |             |
        |             +-- EntryProfile (0:1)
        |
        +-- Module (1:unbounded)
        |
        |
        +-- Course (1:unbounded)

Could someone explain what is actually being tested here?  There is a
COURSEID element in both Course and Instance

HESAs own explanation is:

"Student.SCN must exist where (EntryProfile.DOMICILE exists and is coded
XH) and EntryProfile.UCASAPPID exists and Course.COURSEAIM begins H, I,
J, C, P, Q, R or S"

Given that a Student can have many Instances and that EntryProfile is a
child of Instance I don't see how the test can be done.  How do we know
which of the students Instances to use for checking the COURSEID and for
the EntryProfile.DOMICILE?

I know that you cannot answer that last question.  I am just trying to
find out if HESAs own test answers it either implicitly or explicitly
and I am too dense to see it.

Thanks (again)


Peter


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>