Bonjour,
Le xml est mis en forme avec xsl.
J'ai une page result.php qui va creer mon XML ensuite dans celui ci j'ai trois boutons dont un pour imprimer voici le code :
[xml]<xsl:stylesheet xmlns:xsl = "
http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:template match="/">
<html>
<head>
<title>Compte rendu laboratoire</title>
<xsl:element name="link">
<xsl:attribute name="rel">stylesheet</xsl:attribute>
<xsl:attribute name="href">
<xsl:value-of select="document/docroot" />/css/report.css
</xsl:attribute>
<xsl:attribute name="type">text/css</xsl:attribute>
</xsl:element>
<script language="JavaScript">
function PopUp(mylink, windowname)
{
var sizes;
if (windowname=='comments')
sizes = 'width=600,height=400,scrollbars=yes,status=no,resizable=yes';
else
sizes = 'width=605,left=200,top=100,height=450,scrollbars=no,status=no,resizeable=yes';
if (! window.focus)
return true;
var href;
if (typeof(mylink) == 'string')
href=mylink;
else
href=mylink.href;
window.open(href, windowname, sizes);
return false;
}
function ReadCookie(cookieName)
{
var theCookie=""+document.cookie;
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="")
return "";
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1)
ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}
function AddAnal(user,request)
{
var url = "../reqform.php?user="+user+"&request="+request;
window.open(url);
}
function BackToURL()
{
var origin = ReadCookie("MDSOrigin");
if (origin.indexOf('req_list') == -1)
history.go(-3);
else
history.go(-2);
}
function BackToOrigin(origin)
{
document.location.href = origin;
}
</script>
</head>
<body>
<script name="JavaScript">
var request ='<xsl:value-of select="document/header/request/nummer" />';
var r = ReadCookie("CurrentRequest");
if (r != request) location.href='../index.php';
</script>
<xsl:element name="table">
<xsl:attribute name="class">ProtocolHeaderTable</xsl:attribute>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">LogoColumn</xsl:attribute>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="document/logo" />
</xsl:attribute>
<xsl:attribute name="class">logo</xsl:attribute>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">PatientColumn</xsl:attribute>
<xsl:element name="table">
<xsl:attribute name="class">PatientTable</xsl:attribute>
<xsl:element name="tr">
<xsl:element name="th">
<xsl:attribute name="class">PatientTableHeader</xsl:attribute>
<xsl:attribute name="colspan">4</xsl:attribute>
Compte rendu laboratoire
</xsl:element>
</xsl:element>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="colspan">2</xsl:attribute>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">DateText</xsl:attribute>
Date :
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">DateData</xsl:attribute>
<xsl:value-of select="document/header/request/reqdate" />
</xsl:element>
</xsl:element>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">PatientDataText</xsl:attribute>
Nom Patient :
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">PatientData</xsl:attribute>
<xsl:value-of select="document/header/patient/name" />,
<xsl:value-of select="document/header/patient/fname" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">RequestDataText</xsl:attribute>
Référence :
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">RequestData</xsl:attribute>
<xsl:value-of select="document/header/request/nummer" />
</xsl:element>
</xsl:element>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">PatientDataText</xsl:attribute>
Adresse :
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">PatientData</xsl:attribute>
<xsl:value-of select="document/header/patient/address" /><br/>
<xsl:value-of select="document/header/patient/zip" />
 
<xsl:value-of select="document/header/patient/city" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">DoctorName</xsl:attribute>
<xsl:value-of select="document/header/doctor/fullname" />
</xsl:element>
<xsl:comment>
<xsl:if test="document/header/request/status!=''">
<xsl:element name="td">
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:choose>
<xsl:when test="document/header/request/status='F'">
<xsl:attribute name="class">RequestValidated</xsl:attribute>
Validé par : <xsl:value-of select="document/header/request/validator" />
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">RequestNotValidated</xsl:attribute>
Non validé
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:if>
</xsl:comment>
</xsl:element>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">PatientDataText</xsl:attribute>
Date de naissance :
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">PatientData</xsl:attribute>
<xsl:value-of select="document/header/patient/birth" />
   Sexe :
<xsl:choose>
<xsl:when test="document/header/patient/sex='M'">Masculin</xsl:when>
<xsl:when test="document/header/patient/sex='V'">Féminin</xsl:when>
<xsl:when test="document/header/patient/sex='F'">Féminin</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:attribute name="class">RequestValidator</xsl:attribute>
<xsl:if test="document/header/request/status!='F'">
Partiel
</xsl:if>
<xsl:if test="document/header/request/status='F'">
Complet
</xsl:if>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="table">
<xsl:attribute name="class">LaboratoryTable</xsl:attribute>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">Laboratory</xsl:attribute>
<xsl:value-of select="document/header/labo/name" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">Laboratory</xsl:attribute>
<xsl:value-of select="document/header/labo/fulladdress" />, <xsl:value-of select="document/header/labo/fullcity" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">Laboratory</xsl:attribute>
tel <xsl:value-of select="document/header/labo/tel" />, fax <xsl:value-of select="document/header/labo/fax" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">Laboratory</xsl:attribute>
<xsl:element name="a">
<xsl:attribute name="href">
mailto:<xsl:value-of select="document/header/labo/email" />
</xsl:attribute>
<xsl:attribute name="title">Cliquez ici pour nous envoyer un courriel</xsl:attribute>
<xsl:value-of select="document/header/labo/email" />
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="form">
<xsl:attribute name="method">post</xsl:attribute>
<xsl:attribute name="action">../testpdf.php</xsl:attribute>
<xsl:attribute name="target">_blank</xsl:attribute>
<xsl:element name="input">
<xsl:attribute name="type">hidden</xsl:attribute>
<xsl:attribute name="name">request</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="document/header/request/nummer" /></xsl:attribute>
</xsl:element>
<xsl:element name="input">
<xsl:attribute name="type">hidden</xsl:attribute>
<xsl:attribute name="name">user</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="document/header/doctor/login" /></xsl:attribute>
</xsl:element>
<xsl:element name="table">
<xsl:attribute name="class">mainTable</xsl:attribute>
<xsl:element name="thead">
<xsl:element name="tr">
<xsl:element name="th">
<xsl:attribute name="class">mainTableHeader</xsl:attribute>
St.
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">mainTableHeader</xsl:attribute>
Nouv.
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">mainTableHeader</xsl:attribute>
Nom d'analyse
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">mainTableHeader</xsl:attribute>
Résultat / Commentaire
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">mainTableHeader</xsl:attribute>
Unité
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">mainTableHeader</xsl:attribute>
Référence
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="tbody">
<xsl:for-each select="document/body/chapter">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableChapter</xsl:attribute>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:value-of select="title" />
</xsl:element>
</xsl:element>
<xsl:if test="commentaar">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:attribute name="class">mainTableTextResult</xsl:attribute>
<xsl:for-each select="commentaar">
<xsl:value-of select="text" />
<br />
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:if>
<xsl:for-each select="analyse">
<xsl:if test="subchapter">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableSubChapter</xsl:attribute>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:value-of select="subchapter/name" />
</xsl:element>
</xsl:element>
</xsl:if>
<xsl:if test="subchapter/commentaar">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:attribute name="class">mainTableTextResult</xsl:attribute>
<xsl:for-each select="subchapter/commentaar">
<xsl:value-of select="text" />
<br />
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:if>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnStatus</xsl:attribute>
<xsl:choose>
<xsl:when test="validated='R' or validated='F'">
<xsl:choose>
<xsl:when test="patho='HH' or patho='>' or patho='LL' or patho='<'">
<xsl:choose>
<xsl:when test="validator!=''">
<xsl:element name="img">
<xsl:attribute name="class">mainTableStatusImage</xsl:attribute>
<xsl:attribute name="src"><xsl:value-of select="/document/docroot" />/img/vinkje-groen.gif</xsl:attribute>
<xsl:attribute name="title">Validé par :<xsl:value-of select="validator" /></xsl:attribute>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="img">
<xsl:attribute name="class">mainTableStatusImage</xsl:attribute>
<xsl:attribute name="src"><xsl:value-of select="/document/docroot" />/img/vinkje-rood.gif</xsl:attribute>
<xsl:attribute name="title">Non validé</xsl:attribute>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:element name="img">
<xsl:attribute name="class">mainTableStatusImage</xsl:attribute>
<xsl:attribute name="src"><xsl:value-of select="/document/docroot" />/img/vinkje-groen.gif</xsl:attribute>
<xsl:attribute name="title">Valide automatiquement</xsl:attribute>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnNew</xsl:attribute>
<xsl:choose>
<xsl:when test="viewed='0'">
<xsl:element name="img">
<xsl:attribute name="class">mainTableNewImage</xsl:attribute>
<xsl:attribute name="src"><xsl:value-of select="/document/docroot" />/img/newsm.gif</xsl:attribute>
<xsl:attribute name="title">Ce résultat a été ajouté ou changé depuis votre dernière visite</xsl:attribute>
</xsl:element>
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnName</xsl:attribute>
<xsl:value-of select="resflag"/>
<xsl:value-of select="naam" />
</xsl:element>
<xsl:element name="td">
<xsl:choose>
<xsl:when test="typeresultaat='N' or typeresultaat='S'">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="patho='-'">mainTableLowResult</xsl:when>
<xsl:when test="patho='L'">mainTableLowResult</xsl:when>
<xsl:when test="patho='LL'">mainTablePathoLowResult</xsl:when>
<xsl:when test="patho='<'">mainTablePathoLowResult</xsl:when>
<xsl:when test="patho='N'">mainTableNormalResult</xsl:when>
<xsl:when test="patho='+'">mainTableHighResult</xsl:when>
<xsl:when test="patho='H'">mainTableHighResult</xsl:when>
<xsl:when test="patho='HH'">mainTablePathoHighResult</xsl:when>
<xsl:when test="patho='>'">mainTablePathoHighResult</xsl:when>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="resultaat" />
</xsl:when>
<xsl:when test="typeresultaat='T'">
<xsl:if test="resultaat">
<xsl:attribute name="class">mainTableNormalResult</xsl:attribute>
<xsl:value-of select="resultaat" />
</xsl:if>
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnUnit</xsl:attribute>
<xsl:value-of select="eenheid" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnReference</xsl:attribute>
<xsl:value-of select="normaalwaarden" />
</xsl:element>
</xsl:element>
<xsl:if test="commentaar">
<xsl:if test="typeresultaat='N' or typeresultaat='S'">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnStatus</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnNew</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnName</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableTextResult</xsl:attribute>
<xsl:for-each select="commentaar">
<xsl:value-of select="text" />
<br />
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:if>
<xsl:if test="typeresultaat='T'">
<xsl:if test="resultaat=''">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnStatus</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnNew</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnName</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableTextResult</xsl:attribute>
<xsl:for-each select="commentaar">
<xsl:value-of select="text" />
<br />
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:if>
<xsl:if test="resultaat!=''">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnStatus</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnNew</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnName</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableTextResult</xsl:attribute>
<xsl:for-each select="commentaar">
<xsl:value-of select="text" />
<br />
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="analcomment">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnStatus</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnNew</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableColumnName</xsl:attribute>
 
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">mainTableTextResult</xsl:attribute>
<xsl:for-each select="analcomment">
<xsl:value-of select="text" />
<br />
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="antibiogram">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">mainTableABGram</xsl:attribute>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:element name="table">
<xsl:attribute name="class">ABGramTable</xsl:attribute>
<xsl:for-each select="id">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">ABGramName</xsl:attribute>
<xsl:value-of select="name" />
</xsl:element>
<xsl:for-each select="result">
<xsl:element name="td">
<xsl:attribute name="class">ABGramResult</xsl:attribute>
<xsl:value-of select="value" />
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:for-each>
</xsl:element>
<xsl:element name="tfoot"></xsl:element>
</xsl:element>
<xsl:for-each select="document/body/profile">
<xsl:element name="table">
<xsl:attribute name="class">ProfileTable</xsl:attribute>
<xsl:element name="tr">
<xsl:element name="th">
<xsl:attribute name="class">ProfileTitle</xsl:attribute>
<xsl:attribute name="colspan">8</xsl:attribute>
<xsl:value-of select="profilename" />
</xsl:element>
<xsl:element name="tr">
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
<xsl:value-of select="title"/>
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
Patient
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
onder=X-2SD
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
boven=X+2SD
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
gem.=X
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
1 SD
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
SD patient
</xsl:element>
<xsl:element name="th">
<xsl:attribute name="class">ProfileHeader</xsl:attribute>
eenheden
</xsl:element>
</xsl:element>
<xsl:for-each select="analyse">
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailName</xsl:attribute>
<xsl:value-of select="naam"/>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="resultaat" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="minval" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="maxval" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="mean" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="sd" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="val" />
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">ProfileDetailData</xsl:attribute>
<xsl:value-of select="eenheid" />
</xsl:element>
</xsl:element>
</xsl:for-each>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:attribute name="colspan">8</xsl:attribute>
<xsl:attribute name="class">ProfileLink</xsl:attribute>
Cliquez
<xsl:element name="a">
<xsl:attribute name="target">blank</xsl:attribute>
<xsl:attribute name="href">
<xsl:value-of select="link" />
</xsl:attribute>
ici
</xsl:element>
pour la graphique
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:for-each>
<xsl:element name="div">
<xsl:attribute name="class">ButtonDivision</xsl:attribute>
<xsl:element name="input">
<xsl:attribute name="type">button</xsl:attribute>
<xsl:attribute name="value">Demande d'analyses</xsl:attribute>
<xsl:attribute name="title">Cliquez ici pour demander des analyses supplémentaires</xsl:attribute>
<xsl:attribute name="onclick">
AddAnal("<xsl:value-of select="document/header/doctor/login"/>","<xsl:value-of select="document/header/request/nummer"/>")
</xsl:attribute>
</xsl:element>
<xsl:element name="input">
<xsl:attribute name="type">submit</xsl:attribute>
<xsl:attribute name="value">fichier PDF</xsl:attribute>
<xsl:attribute name="title">Cliquez ici pour ce compte rendu en format PDF</xsl:attribute>
</xsl:element>
<xsl:element name="input">
<xsl:attribute name="type">button</xsl:attribute>
<xsl:attribute name="value">Retour vers liste</xsl:attribute>
<xsl:attribute name="title">Retour vers la liste de demandes</xsl:attribute>
<xsl:attribute name="onclick">BackToOrigin("<xsl:value-of select="document/origin"/>")</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
[/xml]
Merci pour votre aide