Infos zur automatischen Erstellung eines Literaturverzeichnisses in Word 2007 nach Vorgaben der AKAD FH mit Hilfe einer neuen XSL-Style-Datei.
Alle Angaben ohne Gewähr! Verbesserungsvorschläge willkommen!
1.) Allgemeine Infos zur XSL-Style-Datei von Word 2007:
Erstellen eines Literaturverzeichnisses: http://office.microsoft.com/de-ch/word/ ... 21031.aspx
Infos zur XSL-Style-Datei: http://blogs.msdn.com/microsoft_office_ ... -1011.aspx
XSLT-Referenz: http://www.xml-xslt.de/index.php?xsltreferenz
Ablage der XSL-Style-Dateien: C:\Program Files\Microsoft Office\Office12\Bibliography\Style
Literaturverzeichnis-Quelldaten: APPDATA%\Microsoft\Bibliography\Sources.xml
Dateien zum Download: example.xsl und AKAD.xsl
------------------------------------------------------------------------------------------------------------------
2.) Nutzung der XSL-Style-Datei für die AKAD-FH:
Dateiname: AKAD.xsl
Speichern im Verzeichnis: \Program Files\Microsoft Office\Office12\Bibliography\Style
System für Quellenangaben:
Quellenangaben mit Kurztiteln im laufenden Text: Zur Kennzeichnung der benutzten Quelle wird dabei ein Wort des Titels der Veröffentlichung verwendet. Ausnahmsweise kann als Kurztitel auch ein Wort gewählt werden, das nicht im Titel erscheint. Als Quellenangabe erscheint dann im Text der Arbeit lediglich der Familienname des Verfassers, der Kurztitel der Quelle und die Seitenzahl. Diese drei Angaben werden in runde Klammern gesetzt (....). Im Literaturverzeichnis muss dann der Kurztitel durch Unterstreichen oder Fettdruck gekennzeichnet werden.
Hinweise:
1.) Der Fettdruck im Titel des Literaturverzeichnisses erfolg automatisch für den Teil, welcher identisch mit dem Kurztitel ist.
2.) In XSL können wohl keine Tabulatoren eingegeben werden (falls doch, bitte Info). Als Lösung wird nun ein Platzhalter erzeugt (#TAB#), der in Word in einen Tabulator (^t) umgewandelt werden muss. Ebenfalls ist bei Nutzung meiner XSL-Version 2.0 der Zeilenumbruch-Platzhalter (#CR#) in Word durch ^p umzuwandeln. Im Anschluss dann nur noch einen hängenden Sondereinzug im Absatzformat (4-5cm) festlegen.
Unterstützte Zitate in dieser Version:
Zitat aus Büchern => Quellentyp: Buch (Book)
Zitat aus Aufsätzen aus Sammelwerken etc. => Quellentyp: Verschiedenes (Misc)
Zitat aus Aufsätzen aus Zeitschriften => Quellentyp: Artikel in einer Zeitschrift (ArticleInAPeriodical)
Zitat aus Zeitungsartikeln => Quellentyp: Zeitungsartikel (JournalArticle)
Zitat aus Quellen aus dem Internet => Quellentyp: Website (InternetSite)oder Quellentyp: Dokument von einer Website (DocumentFromInternetSite)
Interviews, Gespräche mit Kollegen oder Ähnliches => Quellentyp: Interview (Interview)
SQL03: AKAD-Literaturverzeichnis in Word 2007
AKAD-Literaturverzeichnis in Word 2007: AKAD.xsl
Leider ist mir ein Hochladen (upload) der Datei AKAD.xsl nicht möglich. Deswegen bitte den nachfolgenden grünen XSL-Quellcode in eine ASCII-Textdatei abspeichern und die Datei AKAD.xsl nennen. Anschließend bitte in folgendes Verzeichnis kopieren: C:\Program Files\Microsoft Office\Office12\Bibliography\Style
Diese vorliegende XSL-Version fängt nicht alle möglichen Eventualitäten ab, ist aber wesentlich schlanker als die seitens Microsoft vorgegebenen Syles (wie z.B. APA.xsl), so dass man sich leichter für eigene Modifikationen zurechtfinden sollte.
Leider ist mir ein Hochladen (upload) der Datei AKAD.xsl nicht möglich. Deswegen bitte den nachfolgenden grünen XSL-Quellcode in eine ASCII-Textdatei abspeichern und die Datei AKAD.xsl nennen. Anschließend bitte in folgendes Verzeichnis kopieren: C:\Program Files\Microsoft Office\Office12\Bibliography\Style
Diese vorliegende XSL-Version fängt nicht alle möglichen Eventualitäten ab, ist aber wesentlich schlanker als die seitens Microsoft vorgegebenen Syles (wie z.B. APA.xsl), so dass man sich leichter für eigene Modifikationen zurechtfinden sollte.
Zuletzt geändert von WI am 21.02.08 23:26, insgesamt 1-mal geändert.
Code: Alles auswählen
<?xml version="1.0" ?>
<!-- comment beginning ===============================================================================================
created bibliography sources are all listed in: %APPDATA%\Microsoft\Bibliography\Sources.xml
all bibliography styles are stored in: C:\Program Files\Microsoft Office\Office12\Bibliography\Style
name of this bibliography style is: AKAD.xsl
bibliography / style for: AKAD
supportedSourceTypes: Book, Misc, Report, ArticleInAPeriodical, JournalArticle
InternetSite, DocumentFromInternetSite, Interview
Author und Version: WI / V1.2
AAAA) first settings
================================================================================================== ending comment -->
<!-- List of the external resources that we are referencing -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography">
<!-- When the bibliography or citation is in your document, it's just HTML -->
<xsl:output method="html" encoding="us-ascii"/>
<!-- match the root element, and dispatch to its children -->
<xsl:template match="/">
<xsl:apply-templates select="*" />
</xsl:template>
<!--set an optional version number for this style-->
<xsl:template match="b:version">
<xsl:text>2008.02.21</xsl:text>
</xsl:template>
<!-- Defines the name of the style in the References dropdown -->
<xsl:template match="b:StyleName">
<xsl:text>AKAD</xsl:text>
</xsl:template>
<!-- comment beginning ===============================================================================================
BBBB) Defines the input formatfor different SourceTypes (book, report, website etc.)
Specifies which fields should appear in the Create Source dialog when in a collapsed state
(The Show All Bibliography Fieldscheckbox is cleared)
================================================================================================== ending comment -->
<!-- beginning advice
possible values for ImportantFields (for SourceType) are:
AlbumTitle (SoundRecording)
Author
BookTitle
Broadcaster (Interview)
BroadcastTitle (Interview)
CaseNumber
ChapterNumber
City
Comments
ConferenceName
ConferenceName Country
CountryRegion
CountryRegion
Court
Day
DayAccessed (DocumentFromInternetSite)
Department
Distributor
Edition
Editor
InternetSiteTitle (DocumentFromInternetSite)
Issue
JournalName (JournalArticle)
LCID
Medium (SoundRecording)
Month
MonthAccessed (DocumentFromInternetSite)
NumberVolumes
Pages
PatentNumber (Patent)
PeriodicalTitle (ArticleInAPeriodical)
ProductionCompany
ProductionCompany (SoundRecording)
PublicationTitle
Publisher
ShortTitle
StandardNumber
StateProvince
Station (Interview)
Theater (Performance)
Title
Translator
URL (DocumentFromInternetSite)
Volume
Volume
Year
YearAccessed (DocumentFromInternetSite)
The children of Author include:
Artist
Author
BookAuthor (??)
Compiler
Composer
Conductor
Counsel
Director
Editor
Interviewee
Interviewer
Inventor
Performer
ProducerName
Translator
Writer
possible values for SourceType are:
Art
ArticleInAPeriodical
Book
BookSection
Case
ConferenceProceedings
DocumentFromInternetSite
ElectronicSource
Film
InternetSite
Interview
JournalArticle
MagOrNewsArticle (??)
Misc
Patent
Performance
Report
SoundRecording
ending advice -->
<!-- ============================================================================================================ -->
<!-- input mask for Book = Buch -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Book']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Misc = Aufsatz aus Sammelwerken etc. -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Misc']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:PublicationTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Publisher</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Report = Bericht Aufsatz etc. aus Sammelband -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Report']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Publisher</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for ArticleInAPeriodical = Aufsatz aus Zeitschrift -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'ArticleInAPeriodical']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:PeriodicalTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Volume</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Issue</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for JournalArticle = Zeitungsartikel -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'JournalArticle']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Volume</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Issue</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for InternetSite = Website -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'InternetSite']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:URL</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:YearAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:MonthAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:DayAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for DocumentFromInternetSite = Dokument einer Website -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'DocumentFromInternetSite']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:URL</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:YearAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:MonthAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:DayAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Interview = Interview -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Interview']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Interviewee/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- comment beginning ===============================================================================================
CCCC) Defines the output format with important fields for different SourceTypes (book, report, website etc.)
================================================================================================== ending comment -->
<!-- global templates for the output format of the SourceTypes -->
<!-- list of all of authors -->
<xsl:template name="AllAuthor">
<xsl:variable name="cAuthors">
<xsl:value-of select="count(b:Author/b:Author/b:NameList/b:Person)" />
</xsl:variable>
<xsl:for-each select="b:Author/b:Author/b:NameList/b:Person">
<b:Person>
<xsl:if test="string-length(./b:Last)>0">
<b:Last>
<xsl:value-of select="./b:Last"/>
<xsl:text>, </xsl:text>
</b:Last>
</xsl:if>
<xsl:if test="string-length(./b:First)>0">
<b:First>
<xsl:value-of select="./b:First"/>
<xsl:choose>
<xsl:when test="position() = $cAuthors">
<xsl:text>:</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>; </xsl:text>
</xsl:otherwise>
</xsl:choose>
</b:First>
</xsl:if>
</b:Person>
</xsl:for-each>
<xsl:call-template name="Tabulator"/>
</xsl:template>
<!-- transform Title with bold ShortTitle -->
<xsl:template name="TitelBoldShort">
<xsl:variable name="title" select="b:Title"/>
<xsl:variable name="shorttitle" select="b:ShortTitle"/>
<xsl:choose>
<xsl:when test="contains($title, $shorttitle)">
<xsl:value-of select="substring-before($title, $shorttitle)"/>
<b>
<xsl:value-of select="$shorttitle"/>
</b>
<xsl:value-of select="substring-after($title, $shorttitle)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$title"/>
<xsl:text> (</xsl:text>
<b>
<xsl:value-of select="$shorttitle"/>
</b>
<xsl:text>) </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- transform City if no value -->
<xsl:template name="CityWithCheck">
<xsl:variable name="city" select="b:City"/>
<xsl:choose>
<xsl:when test="string-length($city)=0">
<xsl:text>o. O. </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$city"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- transform Year if no value -->
<xsl:template name="YearWithCheck">
<xsl:variable name="year" select="b:Year"/>
<xsl:choose>
<xsl:when test="string-length($year)=0">
<xsl:text>o. J. </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$year"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- transform Pages if value -->
<xsl:template name="PagesWithCheck">
<xsl:variable name="pages" select="b:Pages"/>
<xsl:choose>
<xsl:when test="string-length($pages)>0">
<xsl:text>S. </xsl:text>
<xsl:value-of select="$pages"/>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- transform Issue if value -->
<xsl:template name="IssueWithCheck">
<xsl:variable name="issue" select="b:Issue"/>
<xsl:choose>
<xsl:when test="string-length($issue)>0">
<xsl:value-of select="$issue"/>
<xsl:text>, </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- transform Volume if value -->
<xsl:template name="VolumeWithCheck">
<xsl:variable name="volume" select="b:Volume"/>
<xsl:choose>
<xsl:when test="string-length($volume)>0">
<xsl:value-of select="$volume"/>
<xsl:text>, </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- transform Publication if value -->
<xsl:template name="PublicationWithCheck">
<xsl:variable name="publisher" select="b:Publisher"/>
<xsl:choose>
<xsl:when test="string-length($publisher)>0">
<xsl:text> hrsg. von: </xsl:text>
<xsl:value-of select="$publisher"/>
</xsl:when>
</xsl:choose>
<xsl:variable name="publicationTitle" select="b:PublicationTitle"/>
<xsl:choose>
<xsl:when test="string-length($publicationTitle)>0">
<xsl:text> in: </xsl:text>
<xsl:value-of select="$publicationTitle"/>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- Tabulator: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="Tabulator">
<xsl:text>#TAB#</xsl:text>
</xsl:template>
<!-- ============================================================================================================ -->
<!-- output format for different SourceType-->
<!-- global template for output format -->
<xsl:template match="b:Source[b:SourceType = 'Book']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Edition"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="CityWithCheck"/>
<xsl:text> </xsl:text>
<xsl:call-template name="YearWithCheck"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Misc']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="PublicationWithCheck"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Edition"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="CityWithCheck"/>
<xsl:text> </xsl:text>
<xsl:call-template name="YearWithCheck"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="PagesWithCheck"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Report']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Edition"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="CityWithCheck"/>
<xsl:text> </xsl:text>
<xsl:call-template name="YearWithCheck"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'ArticleInAPeriodical']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text> in: </xsl:text>
<xsl:value-of select="b:PeriodicalTitle"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="VolumeWithCheck"/>
<xsl:call-template name="IssueWithCheck"/>
<xsl:call-template name="YearWithCheck"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="PagesWithCheck"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'JournalArticle']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text> in: </xsl:text>
<xsl:value-of select="b:JournalName"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="VolumeWithCheck"/>
<xsl:call-template name="IssueWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Day"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Month"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Year"/>
<xsl:text>, </xsl:text>
<xsl:call-template name="PagesWithCheck"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'InternetSite']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:URL"/>
<xsl:text>, Zugriff am: </xsl:text>
<xsl:value-of select="b:DayAccessed"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:MonthAccessed"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:YearAccessed"/>
<xsl:text>, Ausdruck am: </xsl:text>
<xsl:value-of select="b:Day"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Month"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Year"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'DocumentFromInternetSite']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:URL"/>
<xsl:text>, Zugriff am: </xsl:text>
<xsl:value-of select="b:DayAccessed"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:MonthAccessed"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:YearAccessed"/>
<xsl:text>, Ausdruck am: </xsl:text>
<xsl:value-of select="b:Day"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Month"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Year"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Interview']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:value-of select="b:Author/b:Interviewee/b:NameList/b:Person/b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Author/b:Interviewee/b:NameList/b:Person/b:First"/>
<xsl:text>:</xsl:text>
<xsl:call-template name="Tabulator"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Day"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Month"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Year"/>
</p>
</xsl:template>
<!-- ============================================================================================================ -->
<!-- Defines the output of the entire Bibliography -->
<xsl:template match="b:Bibliography">
<html xmlns="http://www.w3.org/TR/REC-html40">
<body>
<xsl:apply-templates select ="*">
<xsl:sort select="b:Author/*/b:NameList/b:Person"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<b:SortingString>
<xsl:value-of select="b:Author/*/b:NameList/b:Person"/>
</b:SortingString>
<!-- comment beginning ===============================================================================================
DDDD) Defines the output of the Citation for different SourceTypes (book, report, website etc.)
================================================================================================== ending comment -->
<!-- one output-setting for all citation independent of the SourceType (book, report, website etc.) -->
<xsl:template match="b:Citation">
<html xmlns="http://www.w3.org/TR/REC-html40">
<body>
<xsl:text>(</xsl:text>
<!-- output name -->
<xsl:choose>
<!-- if SourceType='Interview' than use name of Interviewee -->
<xsl:when test="/b:Citation/b:Source/b:SourceType='Interview'">
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Interviewee/b:NameList/b:Person/b:Last"/>
</xsl:when>
<!-- if SourceType='Art' than use name of Artist -->
<xsl:when test="/b:Citation/b:Source/b:SourceType='Art'">
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Artist/b:NameList/b:Person/b:Last"/>
</xsl:when>
<!-- default output is name of auther -->
<xsl:otherwise>
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Author/b:NameList/b:Person/b:Last"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>, </xsl:text>
<!-- output shorttitle -->
<xsl:variable name="shorttitle" select="/b:Citation/b:Source/b:ShortTitle"/>
<xsl:value-of select="$shorttitle"/>
<!-- output page -->
<xsl:variable name="pages" select="/b:Citation/b:Source/b:Pages"/>
<xsl:choose>
<xsl:when test="$pages!='0' and string-length($pages)>0">
<xsl:text>, S. </xsl:text>
<xsl:value-of select="$pages"/>
</xsl:when>
</xsl:choose>
<xsl:text>)</xsl:text>
</body>
</html>
</xsl:template>
<!-- comment beginning ===============================================================================================
EEEE) End
================================================================================================== ending comment -->
<xsl:template match="text()" />
</xsl:stylesheet>
Da zurzeit noch so wenig im Internet über XSL und Word 2007 zu finden ist, ist hier sicherlich noch Bedarf - und ich denke jeder sollte hier einmal einen Beitrag leisten 
Ich bin kein XSL-Profi, aber ich denke als erste Anregung reicht das. Würde mich auch über weitere Ergänzungen und Tipps hier im Forum freuen.

Ich bin kein XSL-Profi, aber ich denke als erste Anregung reicht das. Würde mich auch über weitere Ergänzungen und Tipps hier im Forum freuen.
Code: Alles auswählen
<?xml version="1.0" ?>
<!-- comment beginning ===============================================================================================
created bibliography sources are all listed in: %APPDATA%\Microsoft\Bibliography\Sources.xml
all bibliography styles are stored in: C:\Program Files\Microsoft Office\Office12\Bibliography\Style
name of this bibliography style is: AKAD.xsl
bibliography / style for: AKAD
supportedSourceTypes: Book, Misc, Report, ArticleInAPeriodical, JournalArticle
InternetSite, DocumentFromInternetSite, Interview
Author and Version: WI / V2.0
AAAA) first settings
================================================================================================== ending comment -->
<!-- List of the external resources that we are referencing -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography">
<!-- When the bibliography or citation is in your document, it's just HTML -->
<xsl:output method="html" encoding="us-ascii"/>
<!-- match the root element, and dispatch to its children -->
<xsl:template match="/">
<xsl:apply-templates select="*" />
</xsl:template>
<!--set an optional version number for this style-->
<xsl:template match="b:version">
<xsl:text>2008.02.24</xsl:text>
</xsl:template>
<!-- Defines the name of the style in the References dropdown -->
<xsl:template match="b:StyleName">
<xsl:text>AKAD</xsl:text>
</xsl:template>
<!-- comment beginning ===============================================================================================
BBBB) Defines the input formatfor different SourceTypes (book, report, website etc.)
Specifies which fields should appear in the Create Source dialog when in a collapsed state
(The Show All Bibliography Fieldscheckbox is cleared)
================================================================================================== ending comment -->
<!-- beginning advice
possible values for ImportantFields (for SourceType) are:
AlbumTitle (SoundRecording)
Author
BookTitle
Broadcaster (Interview)
BroadcastTitle (Interview)
CaseNumber
ChapterNumber
City
Comments
ConferenceName
ConferenceName Country
CountryRegion
CountryRegion
Court
Day
DayAccessed (DocumentFromInternetSite)
Department
Distributor
Edition
Editor
InternetSiteTitle (DocumentFromInternetSite)
Issue
JournalName (JournalArticle)
LCID
Medium (SoundRecording)
Month
MonthAccessed (DocumentFromInternetSite)
NumberVolumes
Pages
PatentNumber (Patent)
PeriodicalTitle (ArticleInAPeriodical)
ProductionCompany
ProductionCompany (SoundRecording)
PublicationTitle
Publisher
ShortTitle
StandardNumber
StateProvince
Station (Interview)
Theater (Performance)
Title
Translator
URL (DocumentFromInternetSite)
Volume
Volume
Year
YearAccessed (DocumentFromInternetSite)
The children of Author include:
Artist
Author
BookAuthor (??)
Compiler
Composer
Conductor
Counsel
Director
Editor
Interviewee
Interviewer
Inventor
Performer
ProducerName
Translator
Writer
possible values for SourceType are:
Art
ArticleInAPeriodical
Book
BookSection
Case
ConferenceProceedings
DocumentFromInternetSite
ElectronicSource
Film
InternetSite
Interview
JournalArticle
MagOrNewsArticle (??)
Misc
Patent
Performance
Report
SoundRecording
ending advice -->
<!-- ============================================================================================================ -->
<!-- input mask for Book = Buch -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Book']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Misc = Aufsatz aus Sammelwerken etc. -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Misc']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:PublicationTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Publisher</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Report = Bericht Aufsatz etc. aus Sammelband -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Report']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for ArticleInAPeriodical = Aufsatz aus Zeitschrift -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'ArticleInAPeriodical']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:PeriodicalTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Volume</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Issue</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for JournalArticle = Zeitungsartikel -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'JournalArticle']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Volume</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Issue</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for InternetSite = Website -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'InternetSite']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:URL</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:YearAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:MonthAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:DayAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for DocumentFromInternetSite = Dokument einer Website -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'DocumentFromInternetSite']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:URL</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:YearAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:MonthAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:DayAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Interview = Interview -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Interview']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Interviewee/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- comment beginning ===============================================================================================
CCCC) Defines the output format with important fields for different SourceTypes (book, report, website etc.)
================================================================================================== ending comment -->
<!-- global templates for the output format of the SourceTypes -->
<!-- output of all of authors -->
<xsl:template name="AllAuthor">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="cAuthors">
<xsl:value-of select="count(b:Author/b:Author/b:NameList/b:Person)" />
</xsl:variable>
<xsl:for-each select="b:Author/b:Author/b:NameList/b:Person">
<b:Person>
<xsl:choose>
<!-- warning: author without LastName -->
<xsl:when test="string-length(./b:Last)=0">
<b:Last>
<xsl:text>!!NO NAME!!</xsl:text>
</b:Last>
</xsl:when>
<!-- output: author with Last- and FirstName -->
<xsl:when test="string-length(./b:First)>0">
<b:First>
<xsl:value-of select="./b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="./b:First"/>
</b:First>
</xsl:when>
<!-- output: author only with LastName -->
<xsl:when test="string-length(./b:First)=0">
<b:First>
<xsl:value-of select="./b:Last"/>
</b:First>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="position() = $cAuthors">
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">:</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="Tabulator"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>;</xsl:text>
<xsl:call-template name="CarriageReturn"/>
</xsl:otherwise>
</xsl:choose>
</b:Person>
</xsl:for-each>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output of all of Interviewee -->
<xsl:template name="AllInterviewee">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="cAuthors">
<xsl:value-of select="count(b:Author/b:Interviewee/b:NameList/b:Person)" />
</xsl:variable>
<xsl:for-each select="b:Author/b:Interviewee/b:NameList/b:Person">
<b:Person>
<xsl:choose>
<!-- warning: author without LastName -->
<xsl:when test="string-length(./b:Last)=0">
<b:Last>
<xsl:text>!!NO NAME!!</xsl:text>
</b:Last>
</xsl:when>
<!-- output: author with Last- and FirstName -->
<xsl:when test="string-length(./b:First)>0">
<b:First>
<xsl:value-of select="./b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="./b:First"/>
</b:First>
</xsl:when>
<!-- output: author only with LastName -->
<xsl:when test="string-length(./b:First)=0">
<b:First>
<xsl:value-of select="./b:Last"/>
</b:First>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="position() = $cAuthors">
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">:</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="Tabulator"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>;</xsl:text>
<xsl:call-template name="CarriageReturn"/>
</xsl:otherwise>
</xsl:choose>
</b:Person>
</xsl:for-each>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed Title with bold ShortTitle -->
<xsl:template name="TitelBoldShort">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<!-- Output Value-->
<xsl:variable name="title" select="b:Title"/>
<xsl:variable name="shorttitle" select="b:ShortTitle"/>
<xsl:choose>
<xsl:when test="contains($title, $shorttitle)">
<xsl:value-of select="substring-before($title, $shorttitle)"/>
<b>
<xsl:value-of select="$shorttitle"/>
</b>
<xsl:value-of select="substring-after($title, $shorttitle)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$title"/>
<xsl:text> (</xsl:text>
<b>
<xsl:value-of select="$shorttitle"/>
</b>
<xsl:text>) </xsl:text>
</xsl:otherwise>
</xsl:choose>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed City if no value -->
<xsl:template name="CityWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="city" select="b:City"/>
<xsl:choose>
<xsl:when test="string-length($city)>0">
<xsl:value-of select="$city"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">#SPACE#</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>o.O. </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed Year if no value -->
<xsl:template name="DateWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="Year" select="b:Year"/>
<xsl:variable name="Month" select="b:Month"/>
<xsl:variable name="Day" select="b:Day"/>
<xsl:choose>
<xsl:when test="string-length($Year)>0">
<xsl:if test="string-length($Month)>0">
<xsl:if test="string-length($Day)>0">
<xsl:value-of select="$Day"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Month"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Year"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>o.J. </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed Year if no value -->
<xsl:template name="DateAccessedWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="Year" select="b:YearAccessed"/>
<xsl:variable name="Month" select="b:MonthAccessed"/>
<xsl:variable name="Day" select="b:DayAccessed"/>
<xsl:choose>
<xsl:when test="string-length($Year)>0">
<xsl:if test="string-length($Month)>0">
<xsl:if test="string-length($Day)>0">
<xsl:value-of select="$Day"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Month"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Year"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>o.J. </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Pages if value -->
<xsl:template name="PagesWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="pages" select="b:Pages"/>
<xsl:choose>
<xsl:when test="string-length($pages)>0">
<xsl:text>S. </xsl:text>
<xsl:value-of select="$pages"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Edition if value -->
<xsl:template name="EditionWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="edition" select="b:Edition"/>
<xsl:choose>
<xsl:when test="string-length($edition)>0">
<xsl:value-of select="$edition"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Issue if value -->
<xsl:template name="IssueWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="issue" select="b:Issue"/>
<xsl:choose>
<xsl:when test="string-length($issue)>0">
<xsl:value-of select="$issue"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Volume if value -->
<xsl:template name="VolumeWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="volume" select="b:Volume"/>
<xsl:choose>
<xsl:when test="string-length($volume)>0">
<xsl:value-of select="$volume"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Volume if value -->
<xsl:template name="URLWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="URL" select="b:URL"/>
<xsl:choose>
<xsl:when test="string-length($URL)>0">
<xsl:value-of select="$URL"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output PeriodicalTitle if value -->
<xsl:template name="PeriodicalTitleWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"> in: </xsl:with-param>
</xsl:call-template>
<xsl:variable name="PeriodicalTitle" select="b:PeriodicalTitle"/>
<xsl:choose>
<xsl:when test="string-length($PeriodicalTitle)>0">
<xsl:value-of select="$PeriodicalTitle"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output JournalName if value -->
<xsl:template name="JournalNameTitleWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"> in: </xsl:with-param>
</xsl:call-template>
<xsl:variable name="JournalName" select="b:JournalName"/>
<xsl:choose>
<xsl:when test="string-length($JournalName)>0">
<xsl:value-of select="$JournalName"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Publication (publisher and publicationTitle) if value -->
<xsl:template name="PublicationWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="publisher" select="b:Publisher"/>
<xsl:choose>
<xsl:when test="string-length($publisher)>0">
<xsl:text> hrsg. von: </xsl:text>
<xsl:value-of select="$publisher"/>
</xsl:when>
</xsl:choose>
<xsl:variable name="publicationTitle" select="b:PublicationTitle"/>
<xsl:choose>
<xsl:when test="string-length($publicationTitle)>0">
<xsl:text> in: </xsl:text>
<xsl:value-of select="$publicationTitle"/>
</xsl:when>
</xsl:choose>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- Tabulator: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="Tabulator">
<xsl:text>#TAB#</xsl:text>
</xsl:template>
<!-- CarriageReturn: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="CarriageReturn">
<xsl:text>#CR#</xsl:text>
</xsl:template>
<!-- LineBreak: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="LineBreak">
<xsl:text>#LB#</xsl:text>
</xsl:template>
<!-- EndOfParagraph: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="EndOfParagraph">
<xsl:text>.</xsl:text>
<xsl:call-template name="CarriageReturn"/>
</xsl:template>
<!-- ............................................................................................................. -->
<xsl:template name="Separator">
<xsl:param name="SeparatorValue"/>
<xsl:param name="SeparatorDefault"/>
<!-- Separator -->
<xsl:choose>
<!-- use parameter as SeparatorValue -->
<xsl:when test="$SeparatorValue='#SPACE#'">
</xsl:when>
<xsl:when test="string-length($SeparatorValue)>0">
<xsl:value-of select="$SeparatorValue"/>
</xsl:when>
<!-- use SeparatorDefault -->
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$SeparatorDefault='#SPACE#'">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$SeparatorDefault"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ============================================================================================================ -->
<!-- output format for different SourceType-->
<!-- global template for output format -->
<xsl:template match="b:Source[b:SourceType = 'Book']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="EditionWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Misc']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort">
<xsl:with-param name="EndSeparator">#SPACE#</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PublicationWithCheck"/>
<xsl:call-template name="EditionWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PagesWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Report']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'ArticleInAPeriodical']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="PeriodicalTitleWithCheck"/>
<xsl:call-template name="VolumeWithCheck"/>
<xsl:call-template name="IssueWithCheck"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PagesWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'JournalArticle']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="JournalNameTitleWithCheck"/>
<xsl:call-template name="VolumeWithCheck"/>
<xsl:call-template name="IssueWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PagesWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'InternetSite']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="URLWithCheck"/>
<xsl:call-template name="DateAccessedWithCheck">
<xsl:with-param name="StartSeparator"> Zugriff am: </xsl:with-param>
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="StartSeparator"> Ausdruck am: </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'DocumentFromInternetSite']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="URLWithCheck"/>
<xsl:call-template name="DateAccessedWithCheck">
<xsl:with-param name="StartSeparator"> Zugriff am: </xsl:with-param>
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="StartSeparator"> Ausdruck am: </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Interview']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllInterviewee"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="StartSeparator"> Ausdruck am: </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<!-- using the fields is also possible -->
<xsl:template match="b:Source[b:SourceType = 'temp-manual-output']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:value-of select="b:Author/b:Interviewee/b:NameList/b:Person/b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Author/b:Interviewee/b:NameList/b:Person/b:First"/>
<xsl:text>:</xsl:text>
<xsl:value-of select="b:Day"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Month"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Year"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<!-- ============================================================================================================ -->
<!-- Defines the output of the entire Bibliography -->
<xsl:template match="b:Bibliography">
<html xmlns="http://www.w3.org/TR/REC-html40">
<body>
<xsl:apply-templates select ="*">
<xsl:sort select="b:Author/*/b:NameList/b:Person"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<b:SortingString>
<xsl:value-of select="b:Author/*/b:NameList/b:Person"/>
</b:SortingString>
<!-- comment beginning ===============================================================================================
DDDD) Defines the output of the Citation for different SourceTypes (book, report, website etc.)
================================================================================================== ending comment -->
<!-- one output-setting for all citation independent of the SourceType (book, report, website etc.) -->
<xsl:template match="b:Citation">
<html xmlns="http://www.w3.org/TR/REC-html40">
<body>
<xsl:text>(</xsl:text>
<!-- output name -->
<xsl:choose>
<!-- if SourceType='Interview' than use name of Interviewee -->
<xsl:when test="/b:Citation/b:Source/b:SourceType='Interview'">
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Interviewee/b:NameList/b:Person/b:Last"/>
</xsl:when>
<!-- if SourceType='Art' than use name of Artist -->
<xsl:when test="/b:Citation/b:Source/b:SourceType='Art'">
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Artist/b:NameList/b:Person/b:Last"/>
</xsl:when>
<!-- default output is name of auther -->
<xsl:otherwise>
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Author/b:NameList/b:Person/b:Last"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>, </xsl:text>
<!-- output shorttitle -->
<xsl:variable name="shorttitle" select="/b:Citation/b:Source/b:ShortTitle"/>
<xsl:value-of select="$shorttitle"/>
<!-- output page -->
<xsl:variable name="pages" select="/b:Citation/b:Source/b:Pages"/>
<xsl:choose>
<xsl:when test="$pages!='0' and string-length($pages)>0">
<xsl:text>, S. </xsl:text>
<xsl:value-of select="$pages"/>
</xsl:when>
</xsl:choose>
<xsl:text>)</xsl:text>
</body>
</html>
</xsl:template>
<!-- comment beginning ===============================================================================================
EEEE) End
================================================================================================== ending comment -->
<xsl:template match="text()" />
</xsl:stylesheet>
So sollte das Problem mit den Tabulatoren und dem CR in den Griff zu bekommen sein:
<!-- Tabulator: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="Tabulator">
<xsl:text disable-output-escaping="yes"><![CDATA[	]]></xsl:text>
</xsl:template>
<!-- CarriageReturn: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="CarriageReturn">
<xsl:text>
</xsl:text>
</xsl:template>
Gruß Frank
<!-- Tabulator: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="Tabulator">
<xsl:text disable-output-escaping="yes"><![CDATA[	]]></xsl:text>
</xsl:template>
<!-- CarriageReturn: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="CarriageReturn">
<xsl:text>
</xsl:text>
</xsl:template>
Gruß Frank
Hallo Frank,
danke für Deine Infos! Ich habe nun die Platzhalter für Tabulator & CarriageReturn eingebaut.
Ein weiterer Fehler war der, dass in der Zitierung die Seitennummer aus dem Literaturverzeichnis (siehe Bibliography-page) angezeigt wurde. Somit konnte nur einmal in der Quelle eine Angabe zu den Seiten gemacht werden. Wurde die Quelle nochmals verwendet, dann war eine Zitierung mit anderer Seitenzahl nicht möglich (außer als normaler Text). Jetzt kann zu jeder Zitierung das "Zitat bearbeitet" werden (über kleinen Pfeil am Zitat für die "Zitatoptionen") und eine separate Seitenzahl (siehe Citation-page) hinzugefügt werden.
Wer möchte kann auch leicht die Klammern zu den Zitierungen änder oder wegnehmen (suche nach: ..BracketCitation). Wenn nicht im Text die Zitierung eingebaut werden soll, sondern lieber in der Fußzeile, dann einfach die beiden runden Klammern (Open- & CloseBracketCitation) entfernen. Die Nutzung über die Fußzeile erleichtert dann auch Zusätze wie "vergl." oder "in Anlehnung an" etc.
Gruß
WI
danke für Deine Infos! Ich habe nun die Platzhalter für Tabulator & CarriageReturn eingebaut.
Ein weiterer Fehler war der, dass in der Zitierung die Seitennummer aus dem Literaturverzeichnis (siehe Bibliography-page) angezeigt wurde. Somit konnte nur einmal in der Quelle eine Angabe zu den Seiten gemacht werden. Wurde die Quelle nochmals verwendet, dann war eine Zitierung mit anderer Seitenzahl nicht möglich (außer als normaler Text). Jetzt kann zu jeder Zitierung das "Zitat bearbeitet" werden (über kleinen Pfeil am Zitat für die "Zitatoptionen") und eine separate Seitenzahl (siehe Citation-page) hinzugefügt werden.
Wer möchte kann auch leicht die Klammern zu den Zitierungen änder oder wegnehmen (suche nach: ..BracketCitation). Wenn nicht im Text die Zitierung eingebaut werden soll, sondern lieber in der Fußzeile, dann einfach die beiden runden Klammern (Open- & CloseBracketCitation) entfernen. Die Nutzung über die Fußzeile erleichtert dann auch Zusätze wie "vergl." oder "in Anlehnung an" etc.
Gruß
WI
Code: Alles auswählen
<?xml version="1.0" ?>
<!-- comment beginning ===============================================================================================
created bibliography sources are all listed in: %APPDATA%\Microsoft\Bibliography\Sources.xml
all bibliography styles are stored in: C:\Program Files\Microsoft Office\Office12\Bibliography\Style
name of this bibliography style is: AKAD2.xsl
bibliography / style for: AKAD
supportedSourceTypes: Book, Misc, Report, ArticleInAPeriodical, JournalArticle
InternetSite, DocumentFromInternetSite, Interview
Author and Version: WI / V3.0
AAAA) first settings
================================================================================================== ending comment -->
<!-- List of the external resources that we are referencing -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography">
<!-- When the bibliography or citation is in your document, it's just HTML -->
<xsl:output method="html" encoding="us-ascii"/>
<!-- match the root element, and dispatch to its children -->
<xsl:template match="/">
<xsl:apply-templates select="*" />
</xsl:template>
<!--set an optional version number for this style-->
<xsl:template match="b:version">
<xsl:text>2008.02.24</xsl:text>
</xsl:template>
<!-- Defines the name of the style in the References dropdown -->
<xsl:template match="b:StyleName">
<xsl:text>AKAD2</xsl:text>
</xsl:template>
<!-- comment beginning ===============================================================================================
BBBB) Defines the input formatfor different SourceTypes (book, report, website etc.)
Specifies which fields should appear in the Create Source dialog when in a collapsed state
(The Show All Bibliography Fieldscheckbox is cleared)
================================================================================================== ending comment -->
<!-- beginning advice
possible values for ImportantFields (for SourceType) are:
AlbumTitle (SoundRecording)
Author
BookTitle
Broadcaster (Interview)
BroadcastTitle (Interview)
CaseNumber
ChapterNumber
City
Comments
ConferenceName
ConferenceName Country
CountryRegion
CountryRegion
Court
Day
DayAccessed (DocumentFromInternetSite)
Department
Distributor
Edition
Editor
InternetSiteTitle (DocumentFromInternetSite)
Issue
JournalName (JournalArticle)
LCID
Medium (SoundRecording)
Month
MonthAccessed (DocumentFromInternetSite)
NumberVolumes
Pages
PatentNumber (Patent)
PeriodicalTitle (ArticleInAPeriodical)
ProductionCompany
ProductionCompany (SoundRecording)
PublicationTitle
Publisher
ShortTitle
StandardNumber
StateProvince
Station (Interview)
Theater (Performance)
Title
Translator
URL (DocumentFromInternetSite)
Volume
Volume
Year
YearAccessed (DocumentFromInternetSite)
The children of Author include:
Artist
Author
BookAuthor (??)
Compiler
Composer
Conductor
Counsel
Director
Editor
Interviewee
Interviewer
Inventor
Performer
ProducerName
Translator
Writer
possible values for SourceType are:
Art
ArticleInAPeriodical
Book
BookSection
Case
ConferenceProceedings
DocumentFromInternetSite
ElectronicSource
Film
InternetSite
Interview
JournalArticle
MagOrNewsArticle (??)
Misc
Patent
Performance
Report
SoundRecording
ending advice -->
<!-- ============================================================================================================ -->
<!-- input mask for Book = Buch -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Book']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Misc = Aufsatz aus Sammelwerken etc. -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Misc']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:PublicationTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Publisher</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Report = Bericht Aufsatz etc. aus Sammelband -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Report']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Edition</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for ArticleInAPeriodical = Aufsatz aus Zeitschrift -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'ArticleInAPeriodical']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:PeriodicalTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Volume</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Issue</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for JournalArticle = Zeitungsartikel -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'JournalArticle']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:City</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Pages</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Volume</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Issue</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for InternetSite = Website -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'InternetSite']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:URL</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:YearAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:MonthAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:DayAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for DocumentFromInternetSite = Dokument einer Website -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'DocumentFromInternetSite']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:JournalName</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:URL</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:YearAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:MonthAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:DayAccessed</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- input mask for Interview = Interview -->
<xsl:template match="b:GetImportantFields[b:SourceType = 'Interview']">
<b:ImportantFields>
<b:ImportantField><xsl:text>b:Author/b:Interviewee/b:NameList</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Title</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Year</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Month</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:Day</xsl:text></b:ImportantField>
<b:ImportantField><xsl:text>b:ShortTitle</xsl:text></b:ImportantField>
</b:ImportantFields>
</xsl:template>
<!-- comment beginning ===============================================================================================
CCCC) Defines the output format with important fields for different SourceTypes (book, report, website etc.)
================================================================================================== ending comment -->
<!-- global templates for the output format of the SourceTypes -->
<!-- output of all of authors -->
<xsl:template name="AllAuthor">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="cAuthors">
<xsl:value-of select="count(b:Author/b:Author/b:NameList/b:Person)" />
</xsl:variable>
<xsl:for-each select="b:Author/b:Author/b:NameList/b:Person">
<b:Person>
<xsl:choose>
<!-- warning: author without LastName -->
<xsl:when test="string-length(./b:Last)=0">
<b:Last>
<xsl:text>!!NO NAME!!</xsl:text>
</b:Last>
</xsl:when>
<!-- output: author with Last- and FirstName -->
<xsl:when test="string-length(./b:First)>0">
<b:First>
<xsl:value-of select="./b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="./b:First"/>
</b:First>
</xsl:when>
<!-- output: author only with LastName -->
<xsl:when test="string-length(./b:First)=0">
<b:First>
<xsl:value-of select="./b:Last"/>
</b:First>
</xsl:when>
</xsl:choose>
</b:Person>
<xsl:choose>
<xsl:when test="position() = $cAuthors">
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">:</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="Tabulator"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>;</xsl:text>
<xsl:call-template name="CarriageReturn"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output of all of Interviewee -->
<xsl:template name="AllInterviewee">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="cAuthors">
<xsl:value-of select="count(b:Author/b:Interviewee/b:NameList/b:Person)" />
</xsl:variable>
<xsl:for-each select="b:Author/b:Interviewee/b:NameList/b:Person">
<b:Person>
<xsl:choose>
<!-- warning: author without LastName -->
<xsl:when test="string-length(./b:Last)=0">
<b:Last>
<xsl:text>!!NO NAME!!</xsl:text>
</b:Last>
</xsl:when>
<!-- output: author with Last- and FirstName -->
<xsl:when test="string-length(./b:First)>0">
<b:First>
<xsl:value-of select="./b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="./b:First"/>
</b:First>
</xsl:when>
<!-- output: author only with LastName -->
<xsl:when test="string-length(./b:First)=0">
<b:First>
<xsl:value-of select="./b:Last"/>
</b:First>
</xsl:when>
</xsl:choose>
</b:Person>
<xsl:choose>
<xsl:when test="position() = $cAuthors">
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">:</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="Tabulator"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>;</xsl:text>
<xsl:call-template name="CarriageReturn"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed Title with bold ShortTitle -->
<xsl:template name="TitelBoldShort">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<!-- Output Value-->
<xsl:variable name="title" select="b:Title"/>
<xsl:variable name="shorttitle" select="b:ShortTitle"/>
<xsl:choose>
<xsl:when test="contains($title, $shorttitle)">
<xsl:value-of select="substring-before($title, $shorttitle)"/>
<b>
<xsl:value-of select="$shorttitle"/>
</b>
<xsl:value-of select="substring-after($title, $shorttitle)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$title"/>
<xsl:text> (</xsl:text>
<b>
<xsl:value-of select="$shorttitle"/>
</b>
<xsl:text>) </xsl:text>
</xsl:otherwise>
</xsl:choose>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed City if no value -->
<xsl:template name="CityWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="city" select="b:City"/>
<xsl:choose>
<xsl:when test="string-length($city)>0">
<xsl:value-of select="$city"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">#SPACE#</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>o.O. </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed Year if no value -->
<xsl:template name="DateWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="Year" select="b:Year"/>
<xsl:variable name="Month" select="b:Month"/>
<xsl:variable name="Day" select="b:Day"/>
<xsl:choose>
<xsl:when test="string-length($Year)>0">
<xsl:if test="string-length($Month)>0">
<xsl:if test="string-length($Day)>0">
<xsl:value-of select="$Day"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Month"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Year"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>o.J. </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output transformed Year if no value -->
<xsl:template name="DateAccessedWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="Year" select="b:YearAccessed"/>
<xsl:variable name="Month" select="b:MonthAccessed"/>
<xsl:variable name="Day" select="b:DayAccessed"/>
<xsl:choose>
<xsl:when test="string-length($Year)>0">
<xsl:if test="string-length($Month)>0">
<xsl:if test="string-length($Day)>0">
<xsl:value-of select="$Day"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Month"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$Year"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>o.J. </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Pages if value -->
<xsl:template name="PagesWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="pages" select="b:Pages"/>
<xsl:choose>
<xsl:when test="string-length($pages)>0">
<xsl:text>S. </xsl:text>
<xsl:value-of select="$pages"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Edition if value -->
<xsl:template name="EditionWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="edition" select="b:Edition"/>
<xsl:choose>
<xsl:when test="string-length($edition)>0">
<xsl:value-of select="$edition"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Issue if value -->
<xsl:template name="IssueWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="issue" select="b:Issue"/>
<xsl:choose>
<xsl:when test="string-length($issue)>0">
<xsl:value-of select="$issue"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Volume if value -->
<xsl:template name="VolumeWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="volume" select="b:Volume"/>
<xsl:choose>
<xsl:when test="string-length($volume)>0">
<xsl:value-of select="$volume"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Volume if value -->
<xsl:template name="URLWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="URL" select="b:URL"/>
<xsl:choose>
<xsl:when test="string-length($URL)>0">
<xsl:value-of select="$URL"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output PeriodicalTitle if value -->
<xsl:template name="PeriodicalTitleWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"> in: </xsl:with-param>
</xsl:call-template>
<xsl:variable name="PeriodicalTitle" select="b:PeriodicalTitle"/>
<xsl:choose>
<xsl:when test="string-length($PeriodicalTitle)>0">
<xsl:value-of select="$PeriodicalTitle"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output JournalName if value -->
<xsl:template name="JournalNameTitleWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"> in: </xsl:with-param>
</xsl:call-template>
<xsl:variable name="JournalName" select="b:JournalName"/>
<xsl:choose>
<xsl:when test="string-length($JournalName)>0">
<xsl:value-of select="$JournalName"/>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- output Publication (publisher and publicationTitle) if value -->
<xsl:template name="PublicationWithCheck">
<xsl:param name="StartSeparator"/>
<xsl:param name="EndSeparator"/>
<!-- StartSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$StartSeparator"/>
<xsl:with-param name="SeparatorDefault"></xsl:with-param>
</xsl:call-template>
<xsl:variable name="publisher" select="b:Publisher"/>
<xsl:choose>
<xsl:when test="string-length($publisher)>0">
<xsl:text> hrsg. von: </xsl:text>
<xsl:value-of select="$publisher"/>
</xsl:when>
</xsl:choose>
<xsl:variable name="publicationTitle" select="b:PublicationTitle"/>
<xsl:choose>
<xsl:when test="string-length($publicationTitle)>0">
<xsl:text> in: </xsl:text>
<xsl:value-of select="$publicationTitle"/>
</xsl:when>
</xsl:choose>
<!-- EndSeparator -->
<xsl:call-template name="Separator">
<xsl:with-param name="SeparatorValue" select="$EndSeparator"/>
<xsl:with-param name="SeparatorDefault">, </xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- ............................................................................................................. -->
<!-- Tabulator: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="Tabulator">
<xsl:text disable-output-escaping="yes"><![CDATA[	]]></xsl:text>
</xsl:template>
<!-- CarriageReturn: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="CarriageReturn">
<xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
</xsl:template>
<!-- EndOfParagraph: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="EndOfParagraph">
<xsl:text>.</xsl:text>
<xsl:call-template name="CarriageReturn"/>
<xsl:call-template name="Tabulator"/>
<xsl:call-template name="CarriageReturn"/>
</xsl:template>
<!-- Citation: Festlegung der Klammern zur Literaturstelle -->
<!-- OpenBracketCitation: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="OpenBracketCitation">
<xsl:text> (</xsl:text>
</xsl:template>
<!-- CloseBracketCitation: placeholder for the substitution in the Word-Dokument -->
<xsl:template name="CloseBracketCitation">
<xsl:text>) </xsl:text>
</xsl:template>
<!-- ............................................................................................................. -->
<xsl:template name="Separator">
<xsl:param name="SeparatorValue"/>
<xsl:param name="SeparatorDefault"/>
<!-- Separator -->
<xsl:choose>
<!-- use parameter as SeparatorValue -->
<xsl:when test="$SeparatorValue='#SPACE#'">
</xsl:when>
<xsl:when test="string-length($SeparatorValue)>0">
<xsl:value-of select="$SeparatorValue"/>
</xsl:when>
<!-- use SeparatorDefault -->
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$SeparatorDefault='#SPACE#'">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$SeparatorDefault"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ============================================================================================================ -->
<!-- output format for different SourceType-->
<!-- global template for output format -->
<xsl:template match="b:Source[b:SourceType = 'Book']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="EditionWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Misc']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort">
<xsl:with-param name="EndSeparator">#SPACE#</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PublicationWithCheck"/>
<xsl:call-template name="EditionWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PagesWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Report']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'ArticleInAPeriodical']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="PeriodicalTitleWithCheck"/>
<xsl:call-template name="VolumeWithCheck"/>
<xsl:call-template name="IssueWithCheck"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PagesWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'JournalArticle']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="JournalNameTitleWithCheck"/>
<xsl:call-template name="VolumeWithCheck"/>
<xsl:call-template name="IssueWithCheck"/>
<xsl:call-template name="CityWithCheck"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="PagesWithCheck"/>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'InternetSite']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="URLWithCheck"/>
<xsl:call-template name="DateAccessedWithCheck">
<xsl:with-param name="StartSeparator"> Zugriff am: </xsl:with-param>
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="StartSeparator"> Ausdruck am: </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'DocumentFromInternetSite']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllAuthor"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="URLWithCheck"/>
<xsl:call-template name="DateAccessedWithCheck">
<xsl:with-param name="StartSeparator"> Zugriff am: </xsl:with-param>
<xsl:with-param name="EndSeparator">, </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="StartSeparator"> Ausdruck am: </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<xsl:template match="b:Source[b:SourceType = 'Interview']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:call-template name="AllInterviewee"/>
<xsl:call-template name="TitelBoldShort"/>
<xsl:call-template name="DateWithCheck">
<xsl:with-param name="StartSeparator"> Ausdruck am: </xsl:with-param>
</xsl:call-template>
<xsl:call-template name="EndOfParagraph"/>
</p>
</xsl:template>
<!-- using the fields is also possible -->
<xsl:template match="b:Source[b:SourceType = 'temp-manual-output']">
<!--Label the paragraph as an Office Bibliography paragraph -->
<p>
<xsl:value-of select="b:Author/b:Interviewee/b:NameList/b:Person/b:Last"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="b:Author/b:Interviewee/b:NameList/b:Person/b:First"/>
<xsl:text>:</xsl:text>
<xsl:value-of select="b:Day"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Month"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="b:Year"/>
<xsl:text>. </xsl:text>
</p>
</xsl:template>
<!-- ============================================================================================================ -->
<!-- Defines the output of the entire Bibliography -->
<xsl:template match="b:Bibliography">
<html xmlns="http://www.w3.org/TR/REC-html40">
<body>
<xsl:apply-templates select ="*">
<xsl:sort select="b:Author/*/b:NameList/b:Person"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<b:SortingString>
<xsl:value-of select="b:Author/*/b:NameList/b:Person"/>
</b:SortingString>
<!-- comment beginning ===============================================================================================
DDDD) Defines the output of the Citation for different SourceTypes (book, report, website etc.)
================================================================================================== ending comment -->
<!-- one output-setting for all citation independent of the SourceType (book, report, website etc.) -->
<xsl:template match="b:Citation">
<html xmlns="http://www.w3.org/TR/REC-html40">
<body>
<xsl:call-template name="OpenBracketCitation"/>
<!-- output name -->
<xsl:choose>
<!-- if SourceType='Interview' than use name of Interviewee -->
<xsl:when test="/b:Citation/b:Source/b:SourceType='Interview'">
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Interviewee/b:NameList/b:Person/b:Last"/>
</xsl:when>
<!-- if SourceType='Art' than use name of Artist -->
<xsl:when test="/b:Citation/b:Source/b:SourceType='Art'">
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Artist/b:NameList/b:Person/b:Last"/>
</xsl:when>
<!-- default output is name of auther -->
<xsl:otherwise>
<xsl:value-of select="/b:Citation/b:Source/b:Author/b:Author/b:NameList/b:Person/b:Last"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>, </xsl:text>
<!-- output shorttitle -->
<xsl:variable name="shorttitle" select="/b:Citation/b:Source/b:ShortTitle"/>
<xsl:value-of select="$shorttitle"/>
<!-- output page -->
<!-- 1. output Bibliography-page: "/b:Citation/b:Source/b:Pages"-->
<!-- 2. output Citation-page: "/b:Citation/b:Pages" -->
<xsl:variable name="pages" select="/b:Citation/b:Pages"/>
<xsl:choose>
<xsl:when test="$pages!='0' and string-length($pages)>0">
<xsl:text>, S. </xsl:text>
<xsl:value-of select="$pages"/>
</xsl:when>
</xsl:choose>
<xsl:call-template name="CloseBracketCitation"/>
</body>
</html>
</xsl:template>
<!-- comment beginning ===============================================================================================
EEEE) End
================================================================================================== ending comment -->
<xsl:template match="text()" />
</xsl:stylesheet>
Moin WI,
ersteinmal vielen Dank für das uploaden!
Wie bekommst Du das mit den Fussnoten hin? Kannst Du den zu veränderen Part posten?
Kann man dieses Verfahren (also die Fussnoten-Geschichte) auch bei den bereits von MS mitgelieferten Notationen anwenden?
Du würdest mir sehr helfen (momentan benutze ich Citavi - weil die Profs. gerne Fussnoten mögen).
Betse Grüße und Danke vorab
ersteinmal vielen Dank für das uploaden!
Wie bekommst Du das mit den Fussnoten hin? Kannst Du den zu veränderen Part posten?
Kann man dieses Verfahren (also die Fussnoten-Geschichte) auch bei den bereits von MS mitgelieferten Notationen anwenden?
Du würdest mir sehr helfen (momentan benutze ich Citavi - weil die Profs. gerne Fussnoten mögen).
Betse Grüße und Danke vorab
Hallo bmx83,
wie bereits erwähnt: Ich bin kein XML-Profi und habe mich (leider) auch nicht so tief in alle Details einarbeiten können. Der Vorteil meiner XML-Datei ist der, dass sie sehr abgespeckt ist (wenngleich auch nicht perfekt) und ein Überblick leichter als bei den Original-XMLs (von MS Word 2007) zu verschaffen ist. Bei den originalen Vorlagen werden viele weitere, verschachtelte, z.B. länderspezifische Aspekte berücksichtigt...
Soviel ich weiß, werden bei allen Verweis-Formatvorlagen (von MS Word 2007) für die Zitierung runde Klammern genutzt. Beispiele sind:
Chicago => ( Köhler 2007, 37-38 )
APA => ( Köhler, 2007, S. 37-38 )
ISO690 => ( 4 S. 37-38 )
Möchte man die Runden-Klammern nicht haben, dann müssen diese in der Style-XML-Datei weggenommen werden (nach OpenBracket oder CloseBracket suchen; ich denke der Eintrag "<xsl:call-template name="templ_prop_CloseBracket"/>" ist für die Ausgabe einer runden Klammer zuständig...).
Die Style-XML-Datei sind abgelegt unter:
In meiner XML-Datei ist es aber ganz einfach: Nach "BracketCitation: placeholder" suchen und dort die runde Klammer und das Leerzeichen löschen:
aus bzw.
wird
Danach ist die Zitierung ohne Klammer und kann einfach in die Fußzeile z.B. auch mit dem Zusatz "Vgl." übernommen werden.
Ein Beispiel:
____________________________
1) Vgl. Köhler, ITIL, S. 37-38
Was in der Fußzeile stehen soll, ist definiert unter Abschnitt: "DDDD) Defines the output of the Citation"
Aktuell sind es folgend Angaben in der Vorlage AKAD2:
1.) Autor / siehe unter: <!-- default output is name of auther -->
2.) Kurztext / siehe unter: <!-- output shorttitle -->
3.) Seitenangabe der Zitierung / siehe unter: <!-- output page -->
Viel Spaß beim Anpassen an den eigenen Bedarf. Verbesserungsvorschläger gerne jederzeit hier im Forum hinterlegen.
Gruß – und wie immer: Alle Infos ohne Gewähr!
WI
wie bereits erwähnt: Ich bin kein XML-Profi und habe mich (leider) auch nicht so tief in alle Details einarbeiten können. Der Vorteil meiner XML-Datei ist der, dass sie sehr abgespeckt ist (wenngleich auch nicht perfekt) und ein Überblick leichter als bei den Original-XMLs (von MS Word 2007) zu verschaffen ist. Bei den originalen Vorlagen werden viele weitere, verschachtelte, z.B. länderspezifische Aspekte berücksichtigt...
Soviel ich weiß, werden bei allen Verweis-Formatvorlagen (von MS Word 2007) für die Zitierung runde Klammern genutzt. Beispiele sind:
Chicago => ( Köhler 2007, 37-38 )
APA => ( Köhler, 2007, S. 37-38 )
ISO690 => ( 4 S. 37-38 )
Möchte man die Runden-Klammern nicht haben, dann müssen diese in der Style-XML-Datei weggenommen werden (nach OpenBracket oder CloseBracket suchen; ich denke der Eintrag "<xsl:call-template name="templ_prop_CloseBracket"/>" ist für die Ausgabe einer runden Klammer zuständig...).
Die Style-XML-Datei sind abgelegt unter:
Code: Alles auswählen
C:\Program Files\Microsoft Office\Office12\Bibliography\Style
aus
Code: Alles auswählen
<xsl:text> (</xsl:text>
Code: Alles auswählen
<xsl:text>) </xsl:text>
Code: Alles auswählen
<xsl:text></xsl:text>
Ein Beispiel:
____________________________
1) Vgl. Köhler, ITIL, S. 37-38
Was in der Fußzeile stehen soll, ist definiert unter Abschnitt: "DDDD) Defines the output of the Citation"
Aktuell sind es folgend Angaben in der Vorlage AKAD2:
1.) Autor / siehe unter: <!-- default output is name of auther -->
2.) Kurztext / siehe unter: <!-- output shorttitle -->
3.) Seitenangabe der Zitierung / siehe unter: <!-- output page -->
Viel Spaß beim Anpassen an den eigenen Bedarf. Verbesserungsvorschläger gerne jederzeit hier im Forum hinterlegen.
Gruß – und wie immer: Alle Infos ohne Gewähr!
WI
Hallo allerseits,
habe mir für mein nächstes Assignment mal eine Style-Datei aus dem Internet organisiert und an die AKAD-Vorlagen angepasst. Läuft bei mir unter Office 2010. Insgesamt funktionieren Bücher, Webseiten und Interviews, wie im Modul SQL03 gefordert, also Fussnoten und Literaturverzeichnis haben die gleichen Infos.
Wer sich ein bisschen mit XML auskennt kann die Datei gerne an seine eigenen Vorstellungen anpassen, sie ist recht ausführlich und in Deutsch kommentiert.
Die Datei muss in folgendes Verzeichnis kopiert werden: C:\Program Files\Microsoft Office\Office14\Bibliography\Style dann taucht in der Liste der Literatur-Formatvorlagen der Eintrag AKAD_Fussnoten auf.
Viel Spass damit.
Marc
habe mir für mein nächstes Assignment mal eine Style-Datei aus dem Internet organisiert und an die AKAD-Vorlagen angepasst. Läuft bei mir unter Office 2010. Insgesamt funktionieren Bücher, Webseiten und Interviews, wie im Modul SQL03 gefordert, also Fussnoten und Literaturverzeichnis haben die gleichen Infos.
Wer sich ein bisschen mit XML auskennt kann die Datei gerne an seine eigenen Vorstellungen anpassen, sie ist recht ausführlich und in Deutsch kommentiert.
Die Datei muss in folgendes Verzeichnis kopiert werden: C:\Program Files\Microsoft Office\Office14\Bibliography\Style dann taucht in der Liste der Literatur-Formatvorlagen der Eintrag AKAD_Fussnoten auf.
Viel Spass damit.
Marc
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.