RE: [xsl] Value Mapping

Subject: RE: [xsl] Value Mapping
From: "oknam park" <ponda7777@xxxxxxxxxxx>
Date: Tue, 20 Jun 2006 20:05:35 +0000
I'm still waiting for your help.

Thanks a lot,

Best regards,
Oknam Park


From: "oknam park" <ponda7777@xxxxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Value Mapping
Date: Tue, 20 Jun 2006 07:43:54 +0000

Sorry not for being clear.

Here is my expectation.

xml instance:
<audience>
  <toolfor scheme="GEM">
      Students
  </toolfor>
   <beneficiary scheme=GEM">Student Teachers </beneficiary>
 </audience>

My RDF transformation expectation is that beneficiary has a value from the scheme in GEM and it is "Student Teachers", xslt transformation to rdf is <dcterms:beneficiary rdf:resource="http://purl.oclc.org/gem/instance/GEM-BEN/#StudentTeachers"/>
and if toolfor has a value from the scheme in GEM and it is "Teachers", xslt transformation to rdf is
<dcterms:beneficiary rdf:resource="http://purl.oclc.org/gem/instance/GEM-MED/#Teachers"; />


Here is My xslt:
<xsl:template match="audience">
<xsl:for-each select="audience/beneficiary[@scheme='GEM']">
<xsl:choose>
<xsl:when test=". = 'Students'">
<dcterms: beneficiary rdf:resource="http://purl.oclc.org/gem/instance/GEM-BEN/#StudentTeachers"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="audience/toolfor[@scheme='GEM']">
<xsl:choose>
<xsl:when test=". = 'Teachers'">
<dcterms: beneficiary rdf:resource="http://purl.oclc.org/gem/instance/GEM-MED/#Teachers"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>


</xsl:template>

Could you give me some help?

Thanks a lot,

Best regards,
Oknam Park


From: "Michael Kay" <mike@xxxxxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: [xsl] Value Mapping
Date: Tue, 20 Jun 2006 08:18:27 +0100

It's difficult to help you when we don't know what output you want. Your
code is obviously wrong (the source has "toolfor" where your code has
"beneficiary"; also the template has "audience" as the context node, and
then tries to find a child called "audience", which doesn't exist in your
source sample). But without knowing what you want to achieve, I can't
correct it for you.

Michael Kay
http://www.saxonica.com/

>
> I need value mapping when a value in the subelement is
> matched with some value string.
>
> xml instance:
> <audience>
> <toolfor scheme="GEM">
>    Students
> </toolfor>
<beneficiary scheme=GEM">Students </beneficiary></audience>

>
> My xslt:
> <xsl:template match="audience">
> <xsl:for-each select="audience/beneficiary[@scheme='GEM']">
>     <xsl:choose>
>        <xsl:when test=". = 'Students'"><gemq:beneficiary
> rdf:resource="http://purl.oclc.org/gem/instance/GEM-BEN/#Stude
> nts"/></xsl:when>
>     </xsl:choose>
> </xsl:for-each>  </xsl:template>
>
> Could you give me some help?

Current Thread