Stöd för Schematron-filer

"Schematron" avser ett regelbaserat valideringsspråk som används för att definiera tester för en XML-fil. Webbredigeraren stöder Schematron-filer. Du kan importera schemafilerna och redigera dem i Web Editor. Med en Schematron-fil kan du definiera vissa regler och sedan validera dem för ett DITA-avsnitt eller en karta.

NOTE
Webbredigeraren stöder ISO-schema.

Importera Schematron-filer

Så här importerar du Schematron-filerna:

  1. Navigera till önskad mapp (där du vill överföra filerna) i databasvyn.
  2. Klicka på ikonen Alternativ för att öppna snabbmenyn och välj Överför Assets.
  3. I dialogrutan Överför Assets kan du ändra målmappen i fältet Välj resursmapp.
  4. Klicka på Välj filer och bläddra till schemafilerna. Du kan välja en eller flera schemafiler och sedan klicka på Överför.

Validera ett DITA-ämne eller en DITA-karta med Schematron

När du har importerat Schematron-filer kan du redigera dem i webbredigeraren. Du kan använda Schematron-filerna för att validera ämnen eller en DITA-karta. Du kan till exempel skapa följande regler för ett DITA-schema eller -ämne:

  • En titel definieras för en DITA-karta.
  • En kort beskrivning av en viss längd har lagts till.
  • Det ska finnas minst en topicref på kartan.

När du öppnar ett ämne i webbredigeraren visas en schematronvalideringspanel till höger. Utför följande steg för att lägga till och validera ett ämne eller en karta med en Schematron-fil:
{width="300"}

  1. Klicka på ikonen Schematron () för att öppna panelen Schematron.

  2. Använd Lägg till schemafil för att lägga till schemafiler.

  3. Om det inte finns några fel i schemaläggarfilen läggs den till och visas på valideringspanelen. Ett felmeddelande visas för Schematron-filen som innehåller fel.

    note note
    NOTE
    Du kan använda kryssikonen bredvid Schematron-filnamnet för att ta bort den.

    1. Klicka på Validera med schema för att validera ämnet.

    • Om inga regler bryts visas ett meddelande om att valideringen lyckades för filen.
    • Om ämnet bryter en regel, till exempel om det inte innehåller någon titel och valideras för schematronen ovan, visas ett valideringsfel.
  4. Klicka på felmeddelandet för att markera elementet som innehåller felet i det öppnade ämnet/kartan.

Stödet för Schematron i Web Editor hjälper dig att validera filerna mot en uppsättning regler och bibehålla konsekvens och korrekthet i alla ämnen.

Använd assert- och report-satser för att kontrollera regler schematron-assert-report

AEM Guides stöder även programsatserna assert och report i Schematron. Dessa satser hjälper dig att validera dina DITA-avsnitt.

Programsatsen Assert

En assert-programsats genererar ett meddelande när en test-programsats utvärderas till false. Om du till exempel vill att titeln ska vara fet kan du definiera en assert-sats för den.

<sch:rule context="title">
    <sch:assert test = "b"> Title should be bold </sch:assert>
  </sch:rule>

När du validerar dina DITA-ämnen med Schematron får du ett meddelande om de ämnen där titeln inte är fet.

Rapport

En rapportprogramsats genererar ett meddelande när en testprogramsats utvärderas till true. Om du till exempel vill att den korta beskrivningen ska innehålla högst 150 tecken kan du definiera en rapportsats för att kontrollera ämnen där den korta beskrivningen innehåller mer än 150 tecken.
När du validerar dina DITA-ämnen med Schematron får du en fullständig rapport över reglerna där rapportsatsen utvärderas till true. Du får därför ett meddelande om de ämnen där den korta beskrivningen innehåller fler än 150 tecken.

<sch:rule context="shortdesc">
        <sch:let name="characters" value="string-length(.)"/>
        <sch:report test="$characters &gt; 150">
        The short description has <sch:value-of select="$characters"/> characters. It should contain more than 150 characters.
        </sch:report>
    </sch:rule>
NOTE
Använd bara Xpath 2.0-uttryck när du skriver schematron-regler.

Använd Regex-uttryck schematron-regex-espressions

Du kan också använda Regex-uttryck för att definiera en regel med funktionen match() och sedan utföra valideringen med filen Schematron.

Du kan till exempel använda den för att visa ett meddelande om titeln bara innehåller ett ord.

<assert test="not(matches(.,'^\w+$'))">
No one word titles.
</assert>

Definiera abstrakta mönster schematron-abstract-patterns

AEM Guides har även stöd för abstrakta mönster i Schematron. Du kan definiera allmänna abstrakta mönster som återanvänder dessa abstrakta mönster. Du kan skapa platshållarparametrar som anger det faktiska mönstret.

Genom att använda abstrakta mönster kan du förenkla schemat genom att minska antalet regler och göra det enklare att hantera och uppdatera valideringslogiken. Det kan också göra ditt schema lättare att förstå, eftersom du kan definiera komplex valideringslogik i ett enda abstrakt mönster som kan återanvändas i hela schemat.

Följande XML-kod skapar till exempel ett abstrakt mönster och sedan refererar det faktiska mönstret till det med id:t.

<sch:pattern abstract="true" id="LimitNoOfWords">

<sch:rule context="$parentElement">

<sch:let name="words" value="string-length(.)"/>

<sch:assert test="$words &lt; $maxWords">

You have <sch:value-of select="$words"/> letters. This should be lesser than <sch:value-of select="$maxWords"/>.

</sch:assert>

<sch:assert test="$words &gt; $minWords">

You have <sch:value-of select="$words"/> letters. This should be greater than <sch:value-of select="$minWords"/>.

</sch:assert>

</sch:rule>

</sch:pattern>

<sch:pattern is-a="LimitNoOfWords" id="extend-LimitNoOfWords">

<sch:param name="parentElement" value="title"/>

<param name="minWords" value="1"/>

<param name="maxWords" value="8"/>

</sch:pattern>
recommendation-more-help
11125c99-e1a1-4369-b5d7-fb3098b9b178