mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 23.04.2024 14:08 Benutzername: Passwort: Auto-Login

Thema: XSL-Problem vom 21.12.2007

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> XSL-Problem
Autor Nachricht
sousterrainian
Threadersteller

Dabei seit: 12.12.2007
Ort: Bremen
Alter: 42
Geschlecht: Männlich
Verfasst Fr 21.12.2007 15:26
Titel

XSL-Problem

Antworten mit Zitat Zum Seitenanfang

Hallo ihr Fast-Urlauber,

selbstverständlich ist bei mir ausgerechnet heute ein tolles Problem aufgekommen! Ich muss ein Stylesheet für ein
Applet-erzeugtes XML-File anpassen, da sich die Struktur der Ausgabe geändert hat * Ich geb auf... *

Altes XML-File:
Code:
<ClinicalDocument xmlns="" xmlns:sciphox="" xmlns:xsi="" xsi:schemaLocation="">
   <typeId root="" extension=""/>
   <id extension="" root=""/>
   <code code="" codeSystem="" displayName=""/>
   <title/>
   <effectiveTime value=""/>
   <confidentialityCode code="N" codeSystem=""/>
   <languageCode code="de"/>
   <setId extension="D1" root=""/>
   <versionNumber value="1"/>
   <recordTarget>
      <patientRole>
        <id extension="" root=""/>
         <addr>
            <streetName></streetName>
            <houseNumber/>
            <postalCode></postalCode>
            <city></city>
         </addr>
         <patient>
            <name>
               <given></given>
               <family></family>
            </name>
            <administrativeGenderCode code="M" codeSystem=""/>
            <birthTime value=""/>
         </patient>...


altes XSL-File:
Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:n1=""
  xmlns:n2="" xmlns:voc="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <xsl:output method="html" indent="yes" version="4.01" encoding="ISO-8859-1"
    doctype-public="-//W3C//DTD HTML 4.01//EN"/>
  <!-- CDA document -->
  <xsl:variable name="tableWidth">50%</xsl:variable>
  <xsl:variable name="title">
    <xsl:choose>
      <xsl:when test="/n1:ClinicalDocument/n1:title">
        <xsl:value-of select="/n1:ClinicalDocument/n1:title"/>
      </xsl:when>
      <xsl:otherwise>Clinical Document</xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:template match="/">
    <xsl:apply-templates select="n1:ClinicalDocument"/>
  </xsl:template>
  <xsl:template match="n1:ClinicalDocument">
    <html>
      <head>
        <title>
          <xsl:value-of select="$title"/>
        </title>
        <style type="text/css" media="screen">
          <!-- import styles... -->
        </style>
      </head>
      <body>
        <table width="100%" cellspacing="1" cellpadding="5">
          <tr bgcolor="#3399ff">
            <td width="10%">
              <xsl:text>Patient:</xsl:text>
              </td>
            <td width="40%">
              <b>
                <xsl:call-template name="getName">
                  <xsl:with-param name="name" select="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/n1:patient/n1:name"/>
                </xsl:call-template>...


Hat alles wunderbar funktioniert!

Neue Struktur ("nur" leicht erweitert...)

Code:
<cdp:ContentPackage xmlns:cdp="" xmlns:ds="h" xmlns:xades="" xmlns:xmime="" xmlns:xsi="" xsi:schemaLocation="">
<cdp:ContentContainer range="0">
      <cdp:StructuredContent>
         <ClinicalDocument xmlns="" xmlns:sciphox="u" Id="" xmlns:xsi="" xsi:schemaLocation="">
            <typeId extension="" root=""/>
            <id extension="" root=""/>
            <code code="" codeSystem="" displayName=""/>
            <title></title>
            <effectiveTime value=""/>
            <confidentialityCode code="" codeSystem=""/>
            <languageCode code=""/>
            <setId extension="" root=""/>
            <versionNumber value=""/>
            <recordTarget>
               <patientRole>
               <id extension="" root=""/>
                  <addr>
                     <streetName></streetName>
                     <houseNumber></houseNumber>
                     <postalCode></postalCode>
                     <city></city>
                  </addr>
                  <patient>
                     <name>
                        <given></given>
                        <family></family>
                     </name>
                     <administrativeGenderCode code="" codeSystem=""/>
                     <birthTime value=""/>
                  </patient>
                  <providerOrganization>
                     <telecom use="" value=""/>
                     <telecom use="" value=""/>
                     <addr>
                        <streetName></streetName>
                        <houseNumber></houseNumber>
                        <postalCode></postalCode>
                        <city></city>
                     </addr>
                  </providerOrganization>
               </patientRole> ...


Mein bisheriges Vorgehen, welches zu keinerlei Ausgabe geführt hat:

Code:
<xsl:stylesheet version="1.0" xmlns:xsl="" [b]xmlns:cdp="" xmlns:cdp2=[/b]""
  xmlns:voc="" xmlns:xsi="">
  <xsl:output method="html" indent="yes" version="4.01" encoding="ISO-8859-1"
    doctype-public="-//W3C//DTD HTML 4.01//EN"/>
  <!-- CDA document -->
  <xsl:variable name="tableWidth">50%</xsl:variable>
  <xsl:variable name="title">
    <xsl:choose>
      <xsl:when test="[b]/cdp:ContentPackage/cdp:ContentContainer/cdp:StructuredContent/[/b]n1:ClinicalDocument/cdp:title">
        <xsl:value-of select="/cdp:ContentPackage/cdp:ContentContainer/cdp:StructuredContent/n1:ClinicalDocument/cdp:title"/>
      </xsl:when>
      <xsl:otherwise>Clinical Document</xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:template match="/">
    <xsl:apply-templates select="cdp:ContentPackage/cdp:ContentContainer/cdp:StructuredContent/n1:ClinicalDocument"/>
  </xsl:template>
  <xsl:template match="cdp:ContentPackage/cdp:ContentContainer/cdp:StructuredContent/n1:ClinicalDocument">
    <html>
      <head>
        <title>
          <xsl:value-of select="$title"/>
        </title>
        <style type="text/css" media="screen">
          <!-- include css -->
        </style>
      </head>
      <body>
        <table width="100%" cellspacing="1" cellpadding="5">
          <tr bgcolor="#3399ff">
            <td width="10%">
              <xsl:text>Patient:</xsl:text>
            </td>
            <td width="40%">
              <b>
                <xsl:call-template name="getName">
                  <xsl:with-param name="name" select="/cdp:ContentPackage/cdp:ContentContainer/.../n1:recordTarget/n1:patientRole/n1:patient/n1:name"/>
                </xsl:call-template>


Und ich dachte schon, dass wird ein gemütlicher Urlaub, den ich wahrscheinlich damit verbringen werde, XML-Referenzen zu lesen. Das alles nur, weil ich Depp dem CET auf die Frage, ob ich mich mit Stylesheets auskenne, mit ja geantwortet habe... Total ausblendend, dass der mann seit Jahrzehnten nur offline-Applikationen schreibt und mit Sicherheit keinen kleinen Web-Kram meint. Abgeben kann (und will) ich das Projekt nicht mehr, da ich schon seit zwei Tagen dran sitze.

Ich hoffe mir kann jemand Anregungen, Stichworte geben, die mir bei meinen Recherchen weiterhelfen und Stolpersteine posten, auf die ich achten muss.
Optimal wäre natürlich eine Analyse, was für stümperhaften Mist ich da probiert habe, mit einer Anmerkung, was ich Depp besser mal lernen sollte * Ich geb auf... * (Wurzelelement deklarieren zB)



edit: endlich solved, ich hoffe ich pushe den Mist nicht mit dem edit, kann aber jetzt, da ich es gelöst habe verstehen, dass keiner bei der Fragestellung, die total am Thema vorbeigeht, antworten wollte.

Also an alle, die es gelesen haben: Sorry * Ich geb auf... *


Zuletzt bearbeitet von sousterrainian am Do 10.01.2008 16:50, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
Ähnliche Themen Formmailer-Problem-neues problem
IE und PNG Problem
JS DIV-Problem
CSS-Problem?
ie7 problem?
Problem mit IE7
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.