Wenn Acrolinx Elemente aus YAML-Dokumenten extrahiert, erkennt es Bereiche mit relevanten Informationen und weist ihnen Kontexte zu. Um festzulegen, was Acrolinx extrahiert, können Sie diese Kontexte auswählen und konfigurieren.
Beachten Sie, dass Sie das Content-Profil nicht so konfigurieren können, dass YAML-Kommentare extrahiert werden.
Anmerkung
Es ist auch möglich, JSON-Dokumente mit dem YAML Content-Profil zu prüfen, da JSON eine Subset von YAML ist. Wir empfehlen jedoch, dass Sie das Content-Profil für JSON verwenden. Acrolinx stellt Ihnen dieses und andere Content-Profile zur Verfügung, die Sie an Ihre Bedürfnisse anpassen können.
Es gibt 2 Arten von Kontexten – statische und dynamische.
Statische Kontexte sind dokumentenunabhängig. Acrolinx weist Teilen des extrahierten Textes die folgenden statischen Kontexte zu. Keine davon haben Attribute.
YAML_MAP
Verwenden Sie den Elementnamen YAML_MAP, um anzuzeigen, dass sich der extrahierte Textausschnitt innerhalb einer Map befindet.
So beziehen Sie YAML_MAP ein:
-
Geben Sie
YAML_MAPin Elementname ein. -
Wählen Sie im Filtermodus einschließen aus.
YAML_COMPLEX_NAME
Verwenden Sie den Elementnamen YAML_COMPLEX_NAME, um anzuzeigen, dass sich der Textausschnitt innerhalb des Wertes einer Map befindet und einen hierarchischen Schlüssel hat. Mit anderen Worten: Ein dynamischer Kontext kann ihn nicht berücksichtigen.
So schließen Sie YAML_COMPLEX_NAME in Ihre Prüfung ein:
-
Geben Sie
YAML_COMPLEX_NAMEin Elementname ein. -
Wählen Sie im Filtermodus einschließen aus.
YAML_ITEM
Verwenden Sie den Elementnamen YAML_ITEM, um anzuzeigen, dass sich der Textausschnitt in einem Element innerhalb einer Sequenz befindet.
So schließen Sie YAML_ITEM in Ihre Prüfung ein:
-
Geben Sie
YAML_ITEMin Elementname ein. -
Wählen Sie im Filtermodus einschließen aus.
YAML_SEQUENCE
Verwenden Sie den Elementnamen YAML_SEQUENCE, um anzuzeigen, dass sich der extrahierte Textausschnitt innerhalb einer Sequenz befindet.
So schließen Sie YAML_SEQUENCE in Ihre Prüfung ein:
-
Geben Sie
YAML_SEQUENCEin Elementname ein. -
Wählen Sie im Filtermodus einschließen aus.
Aus praktischer Sicht sind statische Kontexte nicht sehr nützlich. Dies liegt daran, dass statische Kontexte auf alle Inhalte in typischen YAML-Dokumenten abzielen. Deshalb sind sie meist nicht spezifisch genug.
Im folgenden Konfigurationsbeispiel z. B. ist die Information eine YAML_SEQUENCE von YAML_ITEMs einer YAML_MAP. Wenn Sie einen dieser statischen Kontexte im Content-Profil angeben, wird er auf alle Werte im Beispiel verweisen. Was aber, wenn Sie nur an den Werten Job, Name und Skillset interessiert sind? Aus diesem Grund kann Acrolinx auch dynamische Kontexte extrahieren.
Für jeden Wert einer Map hat der extrahierte Texte einen Kontext, der:
-
den jeweiligen
Schlüsselin der Map -
mit einem Attribut „name“ benennt, der auch der
SchlüsseldesWertesist.
Die einzigen Ausnahmen sind Schlüssel/Wert-Paare mit hierarchischen Schlüsseln.
Sie können die Werte nur aus den Schlüssel/Wert-Paaren extrahieren. Es gibt 3 Möglichkeiten, diese Werte für die Extraktion auszuwählen:
Geben Sie den Schlüssel als Elementnamen an
Um Namen zu extrahieren, können Sie den Elementnamen fullname verwenden.
So schließen Sie z. B. fullname in Ihre Prüfung ein:
-
Geben Sie
fullnamein Elementname ein. -
Wählen Sie im Filtermodus einschließen aus.
Geben Sie den Schlüssel als Namensattribut an
Wenn Sie einen Schlüssel mit einem Leerzeichen im Namen extrahieren möchten, z. B. „Skill Set“, müssen Sie das Namensattribut *name="" verwenden. Dies verweist auf den Attributnamen, der mit dem Zwei-Wort-Schlüssel identisch ist.
So schließen Sie ein Zwei-Wort-Element wie „Skill Set“ in Ihre Prüfung ein:
-
Geben Sie unter Elementname
name="skill set"ein. -
Wählen Sie im Filtermodus einschließen aus.
Geben Sie einen Schlüssel an, der eine hierarchische Struktur ist
Wenn der Schlüssel eine hierarchische Struktur anstelle einer Zeichenfolge ist, müssen Sie einen anderen Elementnamen angeben, um den Wert dieses Schlüsseltyps zu extrahieren.
So extrahieren Sie den Wert eines Schlüssels mit hierarchischer Struktur:
-
Geben Sie
YAML_COMPLEX_NAMEin Elementname ein. -
Wählen Sie im Filtermodus einschließen aus.
Da YAML_COMPLEX_NAME ein statischer Kontext ist, zielt er auf alle Werte aller hierarchischen Schlüssel des YML-Dokuments ab.
Anmerkung
Standardmäßig extrahiert Acrolinx alle Nicht-Schlüsselflächen aus dem Dokument mit Satzumbrüchen dazwischen. Alle statischen Kontexte werden standardmäßig eingeschlossen. Der Standardumbruch ist Satz. Übergeordnete Maps oder Sequenzen verursachen keine zusätzlichen Umbrüche (bei YAML_SEQUENCE und YAML_MAP ist der konfigurierte Umbruch none).
In der Produktion sollten Sie zunächst alles ausschließen und nur bestimmte Schlüssel (dynamische Kontexte) einbeziehen.
Angenommen, Sie möchten ein Content-Profil für kundenbezogene YAML-Dokumente wie dieses konfigurieren:
employees.yaml
# Employee records
- martin:
id: sdzre-88-921
fullname: Martin Dev
department: 344/2233 - B
job: Developer
skill set:
- lisp
- erlang
age: 32
Ohne ein dediziertes Content-Profil würden all diese Textausschnitte Satzbrüche zwischen ihnen haben. Sie wollen Folgendes prüfen (und extrahieren):
-
Martin Dev
-
Developer
-
lisp
-
erlang
Das folgende Content-Profil erfüllt den Zweck:
Anmerkung
Sie können „Skill Set“ nicht über den Elementnamen prüfen (das Leerzeichen macht „Skill Set“ zu einem ungültigen Elementnamen). Stattdessen müssen Sie das Namensattribut verwenden. Deshalb ist in jedem statischen Kontext auch der entsprechende Name in einem Attribut „name“ enthalten.