Entwickler-Ecke

IO, XML und Registry - Xml verlinken auf anderes xml


DeTomaso33 - Fr 05.02.16 16:12
Titel: Xml verlinken auf anderes xml
Hi,

bei meiner Suchanfrage hier im ee-forum nach o.g. Thema gab es keine entsprechenden Treffer. Das Treffer anderen Inhalts kamen, hat mich doch sehr verwundert. Was hat z.B. Zeichen-Rausnehmen aus einem Xml mit meinem neuen Thema zu tun? Sei's drum!

Dann erkläre ich mal! Ich möchte in meinem Xml mit Xsl-Beschreibung ein paar Links einbauen,die auf jeweils ein anderes Xml mit weiterführendem Inhalt verweisen. Ich weiß nicht wie der href-Code :?: genau ausshen muss. Mir schwebt da so was vor, dass es genau wie bei Bildern (ein vorheriges Thema) funktionieren kann(bzgl. des Pfades),nur der Text, der als Link erscheinen soll,muss ja entsprechend kenntlich gemacht werden. Ich bin noch am Ausprobieren und Recherchieren. :roll: Wenn zwischenzeitlich schon mal jemand einen Tipp hat, wäre es nett, die Info zu posten. :)

mfg
DeTomaso33


Ralf Jansen - Fr 05.02.16 16:18

href ist ein Html Ding kein xml oder xsl Ding. Wenn du später nach einer irgendwie gearteten xslt Transformation (xml->html) einen href im html Ergebnis willst willst brauchst du eine passende Transformationsregel.

Zitat:
Ich weiß nicht wie der href-Code :?: genau ausshen muss


Irgendein html Tutorial oder Fachbuch lesen? z.B. selfhtml [https://wiki.selfhtml.org/wiki/A]


DeTomaso33 - Di 09.02.16 11:27

Hallo,

ich habe da was gefunden,was halbwegs nach einem Lösungsansatz aussieht. Wenn ich in meiner Darstellung des .xml mit .xsl zum html einen Link haben möchte, kann das im xml wie folgt geschrieben werden:

XML-Daten
1:
2:
3:
4:
<links>
    <link href="..." rel="rexsl:google" type="text/xml"/>
    <link href="..." rel="rexsl:facebook" type="text/xml"/>
</links>


Das Problem ist, dass ich noch ein Element <page> hinzufügen muss im .xml, damit ich überhaupt was dargestellt bekomme. Das Ergebnis ist: Titel+ meine Tabelle allerdings reduziert auf den Header. Warum der Rest (Tabellendaten+ darunter stehend die Links)nicht angezeigt wird, ist mir schleierhaft. :?:

Meine Fundstelle:
http://www.yegor256.com/2014/06/25/xml-and-xslt-in-browser.html

Wie bei den Bildern müsste doch auch im .xsl das Ziel - also http://www.google.de z.B. - angegeben werden....Das wird in meiner Fundstelle aber nicht beschrieben.

mfg


DeTomaso33 - Di 09.02.16 12:36

Hallo,

die Antwort gibt Wikipedia: hier der Link (4 Beispiele)!
https://de.wikipedia.org/wiki/XML_Base

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
<body xmlns="http://www.w3.org/1999/xhtml">
  <a href="/wiki/XML_Base">Link 1</a>
  <a xml:base="http://de.wikipedia.org" href="/wiki/XML_Base">Link 2</a
  <div xml:base="file:///home/user/">
    <a href="test2.xml">Link 3</a>
    <a xml:base="ordner" href="test3.xml">Link 4</a>
  </div>
</body>


Hier wird schön kurz beschrieben, wie man auch die richtige Ordnerstruktur berücksichtigt! Einziger Fehler (man merkts am SYNTAX) bitte die Zeilen nur im .xsl einfügen und nicht im .xml! (ich habe Wiki da mal durch einen Zusatz korrigiert!)

Meine Lösung, um von einem .xml auf das zweite .xml (cdliste2.xml)zu verweisen:

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<body>
        <h2>My CD Collection</h2>
        <table border="1">
            <tr bgcolor="#9acd32">
              <th>Title</th>
              <th>Artist</th>
              <th>Year</th>
            </tr>
            <xsl:for-each select="catalog/cd">
            <tr>
              <td><xsl:value-of select="title" /></td>
              <td><xsl:value-of select="artist" /></td>
              <td><xsl:value-of select="year" /></td>
            </tr>
            </xsl:for-each>
         </table>
         <br></br>
         <div xml:base="file:///Desktop/">
           <a href="cdliste2.xml">CD 2</a>
         </div>
</body>


Juuppi! Selber die Lösung gefunden! :lol:
mfg

Moderiert von user profile iconTh69: Code- durch XML-Tags ersetzt