Ondersteuning voor Schematron-bestanden
"Schematron" verwijst naar een op regels gebaseerde validatietaal die wordt gebruikt om tests voor een XML-bestand te definiëren. De Editor ondersteunt Schematron-bestanden. U kunt de Schematron-bestanden importeren en deze ook bewerken in de Editor. Met behulp van een Schematron-bestand kunt u bepaalde regels definiëren en deze vervolgens valideren voor een DITA-onderwerp of een kaart.
Schematron-bestanden importeren
Voer de volgende stappen uit om de Schematron-bestanden te importeren:
- Navigeer aan de vereiste omslag (waar u de dossiers) in Bewaarplaats wilt uploaden.
- Selecteer het pictogram van Opties om het contextmenu te openen en te kiezen uploadt activa.
- In uploadt activa dialoog, kunt u de bestemmingsomslag in het Uitgezochte gebied van de Omslag van Activa veranderen.
- Selecteer kies Dossiers en doorblader om de dossiers van het Schema te selecteren. U kunt één of meerdere dossiers selecteren Schematron en dan selecteren uploadt.
Een DITA-onderwerp of -kaart valideren met Schematron
Nadat u Schematron-bestanden hebt geïmporteerd, kunt u deze bewerken in de Editor. U kunt de dossiers Schematron gebruiken om de onderwerpen of een kaart te bevestigen DITA. Bijvoorbeeld, kunt u de volgende regels voor een kaart DITA of een onderwerp tot stand brengen:
- Een titel wordt bepaald voor een kaart DITA.
- Er is een korte beschrijving van een bepaalde lengte toegevoegd.
- De kaart moet ten minste één actuele referentie bevatten.
Wanneer u een onderwerp opent in de Redacteur, verschijnt een paneel van de Bevestiging van het Schema in het recht. Voer de volgende stappen uit om een onderwerp of een kaart met een dossier toe te voegen en te bevestigen Schematron:
-
Selecteer het pictogram Schematron om het deelvenster Schema te openen.
-
Het gebruik voegt het Dossier van Schematron toe om dossiers Schematron toe te voegen.
note note NOTE Wanneer een ongeldig schemabestand wordt toegevoegd, wordt een foutenmelding getoond in het paneel van de Bevestiging. {width="350"}
-
Als het Schematron-bestand geen fouten bevat, wordt het toegevoegd en weergegeven in het deelvenster Validatie. Er wordt een foutbericht weergegeven voor het Schematron-bestand dat fouten bevat.
note note NOTE U kunt het kruispictogram bij de naam van het Schematron-bestand gebruiken om het te verwijderen. -
Selecteer Valideren om het onderwerp met de toegevoegde dossiers te bevestigen Schematron.
- Als het onderwerp geen regels breekt, wordt het bericht van het bevestigingssucces getoond voor het dossier.
- Als het onderwerp een regel breekt, bijvoorbeeld, als het geen titel bevat en voor het bovengenoemde Schematron bevestigd is, toont het een bevestigingsfout.
note note NOTE Validatieresultaten worden weergegeven op basis van het rolkenmerk dat is gedefinieerd in het Schematron-bestand. Voor meer details, mening Begrijpend bevestigingsresultaten en serverniveaus . -
Selecteer het foutenbericht om het element te benadrukken dat de fout in het geopende onderwerp/de kaart bevat.
De steun van het Schema in de Redacteur helpt u in het bevestigen van de dossiers tegen een reeks regels en het handhaven van consistentie en correctheid over de onderwerpen.
Werken met validatieresultaten en serverniveaus
Validatieresultaten worden weergegeven op basis van het rolkenmerk dat is gedefinieerd in het Schematron-bestand. Kwesties worden gecategoriseerd als Fatal, Error, Warn of Info , met een zichtbare telling voor elke categorie in het deelvenster Validatie.
Om de strengheid van een kwestie te bepalen, wordt de geval-gevoelige waarde van de rolattributen die in het overeenkomstige dossier van het Schema worden bepaald geëvalueerd.
In het volgende fragment worden de ondersteunde waarden van de rolkenmerken weergegeven die in een Schematron-regel zijn gedefinieerd:
<sch:assert role="error" test="@id">Element must have an ID.</sch:assert><sch:report role="info" test="not(@alt)">Image should have an alt attribute.</sch:report><sch:assert role= "fatal" test="b"> Bold must be there in <sch:name/> element</sch:assert><sch:assert role= "warn" test="b"> Recommended formatting is missing in <sch:name/> element</sch:assert>
Als het kenmerk role niet is opgegeven of als een niet-ondersteunde waarde wordt gebruikt, wordt de uitgave gecategoriseerd als Error in het deelvenster Validatie. Dit gedrag is ook van toepassing op bestaande Schematron-bestanden die geen rolkenmerk definiëren. In dergelijke gevallen worden alle problemen gegroepeerd onder Error .
sparen scenario's van het Dossier
Het bewaren van een dossier hangt van de bevestigingscontrole van de Looppas alvorens het dossier het plaatsen in de montages van Workspace af:
- Als deze optie is ingeschakeld, kunt u het bestand pas opslaan als de
Fatal- ofError-problemen niet zijn opgelost. - Als deze optie is uitgeschakeld, worden de validatiecontroles niet uitgevoerd en kunnen de bestanden worden opgeslagen, zelfs als er problemen op
Fatal- ofError-niveau optreden.
Instructies voor bevestigen en rapporteren gebruiken om op regels te controleren schematron-assert-report
Experience Manager Guides steunt ook de verklaringen van Schematron. Deze verklaringen helpen u uw onderwerpen DITA bevestigen.
Instructie Assert
Een herhalingsinstructie genereert een bericht wanneer een testinstructie false oplevert. Als u bijvoorbeeld wilt dat de titel vet wordt, kunt u een instructie voor een claim definiëren.
<sch:rule context="title">
<sch:assert test = "b"> Title should be bold </sch:assert>
</sch:rule>
Wanneer u uw onderwerpen DITA met Schematron bevestigt, krijgt u een bericht voor de onderwerpen waar de titel niet gewaagd is.
Instructie Rapport
Een rapportverklaring produceert een bericht wanneer een testverklaring aan waar evalueert. Als u bijvoorbeeld wilt dat de korte beschrijving uit maximaal 150 tekens bestaat, kunt u een rapportinstructie definiëren om de onderwerpen te controleren waarvoor de korte beschrijving uit meer dan 150 tekens bestaat.
Wanneer u uw onderwerpen DITA met Schematron bevestigt, krijgt u een volledig rapport van de regels waar de rapportverklaring aan waar evalueert. U krijgt dus een bericht voor de onderwerpen waarin de korte beschrijving meer dan 150 tekens bevat.
<sch:rule context="shortdesc">
<sch:let name="characters" value="string-length(.)"/>
<sch:report test="$characters > 150">
The short description has <sch:value-of select="$characters"/> characters. It should contain more than 150 characters.
</sch:report>
</sch:rule>
Regex-expressies gebruiken schematron-regex-espressions
U kunt Regex-expressies ook gebruiken om een regel met de functie match() te definiëren en vervolgens validatie uit te voeren met het Schematron-bestand.
U kunt dit bijvoorbeeld gebruiken om een bericht weer te geven als de titel slechts één woord bevat.
<assert test="not(matches(.,'^\w+$'))">
No one word titles.
</assert>
abstracte patronen definiëren schematron-abstract-patterns
Experience Manager Guides ondersteunt ook abstracte patronen in Schematron. U kunt generische abstracte patronen bepalen hergebruik deze abstracte patronen. U kunt plaatsaanduidingsparameters maken die het werkelijke patroon opgeven.
Het gebruiken van abstracte patronen kan uw schema van het Schema vereenvoudigen door de duplicatie van regels te verminderen en het gemakkelijker te maken om uw bevestigingslogica te beheren en bij te werken. Het kan uw schema gemakkelijker maken te begrijpen, aangezien u complexe bevestigingslogica in één enkel abstract patroon kunt bepalen dat door het schema opnieuw kan worden gebruikt.
Met de volgende XML-code wordt bijvoorbeeld een abstract patroon gemaakt en het werkelijke patroon verwijst ernaar met de id.
<sch:pattern abstract="true" id="LimitNoOfWords">
<sch:rule context="$parentElement">
<sch:let name="words" value="string-length(.)"/>
<sch:assert test="$words < $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 > $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>