SQL03: AKAD-Literaturverzeichnis in Word 2007

Erfahrungen im modular aufgebauten Studium
(einschl. einzelner Studienmodule).
Antworten
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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)
Zuletzt geändert von WI am 24.02.08 02:12, insgesamt 5-mal geändert.
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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.
Zuletzt geändert von WI am 21.02.08 23:26, insgesamt 1-mal geändert.
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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> 
Benutzeravatar
karstenb
Forums-Scout
Forums-Scout
Beiträge: 319
Registriert: 15.05.03 00:48

sehr cool! vielen Dank für´s einstellen hier im forum!
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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.
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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> 
ftw_75
Forums-Profi
Forums-Profi
Beiträge: 59
Registriert: 06.02.06 15:13
Wohnort: Plochingen
Kontaktdaten:

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[&#x9;]]></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
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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[&#x9;]]></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>
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

Beispiel zum Literaturverzeichnis ...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
bmx83
Forums-Profi
Forums-Profi
Beiträge: 143
Registriert: 08.04.05 09:11

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
WI
Mitglied
Mitglied
Beiträge: 16
Registriert: 21.11.06 22:49
Wohnort: Düsseldorf

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:

Code: Alles auswählen

C:\Program Files\Microsoft Office\Office12\Bibliography\Style
In meiner XML-Datei ist es aber ganz einfach: Nach "BracketCitation: placeholder" suchen und dort die runde Klammer und das Leerzeichen löschen:
aus

Code: Alles auswählen

<xsl:text> (</xsl:text>
bzw.

Code: Alles auswählen

<xsl:text>) </xsl:text>
wird

Code: Alles auswählen

<xsl:text></xsl:text>
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
Bart
Mitglied
Mitglied
Beiträge: 30
Registriert: 04.11.07 16:22

Hallo,
habe nun mittlerweile Office 2010.
Hat jemand eine Ahnung, wie man es da so schön hinbekommen kann?
Muss jetzt dann Pbericht und Darbeit schreiben.

Grüße
Bart
Benutzeravatar
mcneuhaus
Forums-Scout
Forums-Scout
Beiträge: 377
Registriert: 26.10.09 13:12
Wohnort: bei Mainz

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Bart
Mitglied
Mitglied
Beiträge: 30
Registriert: 04.11.07 16:22

Hi,
super danke. werde es mal ausprobieren!!

Grüße
Bart
Antworten