parser
Définition d'analyseur syntaxique
Utilisation
Peut être stockée et récupérée (à l'aide du nom de l'élément et de son attribut name) dans le référentiel
Description
Un analyseur syntaxique convertit une chaîne (de type texte, HTML, XML, etc.) en XML qui sera interprété par l'objet Vivisimo. Watson Explorer prend en charge deux types d'analyseur syntaxique, l'un basé sur les expressions régulières, l'autre sur XSL.
Voir aussi :
- tutoriel sur l'analyse syntaxique dans la documentation en ligne ou papier
Attributs
- async (booléen Valeur par défaut : true) - Traitement asynchrone. Pour les balises d'analyse, indique si la demande doit être ajoutée à la file d'attente (false) ou traitée avant l'élément apparenté suivant. Pour les autres éléments, cet attribut ne fait la différence que s'ils contiennent des demandes asynchrones qui doivent être traitées avant le traitement de l'élément. Dans ce cas, lorsque l'attribut est défini sur false, l'élément apparenté suivant de l'élément ne sera traité qu'après l'élément en cours ; lorsqu'il est défini sur true, Watson Explorer n'attend pas que l'élément en cours soit traité avant de traiter son élément apparenté suivant.
- elt-id (entier) - Utilisation : Interne
- max-elt-id (entier) - Utilisation : Interne
- execute-acl (Texte)
- process (Texte) - Expression XPath qui détermine les attributs et/ou les enfants à traiter. Seuls "", "*", "@*" et "*|@*" sont actuellement pris en charge.
- internal (Texte)
- overrides (Texte)
- overrides-status (identical ou merge)
- no-override (no-override uniquement dans certains cas)
- modified (entier)
- modified-by (Texte)
- do-not-delete (do-not-delete uniquement dans certains cas) - N'autorise pas la suppression de l'élément dans le référentiel depuis l'interface admin. Utilisation : Interne
- read-only (read-only uniquement dans certains cas) - N'autorise pas la modification de l'élément dans le référentiel depuis l'interface admin. Utilisation : Interne
- products (all, vivisimo, velocity, discovery, clustermed, clustergoogle, life-sciences, japanese, chinese, mobile, ius, admin ou admin-full) - Utilisation : Interne
- url (URI)
- name (De type NMToken. Forme restreinte de xs:string : Modèle \#anonymous\#\d+)
- type (regex, regex-text, case-insensitive-regex,
case-insensitive-regex-text, perl-regex, perl-regex-text, case-insensitive-perl-regex,
case-insensitive-perl-regex-text, xsl, html-xsl ou java Valeur par défaut : regex) -
- regex : analyseur syntaxique basé sur les expressions régulières. Tout comme flex, ces analyseurs syntaxiques utilisent des expressions régulières pour basculer d'un état à un autre et délimiter des contenus. Génère un code XML conforme au schéma Watson Explorer. Cet analyseur syntaxique utilise les expressions régulières Posix.
- regex-text : identique à regex, à cela près qu'une sortie texte est générée au lieu d'un code XML. Utile pour transformer des données telles que des pages Web HTML.
- case-insensitive-regex : identique à regex, mais insensible à la casse.
- case-insensitive-regex-text : identique à regex-text, mais insensible à la casse.
- perl-regex : analyseur syntaxique basé sur les expressions régulières. Tout comme flex, ces analyseurs syntaxiques utilisent des expressions régulières pour basculer d'un état à un autre et délimiter des contenus. Génère un code XML conforme au schéma Watson Explorer. Cet analyseur syntaxique utilise les expressions régulières de type Perl.
- perl-regex-text : identique à perl-regex, à cela près qu'une sortie texte est générée au lieu d'un code XML. Utile pour transformer des données telles que des pages Web HTML.
- case-insensitive-perl-regex : identique à perl-regex, mais insensible à la casse.
- case-insensitive-perl-regex-text : identique à perl-regex-text, mais insensible à la casse.
- xsl : analyseurs syntaxiques de transformation XSL. XSL doit apparaître sous la forme d'un noeud de texte sous le noeud d'analyseur. La déclaration XML et les balises xsl:stylesheet qu'elle contient sont facultatifs. Si le XSL est un code XML incorrectement formé, Watson Explorer tentera de le corriger.
- html-xsl : identique à xsl, à cela près qu'il est précédé d'une conversion HTML vers XML. Etant donné que le langage HTML est ambigu, la conversion HTML vers XML peut être effectuée de plusieurs façons. Watson Explorer tentera de fermer les balises ouvertes, d'ajouter les balises manquantes (telles que html et body), de mettre en échappement les entités et d'effectuer d'autres étapes de normalisation.
- java : instancie et exécute une classe Java sur les données d'entrée. Ce type d'analyseur syntaxique n'est pas terminé et ne devrait pas être utilisé.
- java-classname (Texte) - Nom de classe Java complet qualifié à instancier. Cet attribut n'est applicable qu'avec le type d'analyseur syntaxique java.
Enfants
- Effectuez une sélection.
- scope : (1 exactement) - Portée de la variable
- Choisissez un nombre dans n'importe quel ordre.
- match : (Zéro ou plus) - Permet à des correspondances d'expression régulière de passer d'un état à un autre dans un analyseur syntaxique regexp
- state : (Zéro ou plus) - Etat de type flex pour les analyseurs syntaxiques regexp
- add-content : (Zéro ou plus) - Dans un analyseur syntaxique regexp, permet d'ajouter un élément content à la sortie XML lors de la saisie de l'état/de la correspondance qu'elle contient
Exemples
Exemple d'entrée :
<parser name="p"> <match token="ok"> <add-document/> <add-content name="c"/> </match> </parser> <parse parser="p">ok</parse>
Exemple de sortie :
<parser name="p"> <match token="ok"> <add-document/> <add-content name="c"/> </match> </parser> <documents> <document id="Ndoc0"> <content name="c" type="html" action="cluster" weight="1">ok</content> </document> </documents>
Exemple d'entrée :
<parser name="p" type="xsl"> <xsl:template match="/test"> <document> <content name="test"> <xsl:value-of select="."/> </content> </document> </xsl:template> </parser> <parse parser="p"><?xml version="1.0"?><test>ok</test></parse>
Exemple de sortie :
<parser name="p" type="xsl"> <xsl:template match="/test"> <document> <content name="test"> <xsl:value-of select="."/> </content> </document> </xsl:template> </parser> <documents> <document id="Ndoc0"> <content name="test" type="html" action="cluster" weight="1">ok</content> </document> </documents>
Exemple d'entrée :
<parser name="p" type="xsl"> <xsl:template match="/html/body"> <document> <content name="test"> <xsl:value-of select="."/> </content> </document> </xsl:template> </parser> <parse parser="p"><html><body>ok</body></html></parse>
Exemple de sortie :
<parser name="p" type="xsl"> <xsl:template match="/html/body"> <document> <content name="test"> <xsl:value-of select="."/> </content> </document> </xsl:template> </parser> <documents> <document id="Ndoc0"> <content name="test" type="html" action="cluster" weight="1">ok</content> </document> </documents>