ONSGMLS(1)

NOM
onsgmls - Un analyseur et validateur SGML/XML

SYNOPSIS

onsgmls [-BCdeghlnpRrsuvx] [-atype_lien] [-Aarchitecture] [-bbctf] [-csysid...] [-Drépertoire] [-Eerreurs_max] [-ffichier] [-inom] [-ooption_sortie...] [-tfichier] [-wtype_avertissement...] [sysid...]

DESCRIPTION

onsgmls analyse et valide le document SGML dont l'entité document est spécifiée par les identificateurs système [sysid...] et affiche sur la sortie standard une représentation texte simple de son jeu d'informations de structure des éléments (Ndt : Element Structure Information Set). (Il s'agit de l'ensemble d'informations sur lequel une application structurée conforme à SGML devrait agir.) Lorsque plusieurs identificateurs système sont spécifiés, les entités correspondantes sont concaténées pour former l'entité document. Ainsi, l'entité document peut être répartie sur plusieurs fichiers ; par exemple, la déclaration SGML, le prologue et les instances du document peuvent chacun se trouver dans des fichiers séparés. Si aucun identificateur système n'est spécifié, alors onsgmls lira l'entité document depuis l'entrée standard. Un identificateur système, sur la ligne de commande, de valeur « - » peut être utilisé pour faire référence à l'entrée standard. (Normalement, dans un identificateur système, <OSFD>0 est utilisé pour se référer à l'entrée standard.)

Partie d'un système SGML conforme à la norme internationale ISO 8879 -- Standard Generalized Markup Language (Langage de balisage généralisé normalisé) Un système SGML étendu conforme à l'annexe A de la norme internationale ISO/IEC 10744 -- Hypermedia/Time-based Structuring Language (Langage de structuration hypermédia/événementiel)

Les options suivantes sont disponibles :

-atype_lien, --activate=type_lien
    Rend le type de lien type_lien actif. Dans ce cas, toutes les informations ESIS (Ndt : Element Structure Information Set) ne sont pas produites en sortie : les LPDs (Ndt : Link Process Definition) actives ne sont pas explicitement rapportées, bien que chaque attribut de lien soit qualifié avec son nom de type de lien ; il n'y a aucune information sur les élements résultants ; quand plusieurs règles de lien sont applicables à l'élément courant, onsgmls choisit toujours la première.

-Aarchitecture, --architecture=architecture
    Analyse par rapport à l'architecture architecture.

-bbctf, --bctf=bctf, -bencodage, --encoding=encodage
    Cette option détermine l'encodage utilisé pour la sortie. Si c'est en mode de jeu de caractères fixé, elle spécifie le nom d'un encodage ; sinon, elle spécifie le nom d'une BCTF.

-B, --batch_mode
    Mode par lots. Analyse séparément chaque [sysid...] spécifié sur la ligne de commande, plutôt que de les concaténer. C'est pratique surtout avec -s. Si l'option -tnom_de_fichier est également spécifiée, alors le nom de fichier indiqué servira de préfixe aux sysid pour composer les noms de fichiers du résultat RAST (Ndt : Reference Application for SGML Testing) pour chaque sysid.

-csysid, --catalog=sysid
    Met en correspondance les identificateurs publics et les noms d'entités avec les identificateurs système en utilisant le fichier d'entrées de catalogue dont l'identificateur système est sysid. Plusieurs options -c sont permises. S'il y a un fichier d'entrées de catalogue nommé « catalog » au même endroit que l'entité document, il sera scruté immédiatement après ceux spécifiés par -c.

-C, --catalogs
    Les arguments [nom_de_fichier...] spécifient les fichiers catalogues plutôt que l'entité document. L'entité document est spécifiée par la première entrée DOCUMENT dans les fichiers catalogues.

-Drépertoire, --directory=répertoire
    Recherche dans répertoire les fichiers spécifiés dans les identificateurs système. Plusieurs options -D sont permises. Voir la description du gestionnaire de stockage « osfile » pour plus d'informations à propos de la recherche de fichier.

-e, --open-entities
    Décrit les entités ouvertes dans les messages d'erreur. Les messages d'erreur comportent toujours la position de l'entité externe la plus récemment ouverte.

-Emax_erreurs, --max-errors=max_erreurs
    onsgmls s'arrêtera après max_erreurs erreurs. Si max_erreurs vaut 0, il n'y a pas de limite au nombre d'erreurs. La valeur par défaut est 200.

-ffichier, --error-file=fichier
    Redirige les erreurs vers fichier. C'est pratique surtout avec les shells qui ne gèrent pas la redirection de la sortie d'erreur standard « stderr ».

-g, --open-elements
    Montre les identificateurs génériques des éléments ouverts dans les messages d'erreur.

-h, --help
    Affiche un texte d'aide et quitte.

-inom, --include=nom
    Simule la présence de

    <!ENTITY % nom "INCLUDE">

    au début du sous-ensemble de déclaration de type de document dans l'entité document SGML. Puisque que des définitions répétées d'une entité sont ignorées, cette définition aura la préséance sur toutes autres définitions de cette entité dans la déclaration de type de document. Plusieurs options -i sont permises. Si la déclaration SGML remplace le nom réservé INCLUDE, alors le nouveau nom réservé sera le texte de remplacement de l'entité. Typiquement, la déclaration de type de document contiendra

    <!ENTITY % nom "IGNORE">

    et utilisera %nom; dans la spécification du mot clé de statut d'une déclaration de section marquée. Dans ce cas, l'effet de l'option sera que la section marquée ne sera pas ignorée.

-n, --error-numbers
    Affiche les numéros d'erreur dans les messages d'erreur.

-ooption_sortie, --option=option_sortie
    Produit en sortie des informations supplémentaires selon option_sortie :

    entity Produit les définitions de toutes les entités générales, pas seulement pour les entités de données ou « subdoc » qui sont référencées ou nommées dans un attribut ENTITY ou ENTITIES.

    id Distingue les attributs dont la valeur déclarée est ID.

    line Produit des commandes « L » donnant le numéro de ligne et le nom de fichier courants.

    included Produit une commande « i » pour les sous-éléments inclus.

    empty Produit une commande « e » pour des éléments qui ne sont pas autorisés à avoir une balise fermante, c'est ainsi avec un contenu déclaré « empty » ou avec un attribut de référence de contenu.

    notation-sysid Produit une commande « f » avant une commande « N », si un identificateur système peut être généré pour cette notation.

    nonsgml Dans le mode de jeu de caractères fixé, produit des séquences d'échappement pour les caractères de données non SGML. Les caractères de données non SGML peuvent être le résultat d'appels de caractères numériques.

    data-attribute Produit en sortie le nom et les attributs de notation pour les attributs DATA. Autrement, les attributs DATA sont traités comme des attributs CDATA. Pour plus de détails, voir la clause 4.4.3 de l'annexe K de la norme ISO 8879.

    comment Produit en sortie une commande « _ » avec les contenus d'un commentaire. Plusieurs commentaires dans une seule déclaration de commentaire produiront plusieurs commandes « _ » distinctes, comme si les commentaires étaient chacun dans une déclaration de commentaire séparée.

    omitted Produit en sortie une commande « o » avant une commande qui était impliquée par le document d'entrée mais omise du balisage réel. Cela affecte actuellement les commandes « ( », « ) » et « A ».

    tagomit Comme omitted, mais seulement pour les commandes « ( » et « ) »

    attromit Comme omitted, mais seulement pour les commandes « A »

    Plusieurs options -o sont permises.

-p, --only-prolog
    Analyse seulement le prologue. onsgmls quittera après avoir analysé la déclaration de type de document. Implique -s.

-R, --restricted
    Restreint la lecture de fichiers. Cette option s'adresse à l'utilisation d'outils Web basés sur onsgmls (par exemple les scripts CGI) pour prévenir la lecture de fichiers arbitraires sur un serveur Web. Lorsque cette option est activée, onsgmls ne lira aucun fichier local à part ceux situés dans le répertoire (ou sous-répertoire) spécifié par l'option -D ou inclus dans la variable d'environnement SGML_SEARCH_PATH. Pour plus de sécurité, cette option limite les noms de fichiers aux caractères A-Z, a-z, 0-9, « ? », « . », « _ », « - » et ne permet pas les noms de fichiers contenant « .. ».

-s, --no-output
    Supprime la sortie. Les messages d'erreur seront tout de même affichés.

-tnom_de_fichier, --rast-file=nom_de_fichier
    Produit dans nom_de_fichier le résultat RAST ainsi qu'il est défini dans l'« ISO/IEC 13673:1995 » (en fait, ce n'est pas encore complètement une norme internationale ; cela implémente l'« Intermediate Editor's Draft » du 29 août 1994, avec des modifications pour implémenter « ISO/IEC JTC1/SC18/WG8 N1777 »). La sortie normale n'est pas produite.

-v, --version
    Affiche le numéro de version.

-wtype, --warning=type
    Contrôle les avertissements et les erreurs. Plusieurs options -w sont permises. Les valeurs suivantes de « type » activent les avertissements :

    xml Avertit sur les constructions non permises par XML.

    mixed Avertit sur les modèles de contenu mixte qui ne permettent nulle part « #PCDATA ».

    sgmldecl Avertit sur différentes constructions douteuses dans la déclaration SGML.

    should Avertit sur différentes recommandations faites dans l'ISO 8879 avec lesquelles le document n'est pas conforme. (Les recommandations sont exprimées avec « should », ce qui est distinct des exigences qui sont généralement exprimées avec « shall »).

    default Avertit sur les références utilisant l'entité par défaut.

    duplicate Avertit sur les déclarations d'entité dupliquées.

    undefined Avertit sur les éléments non définis : éléments utilisés dans la DTD mais non définis.

    unclosed Avertit sur les balises ouvrantes et fermantes non terminées.

    empty Avertit sur les balises ouvrantes et fermantes vides.

    net Avertit sur les balises ouvrantes autorisant les balises fermantes nulles, et sur les balises fermantes nulles (Ndt : net=null end tag).

    min-tag Avertit sur les balises ouvrantes et fermantes minimisées. Équivaut à une combinaison des avertissements « unclosed », « empty » et « net ».

    unused-map Avertit sur les tables d'appels abrégés (Ndt : short reference maps) inutilisées : tables déclarées dans une déclaration de table d'appels abrégés, mais jamais utilisées dans une déclaration d'utilisation d'appels abrégés dans la DTD. (Ndt : pour plus d'informations sur les appels abrégés, vous pouvez consulter la page, en anglais, http://www.sgml.u-net.com/book/sgml-7.htm#SHORTREF)

    unused-param Avertit sur les entités paramètres définies mais non utilisées dans une DTD. Les entités paramètres internes inutilisées dont le texte est INCLUDE ou IGNORE ne produisent pas d'avertissement.

    notation-sysid Avertit sur les notations pour lesquelles aucun identificateur système n'a pu être généré.

    all Avertit sur les conditions qui pourraient être évitées (de l'avis de l'auteur). Équivalent à : « mixed », « should », « default », « undefined », « sgmldecl », « unused-map », « unused-param », « empty » et « unclosed ».

    immediate-recursion Avertit sur les éléments immédiatement récursifs. Pour plus de détails, voir la clause 2.2.5 de l'annexe K de la norme ISO 8879.

    fully-declared Avertit si l'instance de document n'est pas pleinement déclarée. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie IMPLYDEF ATTLIST NO ELEMENT NO ENTITY NO NOTATION NO. Pour plus de détails, voir la clause 2.2.1 de l'annexe K de la norme ISO 8879.

    fully-tagged Avertit si l'instance de document n'est pas pleinement balisée. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie DATATAG NO, RANK NO, OMITTAG NO, SHORTTAG STARTTAG EMPTY NO et SHORTTAG ATTRIB OMITNAME NO. Pour plus de détails, voir la clause 2.2.2 de l'annexe K de la norme ISO 8879.

    amply-tagged, amply-tagged-recursive Avertit si l'instance de document n'est pas amplement balisée. Les éléments définis implicitement peuvent être immédiatement récursifs si amply-tagged-recursive est spécifié. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie DATATAG NO, RANK NO, OMITTAG NO, SHORTTAG ATTRIB OMITNAME NO et soit IMPLYDEF ELEMENT ANYOTHER ou IMPLYDEF ELEMENT YES. Pour plus de détails, voir la clause 2.2.4 de l'annexe K de la norme ISO 8879.

    type-valid Avertit si l'instance de document n'est pas valide par le type. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie VALIDITY YES. Pour plus de détails, voir la clause 2.2.3 de l'annexe K de la norme ISO 8879.

    entity-ref Avertit sur les appels d'entités non prédéfinies. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie ENTITIES REF NONE. Pour plus de détails, voir la clause 2.3.2 de l'annexe K de la norme ISO 8879.

    external-entity-ref Avertit sur les appels d'entités externes. Cela inclut les références à un sous-ensemble de DTD externe. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie ENTITIES REF INTERNAL. Pour plus de détails, voir la clause 2.3.3 de l'annexe K de la norme ISO 8879.

    integral Avertit si l'instance de document n'est pas intégralement stockée. Cela a pour effet de modifier la déclaration SGML afin qu'elle spécifie ENTITIES INTEGRAL YES.Pour plus de détails, voir la clause 2.3.1 de l'annexe K de la norme ISO 8879.

    Un avertissement peut être désactivé en utilisant son nom préfixé par « no- ». Ainsi -wall -wno-duplicate active tous les avertissements sauf ceux concernant les déclarations d'entités dupliquées.

    Les valeurs suivantes de type_avertissement désactivent les erreurs :

    no-idref Ne signale pas d'erreur pour une valeur de référence à un ID qui n'est présent dans aucun élément. Chaque attribut déclaré en tant que « idref » se comportera comme s'il avait été déclaré en tant que « name ».

    no-significant Ne produit pas d'erreur lorsqu'un caractère qui n'est pas un caractère significatif dans la syntaxe concrète de référence apparaît dans une chaîne littérale de la déclaration SGML. Cela peut être utile avec certaines batteries de test boguées.

    no-valid N'exige pas que le document soit valide par le type. Cela a pour effet de modifier la déclaration SGML pour qu'elle spécifie VALIDITY NOASSERT et IMPLYDEF ATTLIST YES ELEMENT YES. Une option -wvalid a pour effet de modifier la déclaration SGML pour qu'elle spécifie VALIDITY TYPE et IMPLYDEF ATTLIST NO ELEMENT NO. Si ni -wvalid ni -wno-valid ne sont spécifiées, alors les VALIDITY et IMPLYDEF spécifiées dans la déclaration SGML seront utilisées.

    no-afdr Ne produit pas d'erreur lorsque les fonctionnalités de notation AFDR des méta-DTDs sont utilisées. Les erreurs sont normalement produites lors de l'analyse des DTDs, mais supprimées lors de l'analyse des méta-DTDs.

-x, --references
    Affiche l'information sur les clauses pertinentes (de la norme ISO 8879:1986) dans les messages d'erreur.

Les options suivantes sont également acceptées afin d'assurer une compatibilité descendante avec sgmls :

-d  Identique à -wduplicate.

-l  Identique à -oline.

-msysid
    Identique à -c.

-r  Identique à -wdefault.

-u  Identique à -wundef.

VOIR AUSSI
ospent(1), ospam(1), onsgmlnorm(1), osx(1)

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> et Jean-Marc Destabeaux <jmdestabeaux AT free DOT fr> le 16 juin 2004 et révisée le 19 novembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 1 onsgmls ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.