RDFファイルを作成し、XSLを使用して提示するように依頼されました。
RDFコード(変更)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="XSLTFile1.xslt"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:clinic="http://www.computing-services.co.il"
xml:base="http://www.computing-services.co.il">
<rdfs:Class rdf:ID="Patient">
<rdfs:comment>
the class of patient
</rdfs:comment>
</rdfs:Class>
<rdf:Property rdf:ID="ID">
<rdfs:comment>
Patient's ID
</rdfs:comment>
<rdfs:domain rdf:resource="#Patient"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="Name">
<rdfs:comment>
Patient's Name
</rdfs:comment>
<rdfs:domain rdf:resource="#Patient"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="Age">
<rdfs:comment>
Patient's Age
</rdfs:comment>
<rdfs:domain rdf:resource="#Patient"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="Sex">
<rdfs:comment>
Patient's Sex
</rdfs:comment>
<rdfs:domain rdf:resource="#Patient"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>
<rdfs:Class rdf:ID="Disease">
<rdfs:comment>
the class of diseases
</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:ID="CancDiseases">
<rdfs:comment>
the class of cancerous diseases
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Disease"/>
</rdfs:Class>
<rdfs:Class rdf:ID="CntDiseases">
<rdfs:comment>
the class of contagious diseases
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Disease"/>
</rdfs:Class>
<rdfs:Class rdf:ID="Traumas">
<rdfs:comment>
the class of traumas
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Disease"/>
</rdfs:Class>
<rdfs:Class rdf:ID="IntDiseases">
<rdfs:comment>
the class of Internal diseases
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Disease"/>
</rdfs:Class>
<rdfs:Class rdf:ID="EmIntDiseases">
<rdfs:comment>
the class of Emerging diseases
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#IntDiseases"/>
</rdfs:Class>
<rdfs:Class rdf:ID="ChIntDiseases">
<rdfs:comment>
the class of Chronic diseases
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#IntDiseases"/>
</rdfs:Class>
<rdfs:Class rdf:ID="Treatment">
<rdfs:comment>
the class of treatment
</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:ID="Medication">
<rdfs:comment>
the class of medications
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Treatment"/>
</rdfs:Class>
<rdfs:Class rdf:ID="Procedure">
<rdfs:comment>
the class of procedures
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Treatment"/>
</rdfs:Class>
<rdf:Property rdf:ID="isSick">
<rdfs:domain rdf:resource="#Patient"/>
<rdfs:range rdf:resource="#Disease"/>
</rdf:Property>
<rdf:Property rdf:ID="gets">
<rdfs:domain rdf:resource="#Patient"/>
<rdfs:range rdf:resource="#Treatment"/>
</rdf:Property>
<rdf:Property rdf:ID="helpsFrom">
<rdfs:domain rdf:resource="#Treatment"/>
<rdfs:range rdf:resource="#Disease"/>
</rdf:Property>
<clinic:ChIntDiseases rdf:ID="chrone"/>
<clinic:ChIntDiseases rdf:ID="diabetes"/>
<clinic:Traumas rdf:ID="BrokenLeg"/>
<clinic:EmIntDiseases rdf:ID="Appendicite"/>
<clinic:CancDiseases rdf:ID="BreastCancer"/>
<clinic:CancDiseases rdf:ID="LungCancer"/>
<clinic:Medication rdf:ID="Insuline">
<clinic:helpsFrom rdf:resource="#diabetes"/>
</clinic:Medication>
<clinic:Medication rdf:ID="Pentassa">
<clinic:helpsFrom rdf:resource="#chrone"/>
</clinic:Medication>
<clinic:Medication rdf:ID="Raffasal">
<clinic:helpsFrom rdf:resource="#chrone"/>
</clinic:Medication>
<clinic:Medication rdf:ID="Advil">
<clinic:helpsFrom rdf:resource="#BrokenLeg"/>
<clinic:helpsFrom rdf:resource="#Appendicite"/>
</clinic:Medication>
<clinic:Procedure rdf:ID="Sigmoscopia">
<clinic:helpsFrom rdf:resource="#chrone"/>
</clinic:Procedure>
<clinic:Procedure rdf:ID="Chemo">
<clinic:helpsFrom rdf:resource="#BreastCancer"/>
<clinic:helpsFrom rdf:resource="#LungCancer"/>
</clinic:Procedure>
<clinic:Patient rdf:ID="p23456">
<clinic:Name>Linda Jones</clinic:Name>
<clinic:Sex>Female</clinic:Sex>
<clinic:Age>56</clinic:Age>
<clinic:isSic>
<rdf:Bag>
<rdf:li rdf:resource="#chrone"/>
<rdf:li rdf:resource="#diabetes"/>
</rdf:Bag>
</clinic:isSic>
<clinic:gets>
<rdf:Bag>
<rdf:li rdf:resource="#Pentassa"/>
<rdf:li rdf:resource="#Insuline"/>
</rdf:Bag>
</clinic:gets>
</clinic:Patient>
<clinic:Patient rdf:ID="p12345">
<clinic:Name>Moshe Koen</clinic:Name>
<clinic:Sex>Male</clinic:Sex>
<clinic:Age>70</clinic:Age>
<clinic:isSic>
<rdf:Bag>
<rdf:li rdf:resource="#diabetes"/>
</rdf:Bag>
</clinic:isSic>
<clinic:gets>
<rdf:Bag>
<rdf:li rdf:resource="#Insuline"/>
</rdf:Bag>
</clinic:gets>
</clinic:Patient>
<clinic:Patient rdf:ID="p34567">
<clinic:Name>Ofer Meleh</clinic:Name>
<clinic:Sex>Male</clinic:Sex>
<clinic:Age>25</clinic:Age>
<clinic:isSic>
<rdf:Bag>
<rdf:li rdf:resource="#BrokenLeg"/>
</rdf:Bag>
</clinic:isSic>
<clinic:gets>
<rdf:Bag>
<rdf:li rdf:resource="#Advil"/>
</rdf:Bag>
</clinic:gets>
</clinic:Patient>
<clinic:Patient rdf:ID="p45678">
<clinic:Name>Itzhak Rabinovich</clinic:Name>
<clinic:Sex>Male</clinic:Sex>
<clinic:Age>38</clinic:Age>
<clinic:isSic>
<rdf:Bag>
<rdf:li rdf:resource="#LungCancer"/>
</rdf:Bag>
</clinic:isSic>
<clinic:gets>
<rdf:Bag>
<rdf:li rdf:resource="#Chemo"/>
</rdf:Bag>
</clinic:gets>
</clinic:Patient>
<clinic:Patient rdf:ID="p56789">
<clinic:Name>Golda Zilber</clinic:Name>
<clinic:Sex>Female</clinic:Sex>
<clinic:Age>45</clinic:Age>
<clinic:isSic>
<rdf:Bag>
<rdf:li rdf:resource="#BreastCancer"/>
<rdf:li rdf:resource="#Appendicite"/>
</rdf:Bag>
</clinic:isSic>
<clinic:gets>
<rdf:Bag>
<rdf:li rdf:resource="#Chemo"/>
<rdf:li rdf:resource="#Advil"/>
</rdf:Bag>
</clinic:gets>
</clinic:Patient>
</rdf:RDF>
`
患者とその病気と治療法があります(以前のRDFSの部分を変更しました)。患者の順序付きリスト(個人データを含む)と、患者ごとに、彼の病気と治療法の表を作成する必要があります。
それはそのようなものでなければなりません:
それがxslを書くための私の新しい試みです
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:clinic="http://www.infomed.co.il">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/rdf:RDF/clinic:Patient">
<html>
<body>
<ol>
<xsl:apply-templates select="/rdf:RDF/clinic:Patient" />
</ol>
</body>
</html>
</xsl:template>
<xsl:template match="clinic:Patient">
<li>
Name <xsl:value-of select="clinic:Name"/>
Age <xsl:value-of select="clinic:Age"/>
Sex <xsl:value-of select="clinic:Sex"/>
<table>
<tr>
<th>Disease</th>
<xsl:apply-templates select="clinic:isSic" />
<th>Treatment</th>
<xsl:apply-templates select="clinic:gets" />
</tr>
</table>
</li>
</xsl:template>
<xsl:template match="clinic:isSic">
<xsl:variable name="resource" select="@rdf:resource"/>
<td>
<xsl:value-of select="translate(@rdf:resource,'#','')"/>
</td>
</xsl:template>
<xsl:template match="clinic:gets">
<xsl:variable name="resource" select="@rdf:resource"/>
<td>
<xsl:value-of select="translate(@rdf:resource,'#','')"/>
</td>
</xsl:template>
</xsl:stylesheet>
それでも機能しませんが、少なくとも今は患者のデータを見ることができます。次のようになります。
患者のクラス患者のID患者の名前患者の年齢患者の性別疾患のクラス癌性疾患のクラス伝染性疾患のクラス外傷のクラス内部疾患のクラス新興疾患のクラス慢性疾患のクラス治療のクラス薬のクラス手順のクラスリンダジョーンズ女性56モシェコーエン男性70オファーメレ男性25イツァクラビノビッチ男性38ゴールダジルバー女性45
私はそれをこのようにするための助けに感謝します: