Local Names Format

Bloc Résumé :


1. Format Local Names

Cette page décrit le format du fichier de description d'un espace-nom Local Names.

Cette description est intuitive et devait être suffisamment bonne pour servir la plupart de nos intentions.

Nous développerons une spécification plus formelle. Quand elle sera faite vous la verrez apparaître sur la page "Local Names Formel." Eventuellement, elle deviendra une page statique.

Mais à cette heure, ce document est
  • la source canonique,
  • facile à lire
  • probablement "suffisamment bien"
  • super-friendly :)

Il pourrait vous être utile de comprendre ce que contient Local Names Fondamentaux avant de lire ce document.

  1. . Local Names Format

    1. . Hello, World, en Local Names

      1. . LN (Local Name)
    2. . Répétition du Point
    3. . Notes sur la Syntaxe
    4. . Autres enregistrements
    5. . Exemple Avec N'importe Quoi

      1. . NS (NameSpace)
      2. . FINAL (Last Resort Name Pattern)
      3. . X (Extension Data)
  2. . Détails de Finitions
  3. . Questions et Réponses
  4. . Commentaires, Questions

11. Hello, World, en Local Names

Comme d'habitude, nous commençons par "Hello, World!"


#
# "Hello World" Local Names Description
#
# ( http://purl.net/net/localnames/ for more information)
#

LN "Hello, World!" http://www2.latech.edu/acm/HelloWorld.shtml

Voilà !

Les 3 premières lignes sont des commentaires, parce qu'elles démarrent avec "#". Elles sont ignorés par les interpreters.

Puis il y a une ligne, remplie de trois tokens.

  • Les Tokens sont séparés par un espace blanc.
  • Les marques de guillemets vous laissent inclure un espace blanc à l'intérieur des tokens.
  • Les marques de guillemets ne font pas partie du token.
  • Vous ne pouvez avoir des marques de guillemets à l'intérieur d'un token. Désolé.

111. LN (Local Name)

Le premier token est "LN," et cela signifie : "Cette ligne décrit un local name simple."

Spécifiquement, nous sommes en train de dire "Hello, World!" qui est lié à http://www2.latech.edu/~acm/HelloWorld.shtml .

Si quelqu'un regarde l'URL correspondant à "Hello, World!", la réponse est : "http://www2.latech.edu/~acm/HelloWorld.shtml."

12. Répétition du Point

Maintenant épanchons-nous à ce propos :

#
# http://purl.net/net/localnames/
#

LN "Hello, World!" http://www2.latech.edu/acm/HelloWorld.shtml
.  "Hello, World" .
.  "Hello World" .
.   Hello World .

Ici, nous avons ajouté 3 enregistrements supplémentaires au fichier.

Un seul "." dans un champ signifie toujours : "Répète ce qui était dans cet endroit la ligne d'avant (? what was in this place the row before)."

Ansi la deuxième ligne...

.  "Hello, World" .

...est équivalente à :

LN "Hello, World" http://www2.latech.edu/acm/HelloWorld.shtml

Vu ?

Voilà plus comme ça :

# http://purl.net/net/localnames/

LN "Hello, World!" http://www2.latech.edu/acm/HelloWorld.shtml
.  "Hello, World" .
.  "Local Names" http://purl.net/net/localnames/
.   Local Names .

A ce stade vous remarquez que nous ne nous sommes pas souciés de la casse.

Parce que c'est tout insensible à la casse.

Ok !

En sachant simplement ça, vous pouvez écrire un parser basique et vous pouvez écrire une page table simple et devriez avoir quelques noms à publier... !

13 .Notes sur la Syntaxe

Ainsi, les choses importantes à connaître à propos de la syntaxe sont :

  • Chaque ligne est soit une ligne de commentaire, une ligne blanche ou un enregistrement
  • Chaque enregistrement accepte trois (3) tokens. Pas plus, pas moin.
  • Une ponctuation (".") pour un token signifie : "Répète le token dans cette colonne à partir de l'enregistrement au-dessus."
  • Les Tokens n'ont pas d'espace blanc. Si vous voulez de l'espace blanc, entourez l'anneau entre "guillemets". (Vous ne pouvez pas avoir de guillemets à l'intérieur des noms. Désolé.)
  • Ignorez tout et tout espace blanc encadrant les tokens.

A ce stade, vous savez seulement que "LN," signifie : "Cet enregistrement (cette ligne) décrit un Local Name."

14. Autres enregistrements

Il existes 4 types d'enregistrement :

  • LN:: décrit un Local Name
  • NS:: lie vers un Local Names Name Space
  • X:: eXtension metadata
  • FINAL:: last resort binding pattern

15. Exemple Avec N'importe Quoi

Un exemple pour mettre cela tout ensemble :

#
#      UN EXEMPLE AVEC N'IMPORTE QUOI !
#
#          - - - - - - - - - -
#

LN "Robotic Nation" http://www.marshallbrain.com/robotic-nation.htm
. Robotic Nation? .

. "Robots in 2015" http://marshallbrain.com/robots-in-2015.htm
. RobotsIn2015 .

. "Robotic Freedom" http://marshallbrain.com/robotic-freedom.htm
. Robotic Freedom? .

. "Robotic Nation FAQ" http://marshallbrain.com/robotic-faq.htm
. RoboticNationFAQ .

. "Robotic Nation Evidence" http://roboticnation.blogspot.com/
. Robotic Nation Evidence? .
. Evidence .

. Manna http://www.marshallbrain.com/manna1.htm

NS Lion Kimbro http://my.localnames.taoriver.net/spaces/lion/description/
.  Lion .
.  One Big Soup http://onebigsoup.wiki.taoriver.net/moin.cgi/?action=LocalNames
.  OBS .

FINAL http://lion.taoriver.net/newpage/$NAME/ -

X Demonstration True
. Author Lion Kimbro
. Foo Bar
. "Access By" http://onebigsoup.wiki.taoriver.net/moin.cgi/LocalNamesFormatExample?action=raw
. INVALIDATE-UPON-CHANGE-TO http://onebigsoup.wiki.taoriver.net/moin.cgi/LocalNamesFormatExample

Une explication des nouveaux codes :

151. NS (NameSpace)

Voilà ce que nous avons vu dans la description :

NS Lion Kimbro http://my.localnames.taoriver.net/spaces/lion/description/
.  Lion .
.  One Big Soup http://onebigsoup.wiki.taoriver.net/moin.cgi/?action=LocalNames
.  OBS .
Ceci signifie

"Lion Kimbro (alias "Lion") est un espace-nom décrit à l'URL http://my.localnames.taoriver.net/spaces/lion/description/".

"One Big Soup (alias "OBS") est un espace-nom non décrit à l'URL http://onebigsoup.wiki.taoriver.net/moin.cgi/?action=LocalNames".

"Si quelqu'un cherche un nom, mais qu'il n'est pas dans quelques-uns de mes enregistrement LN, allez chercher cela dans l'espace-nom de Lion. S'il n'y est pas, regardez dans l'espace nom de One Big Soup"

Notez que généralement les recherches vont seulement à un niveau de profondeur.

152. FINAL Last Resort Name Pattern

Dans la description, nous avons vu :

FINAL http://lion.taoriver.net/newpage/$NAME/ -

Ceci signifie :

"Si vous cherchez un nom, et qu'il n'est pas trouvé dans des enregistrements LN et qu'il n'est pas trouvé dans un espace nom dans un enregistrement NS, alors - Comme une last, FINAL resort, vous pouvez utiliser ce modèle."

Ainsi par exemple, si vous cherchez "FooBar" et que ça n'apparaît pas dans quelques-unes de vos listes,...

http://lion.taoriver.net/newpage/$NAME/

...FooBar devrait être substitué dedans pour $NAME
http://lion.taoriver.net/newpage/FooBar/

Simple, non ?

$NAME peut apparaître de multiple fois. $NAME peut apparaître ZERO fois ! (Par exemple, peut-être que vous voulez emmener quelqu'un vers une page "edit", ou une page "désolé le nom n'a pus être trouvé".)

Notez que la ligne FINAL a un tiret ("-") à la fin , dans la 3° colonne. C'est vraiment un "placeholder". Elle est stupide. Vous pouvez y mettre dedans ce que vous voulez. Peu importe. Vous devez simplement y mettre quelque chose.

Pourquoi ce champ stupide ici ? C'est pour faciliter la tâche du "parser-writer" . C'est beaucoup plus facile de s'assurer que ce truc est correct s'il est tout compatible ("NDT if it's all consistent). "3 tokens par ligne, pas d'exceptions !!" Parser writers aiment cette forme de chose.

Ne vous souciez pas de ça. Placez simplement quelque chose là .

153. X (Extension Data)

Vou n'aurez généralemnet pas besoin d'utiliser ça.

Mais, parfois nous aimons ajouter de nouvelles caractéristiques et des trucs comme ça. Nous faisons cela avec le champ X.

Ne vous en souciez pas.

Si vous savez à quoi ça sert, vous savez à quoi ça sert.

Si non, don't fret it. Ignorez-le simplement.

2. Détails de Finition

  • DEVRAIT: encoder documents UTF-8
  • DEVRAIT: accept documents however you can figure out they are
  • DEVRAIT: accept any amount of white space, by a reasonable definition of white space, around tokens
  • DEVRAIT: accept encodings other than UTF-8, by guessing

Nous ne sommes pas vraiment sur le "MUST," à ce stade dans le jeu.

Le format est encore flexible, bien que je ne m'attende pas à quelque changement majeur (comme l'addition de nouvelles sortes d'enregistrements)


3. Questions & Réponses

'What do you do if a definition is repeated?' -- Sean Palmer?

If definitions are repeated, the latter one is used, and ideally a warning is issued.

This is something we can still decide on: The other options are for the former to be used, or for it to be an error.

4. Commentaires et Questions

That's it! If you have any questions or comments, post here at the bottom of the page, or check LocalNamesFormal for possibly more formal description.

-- Lion Kimbro 32:40 Z)?]


Remarques sur cette page :

Merci de poser vos questions sur la page originale. Cette page ici n'est qu'une traduction en cours restant à relire par des experts et programmeurs. De nombreuses erreurs peuvent subsister. -- Christophe Ducamp

Dernière modification le samedi 11 décembre 2004 17:09:08

Éditer HistoriqueDeLaPage Diff  InfosSurLaPage