Filtre

Hvis bestemte deler av dokumentet bare skal vises i en bestemt kontekst, kan du bruke filteringskoder til å oppgi kriterier som må være oppfylt for at denne delen av dokumentet skal vises. Hvis kriteriene ikke er oppfylt, blir denne delen av dokumentet ikke synlig for brukeren. Filtre kan oppgis i et hvilket som helst XML-element så lenge kodingen fremdeles er gyldig etter behandling. Hvis et element er filtrert, blir alle elementer og all tekts under dette elementet også filtrert.

Tabellen nedenfor inneholder en fullstendig liste over alle filtreringsegenskapene og deres mulige verdier.

Egenskap Betydning Mulige verdier
os operativsystem win32, win32, linux, macosx, aix, solaris, hpux, qnx
ws vindussystem win32, motif, gtk, photon, carbon
arch prosessorarkitektur x86, x86_64, ia64, ia64_32, ppc, PA_RISC, sparc
product ID for Eclipse-produkt En hvilken som helst produkt-ID (for eksempel org.eclipse.sdk.ide for SDK)
plugin plugin-modul En hvilken som helst plugin-ID (for eksempel org.eclipse.help)
category aktivitetskategori En hvilken som helst aktivitetskategori-ID (for eksempel org.eclipse.categories.teamCategory for kategorien Gruppe)
activity aktivitet (funksjonalitet) En hvilken som helst aktivitets-ID (for eksempel org.eclipse.team.cvs for aktiviteten CVS-støtte)

Hvis navnet ikke samsvarer med noen forhåndsdefinert egenskap, bruker hjelpesystemet JVMs systemegenskap for dette navnet. Du kan for eksempel sende en hvilken som helst brukerdefinert egenskap ved oppstart, som -Dlocation=paris,france, og filtrere etter denne egenskapen.

Det finnes to måter å oppgi filtre for et element på: ved hjelp av attributter eller elementer.

Filterattributt

Den første formen er å legge til et filterattributt i elementet. Dette er den generelle formen:

   <element filter="[name][operator][value]">
      Tekst.
   </element>

name er navnet på egenskapen det skal filtreres etter, for eksempel os for operativsystem. operator er enten = for å oppgi et samsvar (nøyaktig samsvar, skille mellom store og små bokstaver), eller != for å oppgi samsvarer ikke. value er det egenskapen skal (eller ikke skal) samsvare med. For os er en av de mulige verdiene for eksempel win32 (Windows). En fullstendig liste over filteregenskaper og deres verdier er tilgjengelig i en tabell nedenfor.

Eksempelet nedenfor viser hvordan du viser et avsnitt med tekst i et XHTML-dokument når du bare kjører Linux.

   <p filter="os=linux">
      Denne meldingen blir bare vist når den vises i Linux.
   </p>

I det andre eksempelet blir linken bare vist når plugin-modulen com.my.plugin ikke er installert:

   <a href="..." filter="plugin!=com.my.plugin">
      Klikk her for å laste ned plugin-modulen com.my.plugin.
   </a>

Filterelement

Den andre formen er å bruke et filter-element som en underordnet av det elementet du ønsker å filtrere. Denne formen er noe lenger enn attributtformen, men den er kraftigere fordi du kan oppgi et hvilket som helst antall filtre for et element. Dette er den generelle formen:

   <element attribute="value">
      <filter name="[name]" value="[modifier][value]"/>
   </element>

name og value her er de samme som med attributtet. Siden de er atskilt, trenger vi imidlertid en annen metode for å oppgi om de skal samsvare eller ikke. Hvis du ikke oppgir en modifikator, blir et samsvar som standard antatt. Hvis det ikke skal samsvare, setter du modifikatoren til "! "

Dette er det første eksempelet ovenfor i den andre formen:

   <p>
      <filter name="os" value="linux"/>
      Denne meldingen blir bare vist når den vises i Linux.
   </p>

Og det andre eksempelet:

   <a href="...">
      <filter name="plugin" value="!com.my.plugin"/>
      Klikk her for å laste ned plugin-modulen com.my.plugin.
   </a>

Informasjonssenter

Filtreringsstøtte slås av når du kjører hjelp i infocenter-modus, slik at alt innhold, inkludert filtrert innhold, er synlig. Hvis du vil være vert for dokumentasjonen både på arbeidsbenken og i inforcenter-modus, bør du bruke filtre på en måte som gir mening dersom filtrering er slått av.

Hvor kan jeg bruke filtre?

Filtrering kan brukes i disse typene dokumenter:

* Merk: Det finnes noen få ekstratrinn som kreves for å aktivere dynamisk innhold i XHTML-dokumentene.

Uansett så må du ikke plassere filtre på noen elementer der fjerning av dette elementet vil resultere i ugyldig XML. Du bør for eksempel ikke plassere et filter på html-elementet i XHTML, fordi uten dette elementet, er det ikke lenger gyldig XHTML.