Applicabilité lors de la publication
Vue d'ensemble
Les rubriques XML peuvent contenir des expressions logiques, afin de déterminer si le contenu doit être inclus au niveau de l'élément. Le marquage qui définit les options et choix qui s'appliquent à un certain contenu est appelé applicabilité en ligne. La décision d'inclure ou d'exclure du contenu est déterminée en comparant cette expression logique aux choix sélectionnés par le filtre d'applicabilité au moment de la publication (ou par le paramètre rootApplicabilityExpression, s'il est défini dans une règle de publication).
Une expression d'applicabilité représente un sous-ensemble des options et choix d'un produit, utilisé pour annoter le contenu. Cette expression associe le contenu avec un ou plusieurs produits spécifiques. Elle peut ensuite être utilisée pour filtrer ces derniers. Les expressions simples peuvent être associées à l'aide d'opérateurs logiques.
Dans l'interface utilisateur de la structure de service, vous pouvez définir le filtrage de la structure de service et de l'applicabilité en ligne pour les documents dynamiques à l'aide du groupe d'actions Filtrer de la barre d'outils de l'onglet Structure. La publication applique le Filtre d'options à la structure de publication et à ses documents dynamiques. Si le paramètre de règle de publication rootApplicabilityExpression est défini, il écrase l'expression de filtrage définie à l'aide du groupe d'actions Filtrer.
Le filtrage de l'applicabilité en ligne est uniquement pris en charge pour les types de sortie PDF et l'utilisation de XSL. Dans le cas d'une sortie de paquet, aucun filtrage n'est appliqué lors de la publication, car il est effectué par un utilisateur Servigistics InService.
Les expressions d'applicabilité doivent utiliser un analyseur susceptible de déchiffrer les expressions associées aux options et aux choix qui sont spécifiées à l'aide d'opérateurs de disjonction ou d'intersection, du type AND, OR et NOT.
A propos d'APEX
Windchill utilise la syntaxe d'assemblage à la commande pour représenter les expressions d'applicabilité. Lorsqu'un paquet est publié, en fonction de la règle de publication, les expressions d'applicabilité sont publiées au format APEX, qui est utilisable par Servigistics InService. Pour plus d'informations sur les règles de publication, consultez la section "Expressions d'applicabilité dans les paquets".
APEX est une syntaxe basée sur le langage de programmation LISP. La valeur de la propriété LogicalExpression est l'expression d'applicabilité APEX qui s'applique à un objet Windchill. Cette propriété est disponible dans les fichiers DMPmap.xml et hierarchy.xml d'une structure de service et d'une hiérarchie de produit de service dans un paquet publié.
Utilisez le tableau ci-dessous pour mieux comprendre la grammaire d'expression APEX.
Symbole de grammaire APEX
|
Grammaire d'expression APEX
|
expression
|
"(" expression-body ")" | constant
|
expression-body
|
polyadic-body | choice-body | function-body
|
polyadic-body
|
polyadic-op s expression expression-list
|
choice-body
|
"IS" s quote string-list
|
function-body
|
name string-list
|
expression-list
|
empty | s expression s expression-list
|
string-list
|
empty | s quote s string-list
|
S
|
" " | " " s
|
polyadic-op
|
"AND" | "OR" | "NOT"
|
constant
|
"TRUE" | "FALSE" | "UNKNOWN"
|
quote
|
' string '
|
Exemples
|
Vous devez définir une expression affectée à l'intérieur d'une parenthèse, car l'opérateur AND indiqué par + est prioritaire sur l'opérateur OR indiqué par /.
|
Exemple 1 :
Une expression est affectée à un objet dans Windchill, où l'option Pneu a la valeur 155 ou 145 et l'option Couleur est définie sur Noir ou Rouge. Le format d'assemblage à la commande est le suivant :
("155"/"145") + (Black/Red)
Format APEX correspondant :
(AND (IS 'Tire' '155' '145') (IS 'Colour' 'Black' 'Red')
Exemple 2 :
Une expression est affectée à un objet dans Windchill, où l'option Version est définie sur X-24 ou X-26. Pour la version X-24, l'option Maintenance peut être M022 ou M023. Le format d'assemblage à la commande est donc le suivant :
(“X-24” + (“M022”/”M023”) ) / ”X-26”
Format APEX correspondant :
(OR (AND (IS 'release' 'X-24') (IS 'maintenance' 'M022' 'M023')) (IS 'release' 'X-26'))
Exemple 3 :
Une expression est affectée à un objet Windchill avec une effectivité de service comme suit :
La valeur X96 est affectée à l'option Famille avec le contexte sous forme de modèles K95 ou K96. Le type d'effectivité du service est le numéro de série avec une plage définie entre 12 000 et 13 000. Format APEX correspondant à l'effectivité du service et à l'expression ci-dessus :
(AND (IS 'family' 'X96') (IS 'model' 'K95' 'K96') (IS 'serialNo' '12000' '13000'))
Configuration des feuilles de style
Si vous voulez que les expressions d'applicabilité en ligne du fichier Identificateur.xml associé au document de structure de service racine soient envoyées au champ de données, vous devez modifier la feuille de style pubstructXsl, afin qu'elle copie les expressions d'applicabilité du fichier Identificateur.xml à l'emplacement correct dans votre plan DITA de sortie (par exemple, les éléments topicref et topic).
Configuration des règles de publication
Lorsque vous créez des règles de publication pour les sorties PDF et XSL, vous devez prendre en compte les paramètres de règle de publication à appliquer lors de la publication sur le serveur Arbortext Publishing Engine. Vous pouvez utiliser les paramètres de règle de publication d'applicabilité de base et les appliquer aux structures et au contenu en ligne des documents dynamiques. La commande suivante est précédée de com.ptc.arbortext.pe/ :
• applicabilitySyntax
Spécifiez le nom de la syntaxe utilisée pour les expressions d'applicabilité dans le champ de données. Spécifiez le nom enregistré sur le serveur Arbortext Publishing Engine à l'aide de la méthode de liste de contrôle d'accès applic::registerSyntax(). Il n'existe aucune valeur par défaut.
Si un paquet est publié à des fins d'utilisation avec Servigistics InService, et si les structures et leurs rubriques utilisent l'assemblage à la commande et la même syntaxe source, applicabilitySyntax est le seul paramètre requis pour la publication des paquets.
• rootApplicabilityExpression
Spécifiez une expression d'applicabilité à appliquer à la structure de service complète et à son contenu lors de la publication. La syntaxe de l'expression doit correspondre à celle qui figure dans la structure de service et dans le contenu textuel de son code XML.
L'applicabilité des documents dynamiques en ligne est activée ou désactivée via le paramètre disableInlineApplicFiltering. Spécifiez la valeur true (valeur par défaut) pour désactiver l'applicabilité en ligne, ou indiquez la valeur false pour l'activer.
Pour en savoir plus sur les paramètres des règles de publication, voir
Paramètres du convertisseur de service.
Implémentation d'un analyseur de syntaxe
La syntaxe d'applicabilité peut prendre un format de base reposant sur des étiquettes du jeu d'options, en supposant que ces étiquettes correspondent à des noms de choix uniques. Les expressions d'applicabilité utilisent des opérateurs pour combiner ou ignorer des choix. Un analyseur est nécessaire pour évaluer l'expression au moyen d'une syntaxe enregistrée.
Pour implémenter un nouvel analyseur syntaxique, vous devez utiliser les lots Java suivants, situés sur le serveur Arbortext Publishing Engine dans le fichier lib\classes\applicability.jar :
• com.ptc.arbortext.applicability.expression
Lot Java qui contient des interfaces pour la prise en charge des objets d'une expression d'applicabilité, à des fins de filtrage du contenu avec des données d'options et de choix. Les éléments d'options présentent un nom, une description et un ensemble d'éléments de choix. Les éléments d'options et de choix sont associés à un attribut d'étiquette, lequel est utilisé dans l'interface utilisateur et dans les expressions d'applicabilité. Le système s'attend à ce que les étiquettes soient uniques dans chaque jeu d'options.
• com.ptc.arbortext.applicability.representation
Lot Java qui contient des interfaces pour la prise en charge du marquage d'applicabilité pour les éléments, les attributs, le contenu et le traitement des instructions.
Dans le champ de données, les options et les choix sont inclus dans le fichier OptionsDefinition.xml.
Enregistrement de la syntaxe d'applicabilité
Pour qu'elle soit utilisable lors de la publication, vous devez enregistrer votre syntaxe d'applicabilité sur le serveur Arbortext Publishing Engine en utilisant une fonction ACL. Pour cela, utilisez la fonction d'enregistrement suivante :
applic::registerSyntax(NAME, TEST_XPATH, EXPR_XPATH, PARSER_CLASS)
• NOM : nom de la syntaxe d'applicabilité.
• TEST_XPATH : expression booléenne XPath permettant de vérifier s'il existe une expression d'applicabilité pour un élément.
• EXPR_XPATH : expression XPath qui récupère l'applicabilité pour un élément particulier.
• PARSER_CLASS : nom de classe de l'analyseur associé à la syntaxe d'applicabilité.
Par défaut, un analyseur d'assemblage à la commande est disponible sur le serveur. Il est enregistré comme suit (ne tenez pas compte des sauts de ligne) :
applic::registerSyntax("ATO", "boolean(@*[namespace-uri() =
'http://arbortext.ptc.com/namespace/ATO'
and local-name() = 'applic'])",
"@*[namespace-uri() = 'http://arbortext.ptc.com/namespace/ATO'
and local-name() = 'applic']",
"com.ptc.arbortext.applicability.representation.ATOParser")
Expressions d'applicabilité dans les paquets
Le filtrage d'applicabilité n'est pas exécuté lors de la publication des paquets. Au lieu de cela, les expressions d'applicabilité sont converties selon un format pouvant être appliqué dans Servigistics InService.
L'applicabilité d'une structure de publication se trouve dans la propriété de métadonnées LogicalExpression. L'applicabilité des rubriques est copiée dans l'attribut {http://arbortext.ptc.com/namespace/ATO}applic, puis convertie.
Les paramètres d'applicabilité en ligne suivants s'appliquent aux structures publiées vers des paquets :
• com.ptc.arbortext.pe.service/structureSourceApplicSyntax
Spécifiez le nom de la syntaxe utilisée pour les expressions d'applicabilité dans la structure de service. Spécifiez le nom enregistré par applic::registerSyntax sur le serveur Arbortext Publishing Engine. S'il n'est pas indiqué, la valeur du paramètre applicabilitySyntax est utilisée. Si le paramètre applicabilitySyntax n'est pas spécifié, la valeur par défaut est ATO.
• com.ptc.arbortext.pe.service/structureTargetApplicSyntax
Spécifiez le nom de la syntaxe utilisée pour les expressions d'applicabilité une fois le traitement du sous-système de service terminé. Spécifiez le nom enregistré par applic::registerSyntax sur le serveur Arbortext Publishing Engine. S'il n'est pas indiqué, la valeur du paramètre applicabilitySyntax est utilisée. Si le paramètre applicabilitySyntax n'est pas spécifié, la valeur par défaut est ATO.
• disableStructureApplicabilityConverter
Spécifiez si le système doit rechercher et convertir des expressions d'applicabilité dans une structure. Spécifiez la valeur false (valeur par défaut des paquets) pour activer cette fonction. Spécifiez la valeur true pour la désactiver. Par défaut, elle est désactivée pour les PDF.
Les paramètres d'applicabilité en ligne suivants s'appliquent aux rubriques publiées dans des paquets :
• com.ptc.arbortext.pe.service/topicCcfParam.sourceApplicabilitySyntax
Spécifiez le nom de la syntaxe utilisée pour les expressions d'applicabilité dans les rubriques du paquet. Spécifiez le nom enregistré sur le serveur Arbortext Publishing Engine. S'il n'est pas indiqué, la valeur du paramètre applicabilitySyntax est utilisée. Si le paramètre applicabilitySyntax n'est pas spécifié, la valeur par défaut est ATO.
• com.ptc.arbortext.pe.service/topicCcfParam.targetApplicabilitySyntax
Spécifiez le nom de la syntaxe utilisée pour les expressions d'applicabilité dans les rubriques, une fois que le sous-système de service a terminé le traitement. Spécifiez le nom enregistré sur le serveur Arbortext Publishing Engine. S'il n'est pas indiqué, la valeur du paramètre applicabilitySyntax est utilisée. Si le paramètre applicabilitySyntax n'est pas spécifié, la valeur par défaut est APEX.
• com.ptc.arbortext.pe.service/topicCcfParam.disableApplicabilityConverter
Spécifiez si le système doit rechercher et convertir des expressions d'applicabilité dans une rubrique. Spécifiez la valeur false (valeur par défaut) pour activer cette fonction. Spécifiez la valeur true pour la désactiver.
Expressions d'applicabilité de profilage
Les éléments d'information peuvent s'être vus appliquer un profilage lors de leur création. Le marquage de profilage peut être converti en expression d'applicabilité en utilisant une syntaxe d'applicabilité. La conversion du profilage est contrôlée par le paramètre de publication booléen com.ptc.arbortext.pe.service/topicCcfParam.disableProfilingConverter.
Par exemple, le marquage suivant pourrait figurer dans un document XML, où os et userlevel spécifient le profilage :
<chapter os="Windows Vista;Unix" userlevel="Novice">
Une demande de publication définissant la syntaxe APEX comme expression d'applicabilité convertirait les informations de profilage dans le marquage suivant :
<book xmlns:prf=http://arbortext.ptc.com/namespace/
applicability/profiling prf:syntax="APEX"
prf:optionSet="axdocbook">
<chapter prf:applic="(AND (IS 'os' 'Windows Vista' 'Unix')
(IS 'userlevel' 'Novice'))">
</chapter>
</book>
L'URI d'espace de nom du paramètre prf de niveau supérieur spécifie une configuration de profilage. L'attribut de profilage d'espace de nom est spécifié par le paramètre de publication com.ptc.arbortext.pe.service/topicCcfParam.profilingAttribute.
L'attribut prf:syntax spécifie la syntaxe de l'expression. L'attribut prf:optionSet spécifie le type de document de la configuration de profilage utilisée.
L'attribut prf:applic est placé au niveau de l'élément contenant le marquage de profilage, et l'expression convertie lui est affectée.
Les attributs de profilage d'origine peuvent être supprimés des éléments d'information en cas de publication dans un paquet via le paramètre com.ptc.arbortext.pe.service/topicCcfParam.removeProfilingMarkup.
Dans le champ de données de publication, le fichier OptionsDefinition.xml contient la liste des groupes d'options de configuration du profilage. En ce qui concerne l'exemple précédent, le jeu d'options pourrait ressembler à ce qui suit :
<OptionSet container="axdocbook.pcf" token="_oset_axdocbook_pcf"
label="Operating System, User Level, Output Type, Security Level Options">
<Option label="os" token="_opt_axdocbook_os"><Name>Operating System</Name>
<Choice label="Windows XP" token="_ch_axdocbook_pcf_os_windows_xp">
<Name>Windows XP</Name></Choice>
<Choice label="Windows Vista" token="_ch_axdocbook_pcf_os_windows_vista">
<Name>Windows Vista</Name></Choice>
<Choice label="Windows 7" token="_ch_axdocbook__pcf_os_windows_7">
<Name>Windows 7</Name></Choice>
<Choice label="Unix" token="_ch_axdocbook_pcf_os_unix">
<Name>Unix</Name></Choice>
</Option>
<Option label="userlevel" token="_opt_axdocbook_pcf_userlevel">
<Name>User Level</Name>
<Choice label="Novice" token="_ch_axdocbook_pcf_userlevel_novice">
<Name>Novice</Name></Choice>
<Choice label="Typical" token="_ch_axdocbook_pcf_userlevel_typical">
<Name>Typical</Name></Choice>
<Choice label="Expert" token="_ch_axdocbook_pcf_userlevel_expert">
<Name>Expert</Name></Choice>
</Option>
</OptionSet>
Pour en savoir plus sur les paramètres de publication de profilage, consultez la section
Paramètres du convertisseur de service.