OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   XSLT Help to RDF

[ Lists Home | Date Index | Thread Index ]

Hello,

I need to transform following xml instance to RDF:
<gemq:catalogingOrganization>
   <foaf:name>Learn North Carolina</foaf:name>
   <foaf:phone>919-962-8888</foaf:phone>
   <foaf:homepage>http://www.learnnc.org</foaf:homepage>
   <foaf:mbox>mailto:mthibault@learnnc.org</foaf:mbox>
</gemq:catalogingOrganization>

<gemq:catalogingOrganization>Carolina Center</gemq:catalogingOrganization>

The expected rdf output might be:

<gemq:catalogingOrganization>
    <foaf:name>Learn North Carolina</foaf:name>
     <rdfs:label>Learn North Carolina</rdfs:label>
   <foaf:phone rdf:resource="http://www.unc.edu"/>919-962-8888</foaf:phone>
   <foaf:homepage 
rdf:resource="http://www.unc.edu"/>http://www.learnnc.org</foaf:homepage>
   <foaf:mbox>mailto:mthibault@learnnc.org</foaf:mbox>
</gemq:catalogingOrganization>

<gemq:catalogingOrganization>Carolina Center</gemq:catalogingOrganization>

So, if gemq:catalogingOrganization has any foaf element, xslt needs to show. 
If gemq:catalogingOrganization does not have any foaf element, xsl needs 
only to show the values.

Could you help me with this?

Here is my xsl.
<xsl:template match="gemq:catalogingOrganization">
   <xsl:choose>
	<xsl:when test="foaf:name">
	 <foaf:name>
	 <xsl:value-of select="normalize-space(foaf:name)"/>
	  </foaf:name></xsl:when>
	<xsl:when test="foaf:phone">
	 <foaf:phone>
	<xsl:attribute name="rdf:resource">
	 <xsl:value-of select="normalize-space(foaf:phone)"/> </xsl:attribute>
	  </foaf:phone></xsl:when>
	<xsl:when test="foaf:mbox">
	 <foaf:mbox>
	<xsl:value-of select="normalize-space(foaf:mbox)"/>
	  </foaf:mbox></xsl:when>
	<xsl:when test="foaf:homepage">
	<foaf:homepage>
	<xsl:attribute name="rdf:resource">
	  <xsl:value-of select="normalize-space(foaf:homapge)"/> </xsl:attribute>
	  </foaf:homepage></xsl:when>
	<xsl:otherwise><gemq:catalogingOrganization><xsl:value-of 
select="normalize-space(.)"/></gemq:catalogingOrganization></xsl:otherwise>
</xsl:choose>
  </xsl:template>

Thanks a lot,

Best regards,
Oknam Park






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS