php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.02.2012, 09:58  
Benutzer
 
Registriert seit: 27.07.2011
Beiträge: 40
PHP-Kenntnisse:
Anfänger
Clara befindet sich auf einem aufstrebenden Ast
Standard XSL - Problemchen

Hallo nochmal.
Es geht diesmal wieder um meine Bibliotheks-Liste, die ich nun über XSL ausgeben möchte in eine speziellen Art und Weise.

Die Struktur der XML ist die folgende: (gekürzt)

PHP-Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml
-stylesheet type="text/xsl" href="layout.xsl" ?>
<bibliography xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="lasttry.xsd">
<bibo>
    <bib_phdthesis type="phdthesis" id="Abadie:92">
      <author>B. Abadie</author>
      <title>On the K-theory of non-commutative Heisenberg manifolds</title>
      <school>Univ. of California at Berkeley</school>
      <year>1992</year>
    </bib_phdthesis>
    <bib_inproceedings type="inproceedings" id="Abadie:94">
      <author>B. Abadie</author>
      <title>”Vector bundles” over quantum Heisenberg manifolds</title>
      <booktitle>Algebraic Methods in Operator Theory</booktitle>
      <editor>R. Curto and P. E. T. Jørgensen</editor>
      <publisher>Birkhäuser, Boston - Basel - Berlin</publisher>
      <year>1994</year>
      <note>307-315</note>
    </bib_inproceedings>
    <bib_article type="article" id="Abadie:95">
      <author>B. Abadie</author>
      <title>Generalized fixed-point algebras of certain actions on crossed products</title>
      <journal>Pacific J. Math.</journal>
      <volume>171</volume>
      <year>1995</year>
      <note>1-21</note>
    </bib_article>
...
Ihr seht, es gibt in der Datei tausende Einträge von unterschiedlichen Typen (Article, Phdthesis, Inproceedings, ...), die nun über XSL geordnet nach dem Author ausgegeben werden sollen und genau da ist mein Problem.

Der Aufbau des XSL sieht folgendermaßen aus: (gekürzt)

PHP-Code:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
 <html><head>
 </head>
 
 <body>
 <h2>Hilbert C* Modules Bibliography</h2>
 <xsl:for-each select="bibliography/bibo">
    <xsl:sort select="author"/>
    <xsl:for-each select="bib_article">
    <table>
    <tr>
        <td class="nummer">
            <xsl:number level="single" count="*" format="[1]" />
        </td>
        <td class="inhalt">
        <xsl:if test="author">
            <xsl:text> </xsl:text>
            <xsl:value-of select="author" />
        </xsl:if>
        <xsl:if test="title">
        <xsl:text>, </xsl:text>
            <span class="title"><xsl:value-of select="title" /></span>
        </xsl:if>
        <xsl:if test="journal">
            <xsl:text>, </xsl:text>
            <xsl:value-of select="journal" />
        </xsl:if>
        <xsl:if test="volume">
            <xsl:text> </xsl:text>
            <span class="volume"><xsl:value-of select="volume" /></span>
        </xsl:if>
        <xsl:if test="year">
            <xsl:text> (</xsl:text>
            <xsl:value-of select="year" />
            <xsl:text>)</xsl:text>
        </xsl:if>
        <xsl:if test="number">
        <xsl:text>, number: </xsl:text>
            <xsl:value-of select="number" />
        </xsl:if>
        <xsl:if test="pages">
            <xsl:text>, pages: </xsl:text>
            <xsl:value-of select="pages" />
        </xsl:if>
        <xsl:if test="month">
            <xsl:text>, month: </xsl:text>
            <xsl:value-of select="month" />
        </xsl:if>
        </td>
        </tr>
        </table>
    </xsl:for-each>
    
    <xsl:for-each select="bib_book">
    <table>
    <tr>
        <td class="nummer">
            <xsl:number level="single" count="*" format="[1]" />
        </td>
        <td class="inhalt">
        <xsl:if test="author">
            <xsl:text> </xsl:text>
            <xsl:value-of select="author" />
        </xsl:if>
        <xsl:if test="title">
        <xsl:text>, </xsl:text>
            <span class="title"><xsl:value-of select="title" /></span>
        </xsl:if>
        <xsl:if test="publisher">
            <xsl:text>, </xsl:text>
            <xsl:value-of select="publisher" />
        </xsl:if>
        <xsl:if test="year">
            <xsl:text> (</xsl:text>
            <xsl:value-of select="year" />
            <xsl:text>)</xsl:text>
        </xsl:if>
        <xsl:if test="number">
        <xsl:text>, number: </xsl:text>
            <xsl:value-of select="number" />
        </xsl:if>
        <xsl:if test="pages">
            <xsl:text>, pages: </xsl:text>
            <xsl:value-of select="pages" />
        </xsl:if>
        <xsl:if test="month">
            <xsl:text>, month: </xsl:text>
            <xsl:value-of select="month" />
        </xsl:if>
        </td>
        </tr>
        </table>
    </xsl:for-each>
 </xsl:for-each>
 
</body></html>
</xsl:template>

</xsl:stylesheet>
Es wird zwar alles ausgegeben, aber eben nicht sortiert nach Author.
Was kann ich tun, um zum gewünschten Ziel zu kommen??
Clara ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.02.2012, 10:24  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

bemerkenswert - du beschwerst dich über falsche Sortierung - aber deine Beispiel-XML ist schon sortiert - jedenfalls der Ausschnitt den du uns zeigst ...

Du solltest mal mit Daten belegen, was du eigentlich hast, wo du hinwillst, und wo "er" - deiner Meinung nach - falsch sortiert... wobei ich mir schon denken kann, wohin es "geht" - dein Author-Feld ist nämlich nicht "atomar" und damit nicht gut geeignet zum Sortieren. A. Zitterbacke landet bei deiner Sortierung immer vor B.Abadie, weil dabei stur Zeichen für Zeichen verglichen wird und er leider Vorname/Nachname gar nicht auseinander halten kann
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 02.02.2012, 10:38  
Benutzer
 
Registriert seit: 27.07.2011
Beiträge: 40
PHP-Kenntnisse:
Anfänger
Clara befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
bemerkenswert - du beschwerst dich über falsche Sortierung - aber deine Beispiel-XML ist schon sortiert - jedenfalls der Ausschnitt den du uns zeigst ...
Das ist nen Zufall. Die folgenden Einträge sind leider nicht alphabetisch sortiert.

Zitat:
Zitat von eagle275 Beitrag anzeigen
Du solltest mal mit Daten belegen, was du eigentlich hast, wo du hinwillst, und wo "er" - deiner Meinung nach - falsch sortiert... wobei ich mir schon denken kann, wohin es "geht" - dein Author-Feld ist nämlich nicht "atomar" und damit nicht gut geeignet zum Sortieren. A. Zitterbacke landet bei deiner Sortierung immer vor B.Abadie, weil dabei stur Zeichen für Zeichen verglichen wird und er leider Vorname/Nachname gar nicht auseinander halten kann
Ich soll die Daten belegen?
Ganz einfach. Ich hab in meiner XML 8 Arten von Einträgen (Masterthesis, PHDTesis, Inproceedings, Article, Incollection, Book, Inbook und Misc)

Diese Einträge haben unterschiedliche Pflichtfelder, sowie optionale Felder.
Bspw. hat der Eintrag Article die Pflichtfelder: Author, Title, Journal, Year und die optionalen Felder: Volume, Number, Pages, Month und Note

Weiterhin haben (in meinem Fall mathematische) Zeitschriften bzw Publikationslisten eine bestimmte Anordnung der einzelnen Felder (Author und Title am Anfang, Krams in der Mitte und am Ende meist die Jahres- u. Seitenzahl), aber darum soll es erstmal nicht gehen.

Die große Schwierigkeit, die jetzt besteht, ist, dass alle Einträge nummeriert ausgegeben werden und dabei die Liste nach dem Author sortiert wird, unabhängig davon, ob es sich um einen Article, Book oder weiß der Geier handelt.
Clara ist offline   Mit Zitat antworten
Alt 02.02.2012, 10:53  
Benutzer
 
Registriert seit: 27.07.2011
Beiträge: 40
PHP-Kenntnisse:
Anfänger
Clara befindet sich auf einem aufstrebenden Ast
Standard

vermutlich hab ich mich doch geirrt, denn die angaben sind tatsächlich sortiert
Clara ist offline   Mit Zitat antworten
Alt 02.02.2012, 10:54  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.865
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

du kannst nix sort'en das nich existiert, das sort betrifft den artikel, also gib das auch an. bibo-knoten hat bei dir keinen kindknoten author, sondern der unterknoten bibs_article hat einen weiteren kindknoten author
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 02.02.2012, 11:15  
Benutzer
 
Registriert seit: 27.07.2011
Beiträge: 40
PHP-Kenntnisse:
Anfänger
Clara befindet sich auf einem aufstrebenden Ast
Standard

ok, dann vielleicht eine triviale frage:
wie kann ich alle einträge mit einem zeilenumbruch am ende ausgeben

PHP-Code:
 <xsl:for-each select="bibliography/bibo">
 <
p><xsl:value-of select="." /></p>
 
 
 </
xsl:for-each
wenn es bereits sortiert ist, muss ich einfach noch nur ne if-anweisung einbauen, um welchen eintrag es sich handelt, um die reihenfolge der ausgabe festzulegen
Clara ist offline   Mit Zitat antworten
Alt 02.02.2012, 11:22  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.865
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

<br />-Tags erzwingen in HTML-Markups Zeilenumbrüche.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 02.02.2012, 11:26  
Benutzer
 
Registriert seit: 27.07.2011
Beiträge: 40
PHP-Kenntnisse:
Anfänger
Clara befindet sich auf einem aufstrebenden Ast
Standard

danke...das ist mir bewusst

nur reiht er mir trotzdem alles ohne punkt und komma an ... *grml*
Clara ist offline   Mit Zitat antworten
Alt 02.02.2012, 11:28  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.865
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Meine Glaskugel die mir genau anzeigt wie du das umgesetzt hast dient hier grad als Aschenbecher, magst mal den Source posten der dein gegrummel betrifft ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 02.02.2012, 11:40  
Benutzer
 
Registriert seit: 27.07.2011
Beiträge: 40
PHP-Kenntnisse:
Anfänger
Clara befindet sich auf einem aufstrebenden Ast
Standard

ok, ich leer mal den aschenbecher zur klaren sicht

das sortierproblem hat sich ja nun in luft aufgelöst
die schwierigkeit nun ist es, dass alle einträge der xml etwa so aufgelistet werden sollten:

Zitat:
[1] B. Abadie, On the K-theory of non-commutative Heisenberg manifolds, Ph.D. thesis, Univ. of California at Berkeley (1992).

[2] B. Abadie, “Vector bundles” over quantum Heisenberg manifolds, in: Algebraic Methods in Operator Theory, edited by R. Curto and P. E. T. Jørgensen (Birkhäuser, Boston - Basel - Berlin, 1994), p. 307-315.

[3] B. Abadie, Generalized fixed-point algebras of certain actions on crossed products, Pacific J. Math. 171, 1-21 (1995).
Hier ist die XML zu finden: http://www.ikome.de/media/new_content.xml
Und hier die (zum 100sten Mal) bereinigte XST: http://www.ikome.de/media/step.xsl
Clara ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mittelschweres CKEditor Problemchen maikh Off-Topic Diskussionen 6 23.01.2012 16:44
Adventskalener - Problemchen rs_2009 PHP Tipps 2009 9 28.11.2009 11:10
[Erledigt] Kleines Problemchen mit Zufallscode 22hase PHP Tipps 2009 9 18.02.2009 20:49
PHP+MYSQL+IF-Abfrage Problemchen... Te7Ris PHP Tipps 2008 22 19.05.2008 17:47
folgendes problemchen havanna PHP Tipps 2008 7 09.01.2008 13:59
Bildtechnisches Problemchen Kann gelöscht werden PHP Tipps 2007 11 20.11.2005 21:46
Komisches Problemchen PHP Tipps 2005-2 15 19.09.2005 16:34
Komisches Problemchen mit Tabelle in Html und PHP PHP Tipps 2005-2 5 21.06.2005 14:29
ereg_replace Problemchen [simpel!] PHP Tipps 2005 12 21.01.2005 02:23
mysql_query ORDER BY - Problemchen Magic PHP Tipps 2005 3 20.01.2005 07:13
wieder ein DIV problemchen HTML, Usability und Barrierefreiheit 6 15.12.2004 15:20
[Erledigt] Kleines Mozilla Problemchen Off-Topic Diskussionen 5 05.10.2004 13:59
problemchen PHP Tipps 2004 5 13.07.2004 22:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
<xsl:value-of select= zeilenumbruch erzwingen, abadie algebraic methods in operator theory r. curto and p. e. t. jørgensen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum