introduced tagging in the include system

svn path=/branches/test/; revision=31504
This commit is contained in:
paul 2015-07-16 16:42:43 +00:00
parent 594e5fab5d
commit e3d0971de0
56 changed files with 289 additions and 973 deletions

View File

@ -1 +1,2 @@
about/people/people:global
# about/people/people:global
# ^ not actually in the expected format

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<html>
<head>
<title>Om Free Software Foundation Europe - Medlemmer</title>
</head>
<body>
<h1>Medlemmer</h1>
<p>
Følgende er medlemmer af foreningen Free Software Foundation Europe,
i alfabetisk rækkefølge.
</p>
<dynamic-content />
<h3>Strukturelle oplysninger</h3>
<p>
Personerne anført her, er medlemmer af den juridisk organisation
(forening), der udgør skelettet i Free Software Foundation Europe (FSFE)
- det er vigtigt at forstå, at de kun er én del af Free Software
Foundation Europe.
</p>
<p>
Den <a href="self-conception.html">fælles forståelse af FSFE</a> fortæller
mere om hvad FSFE virkelig er, den <a href="/about/legal/">juridiske
struktur</a> fortæller mere detaljeret om hvordan den juridiske struktur
er opbygget.
</p>
<p>
Helt generelt: selv om vi opfatter os selv som en ægte europæisk
organisation, inden for, men ikke begrænset til, den Europæiske Union
(EU), var der intet anvendeligt juridisk grundlag for at etablere sig
juridisk på dette niveau.
</p>
<p>
Derfor var det nødvendigt at finde frem til en modulær struktur, hvortil
lokale afdelinger er knyttet via vedtægter, retningslinjer og medlemmer
af en central organisation, der ofte benævnes &quot;Hub'en&quot;, som er
FSFE's grundstamme. Denne Hub viste sig (ved en tilfældighed) at
blive en velgørende, registreret forening i Tyskland.
</p>
<p>
Alle personer anført oven for, er medlemmer af denne Hub.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<html>
<head>
<title>Über die Free Software Foundation Europe - Mitglieder</title>
</head>
<body>
<h1>Mitglieder</h1>
<p>
Dies sind die Mitglieder des eingetragenen Vereins der Free Software
Foundation Europe in alphabetischer Reihenfolge.
</p>
<dynamic-content />
<h3>Informationen zur Struktur der Organsiation</h3>
<p>
Die hier aufgezählten Personen sind die formellen Mitglieder des
eingetragenen Vereines, der das Skelett der Free Software Foundation
Europe (FSFE) bildet, und stellen daher nur einen Teil der Free Software
Foundation Europe dar.
</p>
<p>
Die <a href="self-conception.html">Selbstverständniserklärung</a> der
FSFE erläutert, was die FSFE wirklich ist, und die Seite über die
<a href="/about/legal/">rechtliche Struktur</a> zeigt, wie dieses Skelett
im Detail aufgebaut ist.
</p>
<p>
Allgemein gesprochen sieht sich die FSFE als europäische Organsiation an
(einschließlich, aber nicht beschränkt auf die EU), aber es gab keine
Möglichkeit, eine Rechtspersönlichkeit auf dieser Ebene zu etablieren.
</p>
<p>
Daher musste eine modulare Struktur gefunden werden, in der Landesvereine
durch Statuten, Richtlinien und Mitglieder mit einer zentralen
Organisation verknüpft sind, die oft als "Hub" bezeichnet wird und die
Hauptorganisation der FSFE ist. Dieser Hub wurde als gemeinnütziger
eingetragener Verein in Deutschland registriert.
</p>
<p>
Alle oben gelisteten Personen sind Mitglieder dieses Hub.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>Σχετικά με το Ευρωπαϊκό Ίδρυμα Ελεύθερου Λογισμικού - Μέλη</title>
</head>
<body>
<h1>Μέλη</h1>
<p>
Αυτά είναι τα μέλη του συλλόγου του Ευρωπαϊκού Ιδρύματος Ελεύθερου Λογισμικού
αλφαβητικά.
</p>
<dynamic-content />
<h3>Πληροφορίες σχετικά με τη διάρθρωση</h3>
<p>
Στον κατάλογο αυτό είναι τα μέλη του νομικού σώματος (σύλλογος) που παρέχουν το
σκελετό του Ευρωπαϊκού Ιδρύματος Ελεύθερου Λογισμικού (FSFE) -- είναι σημαντικό
να κατανοηθεί ότι πρόκειται μόνο για ένα τμήμα του Ευρωπαϊκού Ιδρύματος Ελεύθερου
Λογισμικού.
</p>
<p>
Η <a href="self-conception.html">κοινή αντίληψη για το FSFE</a>
θα σας πει περισσότερα σχετικά με το τι πραγματικά είναι το FSFE, η
<a href="/about/legal/">νομική δομή</a> θα σας πει περισσότερα και με
λεπτομέρειες για το πώς αυτός ο νομικός σκελετός έχει στηθεί.
</p>
<p>
Σε γενικούς όρους: αν και βλέπει τον εαυτό του ως έναν πραγματικά Ευρωπαϊκό
οργανισμό συμπεριλαμβανομένης, αλλά όχι αποκλειστικά μόνο, της Ευρωπαϊκής
Ένωσης (EU), δεν υπήρχε κάποια χρήσιμη νομική βάση για να αποδοθεί αυτή η
αντίληψη νομικά σε αυτό το επίπεδο.
</p>
<p>
Συνεπώς μια αρθρωτή δομή έπρεπε να σχηματιστεί στην οποία οι τοπικές
αντιπροσωπείες συνδέονται με κάποιο καταστατικό, οδηγίες και μέλη σε
έναν κεντρικό οργανισμό, ο οποίος συχνά αναφέρεται ως το &quot;Κέντρο,&quot;
το οποίο είναι το κύριο τμήμα του FSFE. Αυτό το Κέντρο (συμπτωματικά) κατέληξε
να είναι ένα κοινωφελές, αναγνωρισμένο σωματείο στη Γερμανία.
</p>
<p>
Όλοι όσοι βρίσκονται στον παραπάνω κατάλογο είναι μέλη αυτού του Κέντρου.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>About Free Software Foundation Europe - Members</title>
</head>
<body>
<h1>Members</h1>
<p>
These are the members of the Free Software Foundation Europe association
in alphabetical order.
</p>
<dynamic-content />
<h3>Structural Information</h3>
<p>
The people listed here are members of the legal body (association)
providing the skeleton of the Free Software Foundation Europe (FSFE) --
it is important to understand that they are only one part of the Free
Software Foundation Europe.
</p>
<p>
The <a href="self-conception.html">common understanding of the FSFE</a>
will tell you more about what the FSFE really is, the
<a href="/about/legal/">legal structure</a> will tell you more about how
that legal skeleton has been set up in detail.
</p>
<p>
In general terms: although perceiving itself as a truly European
organization including, but not being limited to, the European Union
(EU), there was no usable legal basis for establishing things legally on
this level.
</p>
<p>
Therefore a modular structure had to be found in which local chapters are
attached by constitution, guidelines and members to a central
organisation, often referred to as the &quot;Hub,&quot; which is the main
body of the FSFE. This Hub (by happenstance) turned out to be a
charitable, registered association in Germany.
</p>
<p>
All people listed above are members of that Hub.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>Acerca de la Free Software Foundation Europa - Miembros</title>
</head>
<body>
<h1>Miembros</h1>
<p>
Estos son los miembros de la asociación Free Software Foundation Europa
en orden alfabético.
</p>
<dynamic-content />
<h3>Información estructural</h3>
<p>
Las personas enumeradas aquí son miembros del cuerpo legal (asociación)
que conforman el esqueleto de la Free Software Foundation Europe (FSFE)
─es importante comprender que son sólo una parte de la Free Software
Foundation Europe.
</p>
<p>
Las <a href="self-conception.html">ideas generales de la FSFE</a> le
informarán acerca de lo que la FSFE es en realidad, la
<a href="/about/legal/">estructura legal</a> le informará más sobre el
esqueleto legal que se ha preparado.
</p>
<p>
En términos generales: aunque nos percibimos a nosotros mismos como una
organización realmente europea incluyendo, pero no limitándose a, la
Unión Europea (UE), no existía una base legal en la práctica parta
establecer las cosas a ese nivel.
</p>
<p>
Por lo tanto se buscó una estructura modular en la que secciones locales
se adhieren por estatutos, directrices y miembros a una organización
central, a menudo referida como el Eje (Hub), que es el cuerpo principal
de la FSFE. Este Eje, por casualidad, resultó ser una asociación
sin ánimo de lucro registrada en Alemania.
</p>
<p>
Todas las personas enumeradas anteriormente son miembros de ese Eje.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>À propos de la Free Software Foundation Europe - Membres</title>
</head>
<body>
<h1>Les membres</h1>
<p>
Ci-dessous se trouve la liste des membres de l'association Free Software Foundation Europe, classés par ordre alphabétique.
</p>
<dynamic-content />
<h3>Information sur la structure</h3>
<p>
Les personnes listées ici sont membres de la structure légale (une association) qui fournit le squelette de la Free Software Foundation Europe (FSFE). Il est important de comprendre qu'ils ne constituent qu'une partie de la Free Software Foundation Europe.
</p>
<p>
La lecture de la page expliquant <a href="self-conception.html">l'idée que nous nous faisons de la FSFE</a> vous en dira plus sur ce qu'est réellement la FSFE, tandis que la page sur la <a href="/about/legal/">structure légale</a> vous expliquera plus en détail sur la façon dont l'ossature légale est construite.
</p>
<p>
En termes généraux&#160;: bien que se percevant comme une organisation réellement européenne, incluant les pays de l'Union Européenne sans s'y limiter toutefois, il n'existait pas de base juridique utilisable permettant d'établir les choses légalement de cette façon.
</p>
<p>
En conséquence, il a fallu mettre en place une structure modulaire au sein de laquelle les Chapitres locaux sont rattachés par leurs statuts, leurs lignes de conduite et leurs membres à une organisation centrale, souvent désignée par le terme de &quot;Noyau&quot; (Hub en anglais) qui constitue le corps principal de la FSFE. Les circonstances au moment de la création ont fait que le Noyau est une association à but non-lucratif située en Allemagne.
</p>
<p>
Toutes les personnes listées ci-dessus sont des membres de ce Noyau.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
<translator>Michel Roche (Vercors - France)</translator>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>O Free Software Foundationu Europe - Članovi</title>
</head>
<body>
<h1>Članovi</h1>
<p>
Ovo su članovi udruženja Free Software Foundation Europe navedeni
abecednim redom.
</p>
<dynamic-content />
<h3>Strukturne informacije</h3>
<p>
Ovdje navedeni ljudi su članovi pravnog tijela (udruženja) koji čine
kostur Free Software Foundationa Europe (FSFE) -- važno je uočiti da
su oni samo jedan dio Free Software Foundationa Europe.
</p>
<p>
<a href="self-conception.html">Opće viđenje FSFE-a</a>
više će Vam reći o tome što je zapravo FSFE.
<a href="/about/legal/">Pravna struktura</a> daje više informacija o
tome kako je uspostavljen pravni kostur.
</p>
<p>
Općenito govoreći, iako se FSFE vidi kao istinska europska organizacija
unutar Europske unije (EU), no ne ograničavajući se samo na EU, nije
postojao pravni okvir koji bi se mogao iskoristiti za pravno organiziranje
na toj razini.
</p>
<p>
Stoga je stvorena modularna struktura u kojoj su lokalne podružnice,
smjernice i članovi pridruženi središnjoj organizaciji koja se često
naziva &quot;Čvorištem&quot;, a to je glavno tijelo FSFE-a. Slučajno se
ispostavilo da je to Čvorište dobrotvorno udruženje registrirano u
Njemačkoj.
</p>
<p>
Svi gore navedeni ljudi su članovi tog Čvorišta.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<html>
<head>
<title>A Free Software Foundation Europe bemutatása - Tagok</title>
</head>
<body>
<h1>Tagok</h1>
<p>
Az alábbiak a Free Software Foundation Europe szövetség tagjai
ABC-sorrendben.
</p>
<dynamic-content />
<h3>Információk a szervezeti felépítésről</h3>
<p>
Az itt felsoroltak annak a jogi személynek (szövetségnek) tagjai, mely
a Free Software Foundation Europe (FSFE) vázát képezi. Fontos
tudnivaló, hogy ez a Free Software Foundation Europe-nak csak egy
része.
</p>
<p>
Az FSFE <a href="self-conception.html">önmeghatározásából</a> kiderül,
mi is az az FSFE; a <a href="/about/legal/">jogi felépítésről</a>
szóló oldal pedig részletesen ismerteti a szervezet jogi kereteit.
</p>
<p>
Általánosságban összefoglalva: bár az Alapítvány igazi európai
szervezetnek tekinti magát, mely magába foglalja az Európai Uniós (EU)
és azon kívüli országokat is, alkalmas jogi alap nem volt az ezen a
szinten való működésre.
</p>
<p>
Ezért olyan moduláris szerkezetet kellett kialakítani, melyben a helyi
szervezetek egy alkotmány, az irányelvek, valamint tagok révén
kötődnek a központi szervezethez. Ez a szervezet az FSFE fő
testülete melyre gyakran csomópontként (Hub) is hivatkoznak, és
amely Németországban (véletlenül) közhasznú bejegyzett szövetség.
</p>
<p>
A fenti listán szereplők egytől egyig a központi szervezet (Hub) tagjai.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
<translator>FSF.hu Alapítvány</translator>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,61 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<html>
<head>
<title>Informazioni sulla Free Software Foundation Europe - Membri</title>
</head>
<body>
<h1>Membri</h1>
<p>
Questi sono i membri della Free Software Foundation Europe, in ordine
alfabetico.
</p>
<dynamic-content />
<h3>Informazioni sulla struttura</h3>
<p>
Le persone elencate in questa pagina sono i membri dell'associazione che
costituisce l'ossatura legale della Free Software Foundation Europe
(FSFE): è importante ricordare che essi rappresentano solo una parte
della Free Software Foundation Europe.
</p>
<p>
I <a href="self-conception.html">principi condivisi dalla FSFE</a>
descrivono meglio cos'è davvero la FSFE, mentre la
<a href="/about/legal/">struttura legale</a> descrive nel dettaglio
l'ossatura legale dell'organizzazione.
</p>
<p>
In breve: anche se la FSFE si considera un'organizzazione veramente
europea, che include l'Unione Europea (EU) ma non si limita ad essa,
purtroppo non è ancora possibile dal punto di vista legale creare
un'associazione con questi requisiti.
</p>
<p>
Quindi è stato necessario trovare una struttura modulare, in cui
organizzazioni locali sono collegate, attraverso i membri, lo statuto e
alcune linee guida, a un'organizzazione centrale, spesso chiamata
&quot;hub&quot;, che è il corpo principale della FSFE. Questo hub è
rappresentato da un'associazione senza scopo di lucro registrata in
Germania.
</p>
<p>
Tutte le persone elencate sopra sono membri dell'&quot;hub&quot;.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,58 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>Om Free Software Foundation Europe - Medlemmer</title>
</head>
<body>
<h1>Medlemmer</h1>
<p>
Dette er medlemmene av Free Software Foundation samarbeidet i alfabetisk
rekkefølge.
</p>
<dynamic-content />
<h3>Strukturell informasjon</h3>
<p>
Medlemmene på denne listen utgjør også det juridiske skjelettet av Free
Software Foundation Europe (FSFE) det er viktig å merke seg at de kun
utgjør en del av Free Sofware Foundation Europe.
</p>
<p>
Det <a href="self-conception.html">generelle inntrykket av FSFE</a> vil
fortelle deg mer om hva FSFE egentlig er og siden om vår
<a href="/about/legal/">jurdiske struktur</a> vil fortelle deg mer om
hvordan det juridiske skjelettet er satt opp i detalj.
</p>
<p>
Vi ser oss selv som en sann europeisk organisasjon som inkluderer den
Europeiske Unionen (EU), men som ikke begrenser seg kun til den. Det
var ingen juridisk grunn for å etablere ting juridisk på dette planet.
</p>
<p>
Derfor har vi en mer modulær struktur hvor man kan finne lokale
avdelinger knyttet opp mot en sentral organisasjon, hvilket ofte er
referert til som «Huben», som er hoveddelen av FSFE.
Denne Huben ble til en veldedig, registrert organisasjon i Tyskland.
</p>
<p>
Alle i listen ovenfor er medlemmer av denne hub-en.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
<translator>Andreas Tolfsen</translator>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,61 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>Over Free Software Foundation Europa - Leden</title>
</head>
<body>
<h1>Leden</h1>
<p>
Dit zijn de leden van de Free Software Foundation Europa vereniging in alfabetische
volgorde.
</p>
<dynamic-content />
<h3>Structurele informatie</h3>
<p>
De mensen die hier staan opgesomd, zijn lid van de juridische structuur (vereniging) die
die de ruggengraat vormt van de Free Software Foundation Europa (FSFE). Het is belangrijk
om weten dat dat slechts een deel is van de Free Software Foundation Europa.
</p>
<p>
De pagina over onze <a href="self-conception.html">gemeenschappelijke gedachte</a>
geeft meer informatie over waar de FSFE echt voor staat, de pagina over onze
<a href="/about/legal/">juridische structuur</a> geeft een meer gedetailleerd inzicht
in de juridische structuur die we hebben opgezet.
</p>
<p>
Eenvoudig uitgelegd: aangezien we onszelf beschouwen als een echte Europese
organisatie, niet beperkt tot de Europese Unie, bestaat er geen juridische basis
om onze vereniging juridisch uit te bouwen op dat niveau.
</p>
<p>
Daarom kwamen we tot een modulaire structuur, met lokale afdelingen die zich
statutair, volgens richtlijnen en door hun leden, verbinden met een centrale organisatie.
Deze organisatie noemen we de "Hub" die het centrale lichaam van de FSFE vormt. Deze
Hub werd uiteindelijk, eerder toevallig, een geregistreerde liefdadigheidsinstelling naar
Duits recht.
</p>
<p>
Alle hierboven vermelde mensen zijn lid van deze Hub.
</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>О Европейском фонде свободного программного обеспечения Члены
ассоциации</title>
</head>
<body>
<h1>Члены ассоциации</h1>
<p>Вот список членов ассоциации ЕФСПО в алфавитном порядке.</p>
<dynamic-content />
<h3>Структурная информация</h3>
<p>В списке перечислены члены юридически ответственной части фонда
(ассоциации), которая составляет каркас ЕФСПО — важно понимать, что это
только часть фонда).</p>
<p>На странице, дающей <a href="self-conception.html">общее
представление о ЕФСПО</a>, вы узнаете подробнее о том, чем
в действительности является ЕФСПО, страница о <a
href="/about/legal/">правовой структуре</a> расскажет вам подробнее
о деталях этого юридического каркаса.</p>
<p>В общих словах: хотя фонд осознавал себя как истинно европейскую
организацию (включая, но не ограничиваясь Европейским союзом),
для юридических действий на этом уровне не находилось достаточно
серьезной правовой базы.</p>
<p>В результате пришлось прибегнуть к модульной структуре, состоящей
из центральной организации («Центра») и филиалов, которые связаны с ней
уставом, руководящями документами и членством. По воле случая Центром
стала благотворительная ассоциация, зарегистрированная в Германии.</p>
<p>Все перечисленные на этой странице люди являются членами Центра.</p>
</body>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

View File

@ -1 +0,0 @@
about/people/people:global

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../fsfe.xsl" />
<xsl:output method="html" encoding="utf-8" indent="yes" doctype-system="about:legacy-compat" />
<!-- Fill dynamic content -->
<xsl:template match="dynamic-content">
<xsl:element name="ul">
<xsl:for-each select="/buildinfo/document/set/person[@association-member='yes']">
<xsl:sort select="@id"/>
<xsl:element name="li">
<xsl:element name="p">
<!-- Name; if link is given show as link -->
<xsl:element name="b">
<xsl:choose>
<xsl:when test="link != ''">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link"/>
</xsl:attribute>
<xsl:value-of select="name"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
<!-- E-mail -->
<xsl:if test="email != ''">
<xsl:text> &lt;</xsl:text>
<xsl:element name="i">
<xsl:value-of select="email"/>
</xsl:element>
<xsl:text>&gt;</xsl:text>
</xsl:if>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@ -1 +1,2 @@
about/printable/printable:global
about/printable/printable:[]

View File

@ -6,3 +6,12 @@ about/people/volunteers:global
about/people/employee:global
activities/*/project:global
campaigns/*/project:global
about/people/people:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
about/people/employee:[]
activities/*/project:[]
campaigns/*/project:[]

View File

@ -11,14 +11,20 @@ contact/local:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
contact/local:[]
# tags that match country codes
news/*/news:[[a-z]{2}]
news/generated_xml/:[[a-z]{2}]
events/*/event:[[a-z]{2}]

View File

@ -1,2 +1,5 @@
news/*/news:global
news/generated_xml/:global
news/*/news:[avmgplviolation]
news/generated_xml/:[avmgplviolation]

View File

@ -9,14 +9,17 @@ campaigns/*/project:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
news/*/news:[at]
news/generated_xml/:[at]
news/nl/nl:[at]
events/*/event:[at]

View File

@ -8,6 +8,9 @@ if [ -z "$inc_arguments" ]; then
while [ "$#" -gt 0 ]; do
case "$1" in
--legacyglobs)
readonly legacyglobs=true
;;
-s|--statusdir|--status-dir)
[ "$#" -gt 0 ] && shift 1 && statusdir="$1"
;;
@ -50,6 +53,11 @@ if [ -z "$inc_arguments" ]; then
[ "$#" -gt 0 ] && shift 1 && processor="$1"
[ "$#" -gt 0 ] && shift 1 && olang="$1"
;;
map_tags)
command="$1$command"
shift 1
break
;;
sourceglobs)
command="$1$command"
[ "$#" -gt 0 ] && shift 1 && sourcesfile="$1"
@ -86,6 +94,7 @@ if [ -z "$inc_arguments" ]; then
tree_maker) [ -z "$target" ] && die "Missing target location" ;;
sourceglobs) [ -z "$sourcesfile" ] && die "Missing .sources file" ;;
cast_globfile) [ -z "$sourceglobfile" -o -z "$lang" -o -z "$globfile" ] && die "Need source globfile language and globfile" ;;
map_tags) true;;
*help*) print_help; exit 0 ;;
*) die "Urecognised command or no command given" ;;
esac

View File

@ -35,6 +35,7 @@ fi
[ -s "$(logname debug)" ] && truncate -s 0 "$(logname debug)"
case "$command" in
map_tags) map_tags "$@";;
build_into) build_into ;;
svn_build_into) svn_build_into ;;
process_file) process_file "$workfile" "$processor" "$olang" ;;

0
build/checkdepends.pl Normal file → Executable file
View File

View File

@ -41,7 +41,7 @@ glob_maker(){
sourceglobfile="${filedir%/.}/._._${shortbase}.sourceglobs"
cat <<MakeEND
$(mes "$sourceglobfile"): $(mes $(all_sources "$input/$sourcesfile"))
$(mes "$sourceglobfile"): $(mes $(all_sources "$input/$sourcesfile")) \${INPUTDIR}/tagmap
\${PGLOBBER} \${PROCFLAGS} sourceglobs "\${INPUTDIR}/$sourcesfile" >"$sourceglobfile"
MakeEND
@ -180,7 +180,7 @@ MakeEND
copy_makers(){
# generate copy rules for entire input tree
sourcefind \! -name 'Makefile' \! -name '*.sourceglobs' \! -name '*.sources' \
\! -name '*.xhtml' \! -name '*.xml' \! -name '*.xsl' \
\! -name '*.xhtml' \! -name '*.xml' \! -name '*.xsl' \! -name 'tagmap' \
| while read filepath; do
copy_maker "$filepath" "$(dirname "$filepath")"
done
@ -265,14 +265,18 @@ tree_maker(){
cache_textsfile
cache_fundraising
cat <<-MakeHead
.PHONY: all
PROCESSOR = "$basedir/build/process_file.sh"
PGLOBBER = "$basedir/build/source_globber.sh"
PROCFLAGS = --source "$basedir" --statusdir "$statusdir" --domain "$domain"
INPUTDIR = $input
OUTPUTDIR = $output
MakeHead
cat <<MakeHead
.PHONY: all
PROCESSOR = "$basedir/build/process_file.sh"
PGLOBBER = "$basedir/build/source_globber.sh"
PROCFLAGS = --source "$basedir" --statusdir "$statusdir" --domain "$domain"
INPUTDIR = $input
OUTPUTDIR = $output
xmlfiles := \$(shell find "$basedir" -name '*.[a-z][a-z].xml')
\${INPUTDIR}/tagmap: \$(xmlfiles)
\${PGLOBBER} \${PROCFLAGS} map_tags \$(xmlfiles) >\${INPUTDIR}/tagmap
MakeHead
forcelog Make_globs; Make_globs="$(logname Make_globs)"
forcelog Make_xslt; Make_xslt="$(logname Make_xslt)"

View File

@ -6,6 +6,7 @@ basedir="$(dirname $0)/.."
. "$basedir/build/arguments.sh"
case "$command" in
map_tags) map_tags "$@";;
sourceglobs) sourceglobs "$sourcesfile" ;;
cast_globfile) cast_globfile "$sourceglobfile" "$lang" "$globfile" ;;
*) die "Urecognised command or no command given" ;;

View File

@ -3,7 +3,57 @@
inc_sources=true
[ -z "$inc_xmlfiles" ] && . "$basedir/build/xmlfiles.sh"
sourceglobs(){
map_tags(){
for xml in "$@"; do
printf '%s ' "$xml"
sed -rn ':a;N;$!ba
s;<!([^>]|<[^>]*>)*>;;g
s;[\n\t ]+; ;g
s; ?([</>]) ?;\1;g
tb;Tb;:b
s;.*<tags( [^>]+)?>[^<]*<tag( [^>]+)?>(.*)</tag>[^<]*</tags>.*;\3;;Tc
s; ;+;g
s;</tag>[^<]*<tag(\+[^>]+)?>; ;g;p;q
:c;a\
' "$xml"
done
}
tagging_sourceglobs(){
# read a .sources file and glob up referenced xml files for processing in list_sources
sourcesfile="$1"
[ -f "$sourcesfile" ] && grep ':\[.*\]$' "$sourcesfile" \
| while read line; do
glob="${line%:\[*\]}"
tags="$(printf %s "$line" |sed -r 's;^.+:\[(.*)\]$;\1;;s; ;+;g;s;,; ;g')"
# Input file must match *all* tags from line definition.
# Build a sed expression, that performs conjunctive match
# at once, e.g. to match all of the tags 'spam', 'eggs',
# and 'bacon' the expression will have roughly the form
# "/spam/{/eggs/{/bacon/{p}}}"
match="$(printf '%s' "$glob" |sed -r 's;\*;.*;g;s;\?;.;g')"
matchline="s;^(${basedir}/${match}.*)\.[a-z]{2}\.xml .*$;\1;p"
for tag in $tags ; do
matchline="/ $tag( |$)/{${matchline}}"
done
if [ -z "$tags" ]; then
# save the i/o if tags are empty, i.e. always match
printf '%s \n' "$basedir/"${glob}*.[a-z][a-z].xml |sed -rn "$matchline"
elif [ -f "$basedir/tagmap" ]; then
sed -rn "$matchline" <"$basedir/tagmap"
else
map_tags "$basedir/"${glob}*.[a-z][a-z].xml \
| sed -rn "$matchline"
fi
done \
| sort -u
}
legacy_sourceglobs(){
# read a .sources file and glob up referenced
# source files for processing in list_sources
sourcesfile="$1"
@ -18,6 +68,18 @@ sourceglobs(){
fi
}
[ -z "$inc_misc" ] && . "$basedir/build/misc.sh"
sourceglobs(){
if [ "$legacyglobs" = true ]; then
legacy_sourceglobs "$@"
elif ! egrep -q '^.+:\[.*\]$' "$1"; then
debug "WARNING! File in legacy format: $1"
legacy_sourceglobs "$@"
else
tagging_sourceglobs "$@"
fi
}
all_sources(){
# read a .sources file and glob up all referenced
# source files

0
build/xmlfiles.sh Normal file → Executable file
View File

View File

@ -1,8 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[ayc]
news/generated_xml/:[ayc]
news/nl/nl:[ayc]

View File

@ -1,8 +1,2 @@
activities/*/project:global
campaigns/*/project:global
de/projects/*/project:de
es/projects/*/project:es
fi/projects/*/project:fi
fr/projects/*/project:fr
it/projects/*/project:it
se/projects/*/project:se

View File

@ -1,8 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[ilovefs]
news/generated_xml/:[ilovefs]
news/nl/nl:[ilovefs]

View File

@ -1,8 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[ilovefs]
news/generated_xml/:[ilovefs]
news/nl/nl:[ilovefs]

View File

@ -1,9 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
sq/news/*/news:sq
news/*/news:[ilovefs]
news/generated_xml/:[ilovefs]
news/nl/nl:[ilovefs]

View File

@ -1,9 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
sq/news/*/news:sq
news/*/news:[ilovefs]
news/generated_xml/:[ilovefs]
news/nl/nl:[ilovefs]

View File

@ -1,8 +1,2 @@
activities/*/project:global
campaigns/*/project:global
de/projects/*/project:de
es/projects/*/project:es
fi/projects/*/project:fi
fr/projects/*/project:fr
it/projects/*/project:it
se/projects/*/project:se

View File

@ -1,8 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[nledu]
news/generated_xml/:[nledu]
news/nl/nl:[nledu]

View File

@ -1,8 +1,2 @@
activities/*/project:global
campaigns/*/project:global
de/projects/*/project:de
es/projects/*/project:es
fi/projects/*/project:fi
fr/projects/*/project:fr
it/projects/*/project:it
se/projects/*/project:se

View File

@ -10,14 +10,18 @@ campaigns/*/project:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
news/*/news:[de]
news/generated_xml/:[de]
news/nl/nl:[de]
events/*/event:[de]

View File

@ -1,22 +1,15 @@
documents/document:global
about/reports/document:global
about/history/document:global
de/documents/document:de
es/documents/document:es
fr/documents/document:fr
it/documents/document:it
se/documents/document:se
projects/*/document:global
activities/*/project:global
campaigns/*/project:global
de/projects/*/document:de
es/projects/*/document:es
fr/projects/*/document:fr
it/projects/*/document:it
se/projects/*/document:se
news/*/document:global
de/news/*/document:de
es/news/*/document:es
fr/news/*/document:fr
it/news/*/document:it
se/news/*/document:se
documents/document:[]
about/reports/document:[]
about/history/document:[]
projects/*/document:[]
activities/*/project:[]
campaigns/*/project:[]
news/*/document:[]

View File

@ -10,14 +10,18 @@ campaigns/*/project:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
news/*/news:[ee]
news/generated_xml/:[ee]
news/nl/nl:[ee]
events/*/event:[ee]

View File

@ -1,13 +1,5 @@
events/*/event:global
events/*/*/event:global
de/events/*/event:de
de/events/*/*/event:de
es/events/*/event:es
es/events/*/*/event:es
fi/events/*/event:fi
fr/events/*/event:fr
fr/events/*/*/event:fr
it/events/*/event:it
it/events/*/*/event:it
se/events/*/event:se
se/events/*/*/event:se
events/*/event:[]
events/*/*/event:[]

View File

@ -1 +1,2 @@
events/*/event:global
events/*/event:[fellowship]

View File

@ -1 +1,2 @@
events/*/event:global
events/*/event:[fellowship]

View File

@ -1 +1,2 @@
quotes/quote:global
quotes/quote:fellowship

View File

@ -7,20 +7,21 @@ about/people/countries:global
about/people/volunteers:global
activities/*/project:global
campaigns/*/project:global
fi/projects/*/project:fi
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fi/news/*/news:fi
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fi/events/*/event:fi
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
news/*/news:[fi]
news/generated_xml/:[fi]
news/nl/nl:[fi]
events/*/event:[fi]

View File

@ -11,14 +11,19 @@ contact/local:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
contact/local:[]
news/*/news:[fr]
news/generated_xml/:[fr]
news/nl/nl:[fr]
events/*/event:[fr]

View File

@ -1,3 +0,0 @@
tags/tags:global
activities/*/project:global
campaigns/*/project:global

View File

@ -1,9 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
sq/news/*/news:sq
news/*/news:[ilovefs]
news/generated_xml/:[ilovefs]
news/nl/nl:[ilovefs]

View File

@ -1,16 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fi/news/*/news:fi
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fi/events/*/event:fi
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
news/*/news:[front-page]
news/generated_xml/:[front-page]
events/*/event:[front-page]

View File

@ -11,14 +11,19 @@ contact/local:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
contact/local:[]
news/*/news:[it]
news/generated_xml/:[it]
news/nl/nl:[it]
events/*/event:[it]

View File

@ -1,8 +1,5 @@
news/*/news:global
news/generated_xml/:global
de/news/*/news:de
es/news/*/news:es
fi/news/*/news:fi
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[legal-news]
news/generated_xml/:[legal-news]

View File

@ -1,9 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fi/news/*/news:fi
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[]
news/generated_xml/:[]
news/nl/nl:[]

View File

@ -1,2 +1,5 @@
news/nl/nl:global
news/generated_xml/news___nl___:global
news/nl/nl:[]
news/generated_xml/news___nl___:[]

View File

@ -1,9 +1,7 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fi/news/*/news:fi
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
news/*/news:[]
news/generated_xml/:[]
news/nl/nl:[]

View File

@ -1,14 +1,9 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
news/*/news:[]
news/generated_xml/:[]
news/nl/nl:[]
events/*/event:[]

View File

@ -1,14 +1,9 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
news/*/news:[]
news/generated_xml/:[]
news/nl/nl:[]
events/*/event:[]

View File

@ -11,14 +11,19 @@ contact/local:global
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se
about/germany/germany:[]
about/people/people:[]
about/people/employee:[]
about/people/functions:[]
about/people/function-:[]
about/people/countries:[]
about/people/volunteers:[]
activities/*/project:[]
campaigns/*/project:[]
contact/local:[]
news/*/news:[gb]
news/generated_xml/:[gb]
news/nl/nl:[gb]
events/*/event:[gb]