documentation-standard.xml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <appendix id="doc-standard">
  5. <title>Norma sobre a documentação do Zend Framework</title>
  6. <sect1 id="doc-standard.overview">
  7. <title>Visão Geral</title>
  8. <sect2 id="doc-standard.overview.scope">
  9. <title>Escopo</title>
  10. <para>
  11. Este documento fornece diretrizes para a criação da documentação de usuário final
  12. fornecida junto com o Zend Framework. É um guia destinado aos colaboradores do Zend
  13. Framework, que devem escrever a documentação como parte de suas contribuições de
  14. componentes, bem como aos tradutores de documentação. As normas contidas neste
  15. documento são destinadas a facilitar a tradução da documentação, minimizar as
  16. diferenças visuais e de estilo entre os diferentes arquivos de documentação, e
  17. facilitar a busca por diferenças na documentação com o comando
  18. <command>diff</command>.
  19. </para>
  20. <para>
  21. Você pode adotar e/ou modificar estas normas, em conformidade com os termos de nossa
  22. <ulink url="http://framework.zend.com/license">licença</ulink>.
  23. </para>
  24. <para>
  25. Os tópicos compreendidos nas normas sobre a documentação do Zend Framework incluem a
  26. formatação dos arquivos de documentação e recomendações sobre a qualidade da
  27. documentação.
  28. </para>
  29. </sect2>
  30. </sect1>
  31. <sect1 id="doc-standard.file-formatting">
  32. <title>Formatação dos Arquivos de Documentação</title>
  33. <sect2 id="doc-standard.file-formatting.xml-tags">
  34. <title>Tags XML</title>
  35. <para>
  36. Cada arquivo do manual deve incluir as seguintes declarações <acronym>XML</acronym>
  37. no topo do arquivo:
  38. </para>
  39. <programlisting language="xml"><![CDATA[
  40. <?xml version="1.0" encoding="UTF-8"?>
  41. <!-- Reviewed: no -->
  42. ]]></programlisting>
  43. <para>
  44. Os arquivos <acronym>XML</acronym> provenientes de traduções devem também incluir
  45. uma tag de revisão contendo a revisão do arquivo correspondente em inglês na qual a
  46. tradução se baseou.
  47. </para>
  48. <programlisting language="xml"><![CDATA[
  49. <?xml version="1.0" encoding="UTF-8"?>
  50. <!-- EN-Revision: 14978 -->
  51. <!-- Reviewed: no -->
  52. ]]></programlisting>
  53. </sect2>
  54. <sect2 id="doc-standard.file-formatting.max-line-length">
  55. <title>Comprimento Máximo da Linha</title>
  56. <para>
  57. O comprimento máximo da linha, incluindo tags, atributos e indentação, não deve
  58. exceder 100 caracteres. Existe apenas uma exceção a essa regra: os pares de atributo
  59. e valor são autorizados a ultrapassar os 100 caracteres, desde que não seja
  60. permitido estarem separados.
  61. </para>
  62. </sect2>
  63. <sect2 id="doc-standard.file-formatting.indentation">
  64. <title>Indentação</title>
  65. <para>
  66. A indentação deve ser composta por 4 espaços. Tabs não são permitidos.
  67. </para>
  68. <para>
  69. Tags que estão no mesmo nível devem ter a mesma indentação.
  70. </para>
  71. <programlisting language="xml"><![CDATA[
  72. <sect1>
  73. </sect1>
  74. <sect1>
  75. </sect1>
  76. ]]></programlisting>
  77. <para>
  78. Tags que estão um nível abaixo da tag anterior devem ser indentadas com 4 espaços
  79. adicionais.
  80. </para>
  81. <programlisting language="xml"><![CDATA[
  82. <sect1>
  83. <sect2>
  84. </sect2>
  85. </sect1>
  86. ]]></programlisting>
  87. <para>
  88. Vários elementos de bloco dentro de uma mesma linha não são permitidos, no entanto
  89. vários elementos inline são permitidos.
  90. </para>
  91. <programlisting language="xml"><![CDATA[
  92. <!-- NÃO PERMITIDO -->
  93. <sect1><sect2>
  94. </sect2></sect1>
  95. <!-- PERMITIDO -->
  96. <para>
  97. <classname>Zend_Magic</classname> não existe. <classname>Zend_Acl</classname> existe.
  98. </para>
  99. ]]></programlisting>
  100. </sect2>
  101. <sect2 id="doc-standard.file-formatting.line-termination">
  102. <title>Terminação de Linha</title>
  103. <para>
  104. A terminação de linha segue a convenção para arquivos de texto do Unix. As linhas
  105. devem terminar com um simples caractere line feed (LF). Caracteres line feed são
  106. representados pelo ordinal 10 ou hexadecimal 0x0A.
  107. </para>
  108. <para>
  109. Nota: Não utilize o carriage return (<acronym>CR</acronym>), como na convenção dos
  110. sistemas operacionais da Apple (0x0D) ou a combinação carriage return - line feed
  111. (<acronym>CRLF</acronym>) como no padrão para os sistemas operacionais Windows
  112. (0x0D, 0x0A).
  113. </para>
  114. </sect2>
  115. <sect2 id="doc-standard.file-formatting.empty-tags">
  116. <title>Tags vazias</title>
  117. <para>
  118. Tags vazias não são permitidas; todas as tags devem conter texto ou tags filhas.
  119. </para>
  120. <programlisting language="xml"><![CDATA[
  121. <!-- NÃO PERMITIDO -->
  122. <para>
  123. Algum texto. <link></link>
  124. </para>
  125. <para>
  126. </para>
  127. ]]></programlisting>
  128. </sect2>
  129. <sect2 id="doc-standard.file-formatting.whitespace">
  130. <title>Uso de espaços em branco dentro de documentos</title>
  131. <sect3 id="doc-standard.file-formatting.whitespace.trailing">
  132. <title>Espaço em branco dentro de tags</title>
  133. <para>
  134. Não deve haver nada imediatamente apoś as tags de abertura de elementos de bloco
  135. além de uma quebra linha (e a indentação na linha seguinte).
  136. </para>
  137. <programlisting language="xml"><![CDATA[
  138. <!-- NÃO PERMITIDO -->
  139. <sect1>ESPAÇO
  140. </sect1>
  141. ]]></programlisting>
  142. <para>
  143. Não deve haver espaço em branco imediatamente após as tags de abertura de
  144. elementos inline.
  145. </para>
  146. <programlisting language="xml"><![CDATA[
  147. <!-- NÃO PERMITIDO -->
  148. Esta é a classe <classname> Zend_Class</classname>.
  149. <!-- PERMITIDO -->
  150. Esta é a classe <classname>Zend_Class</classname>.
  151. ]]></programlisting>
  152. <para>
  153. As tags de fechamento de elementos de bloco podem ser precedidos por espaços em
  154. branco equivalentemente ao nível atual de indentação, mas não mais do que isso.
  155. </para>
  156. <programlisting language="xml"><![CDATA[
  157. <!-- NÃO PERMITIDO -->
  158. <sect1>
  159. </sect1>
  160. <!-- PERMITIDO -->
  161. <sect1>
  162. </sect1>
  163. ]]></programlisting>
  164. <para>
  165. As tags de fechamento de elementos inline não devem ser precedidas por nenhum
  166. espaço em branco.
  167. </para>
  168. <programlisting language="xml"><![CDATA[
  169. <!-- NÃO PERMITIDO -->
  170. Esta é a classe <classname>Zend_Class </classname>
  171. <!-- PERMITIDO -->
  172. Esta é a classe <classname>Zend_Class</classname>
  173. ]]></programlisting>
  174. </sect3>
  175. <sect3 id="doc-standard.file-formatting.whitespace.multiple-line-breaks">
  176. <title>Várias quebras de linha</title>
  177. <para>
  178. Várias quebras de linha dentro ou entre as tags não são permitidas.
  179. </para>
  180. <programlisting language="xml"><![CDATA[
  181. <!-- NÃO PERMITIDO -->
  182. <para>
  183. Algum texto...
  184. ... e mais texto
  185. </para>
  186. <para>
  187. Outro parágrafo.
  188. </para>
  189. <!-- PERMITIDO -->
  190. <para>
  191. Algum texto...
  192. ... e mais texto
  193. </para>
  194. <para>
  195. Outro parágrafo.
  196. </para>
  197. ]]></programlisting>
  198. </sect3>
  199. <sect3 id="doc-standard.file-formatting.whitespace.tag-separation">
  200. <title>Separação entre as tags</title>
  201. <para>
  202. Tags em um mesmo nível devem ser separadas por uma linha em branco para melhorar
  203. a legibilidade.
  204. </para>
  205. <programlisting language="xml"><![CDATA[
  206. <!-- NÃO PERMITIDO -->
  207. <para>
  208. Algum texto...
  209. </para>
  210. <para>
  211. Mais texto...
  212. </para>
  213. <!-- PERMITIDO -->
  214. <para>
  215. Algum texto...
  216. </para>
  217. <para>
  218. Mais texto...
  219. </para>
  220. ]]></programlisting>
  221. <para>
  222. O primeiro elemento filho de ser aberto diretamente abaixo de seu pai, sem linha
  223. vazia entre eles. O último elemento filho deve ser fechado diretamente antes da
  224. tag de fechamento de seu pai.
  225. </para>
  226. <programlisting language="xml"><![CDATA[
  227. <!-- NÃO PERMITIDO -->
  228. <sect1>
  229. <sect2>
  230. </sect2>
  231. <sect2>
  232. </sect2>
  233. <sect2>
  234. </sect2>
  235. </sect1>
  236. <!-- PERMITIDO -->
  237. <sect1>
  238. <sect2>
  239. </sect2>
  240. <sect2>
  241. </sect2>
  242. <sect2>
  243. </sect2>
  244. </sect1>
  245. ]]></programlisting>
  246. </sect3>
  247. </sect2>
  248. <sect2 id="doc-standard.file-formatting.program-listing">
  249. <title>Códigos de Exemplo</title>
  250. <para>
  251. A tag de abertura de <emphasis>&lt;programlisting&gt;</emphasis> deve indicar o
  252. atributo "language" adequado e ser indentado no mesmo nível que seus blocos irmãos.
  253. </para>
  254. <programlisting language="xml"><![CDATA[
  255. <para>Parágrafo irmão.</para>
  256. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  257. ]]></programlisting>
  258. <para>
  259. <acronym>CDATA</acronym> deve ser usado junto de todos os códigos de exemplo.
  260. </para>
  261. <para>
  262. As seções de <emphasis>&lt;programlisting&gt;</emphasis> não devem conter quebras de
  263. linha ou espaços em branco no início ou no final da seção, uma vez que estas são
  264. representadas no resultado final.
  265. </para>
  266. <programlisting language="xml"><![CDATA[
  267. <!-- NÃO PERMITIDO -->
  268. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  269. $render = "xxx";
  270. ]]]]>&gt;<![CDATA[</programlisting>
  271. <!-- PERMITIDO -->
  272. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  273. $render = "xxx";
  274. ]]]]>&gt;<![CDATA[</programlisting>
  275. ]]></programlisting>
  276. <para>
  277. As tags de fechamento de <acronym>CDATA</acronym> e
  278. <emphasis>&lt;programlisting&gt;</emphasis> devem estar na mesma linha, sem qualquer
  279. indentação.
  280. </para>
  281. <programlisting language="xml"><![CDATA[
  282. <!-- NÃO PERMITIDO -->
  283. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  284. $render = "xxx";
  285. ]]]]>&gt;<![CDATA[
  286. </programlisting>
  287. <!-- NÃO PERMITIDO -->
  288. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  289. $render = "xxx";
  290. ]]]]>&gt;<![CDATA[</programlisting>
  291. <!-- PERMITIDO -->
  292. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  293. $render = "xxx";
  294. ]]]]>&gt;<![CDATA[</programlisting>
  295. ]]></programlisting>
  296. <para>
  297. A tag <emphasis>&lt;programlisting&gt;</emphasis> deve conter o atributo "language"
  298. com um valor correspondente ao conteúdo do código de exemplo. Os valores típicos
  299. incluem "css", "html", "ini", "javascript", "php", "text", e "xml".
  300. </para>
  301. <programlisting language="xml"><![CDATA[
  302. <!-- PHP -->
  303. <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
  304. <!-- Javascript -->
  305. <programlisting language="javascript">]]>&lt;<![CDATA[![CDATA[
  306. <!-- XML -->
  307. <programlisting language="xml">]]>&lt;<![CDATA[![CDATA[
  308. ]]></programlisting>
  309. <para>
  310. Para códigos de exemplo que contenham apenas código <acronym>PHP</acronym>, as tags
  311. do <acronym>PHP</acronym> (por exemplo, "&lt;?php", "?&gt;") não são necessárias, e
  312. não devem ser usadas. Elas dificultam a legibilidade do código, e estão implícitas
  313. no uso do elemento <emphasis>&lt;programlisting&gt;</emphasis>.
  314. </para>
  315. <programlisting language="xml"><![CDATA[
  316. <!-- NÃO PERMITIDO -->
  317. <programlisting language="php"]]>&lt;<![CDATA[![CDATA[<?php
  318. // ...
  319. ?>]]]]>&gt;<![CDATA[</programlisting>
  320. <programlisting language="php"]]>&lt;<![CDATA[![CDATA[
  321. <?php
  322. // ...
  323. ?>
  324. ]]]]>&gt;<![CDATA[</programlisting>
  325. ]]></programlisting>
  326. <para>
  327. Os comprimentos de linha dentro de códigos de exemplo devem seguir as <link
  328. linkend="coding-standard.php-file-formatting.max-line-length">recomendações das
  329. normas de codificação</link>.
  330. </para>
  331. <para>
  332. Evite utilizar <methodname>require_once()</methodname>,
  333. <methodname>require()</methodname>, <methodname>include_once()</methodname>, e
  334. <methodname>include()</methodname> dentro de exemplos em <acronym>PHP</acronym>.
  335. Eles dificultam a legibilidade do código, e são basicamente evitados quando
  336. utiliza-se um carregador automático. Use-os apenas quando forem essenciais ao
  337. exemplo.
  338. </para>
  339. <note>
  340. <title>Nunca utilize tags curtas</title>
  341. <para>
  342. Tags curtas (por exemplo, "&lt;?", "&lt;?=") nunca devem ser usadas dentro do
  343. elemento <emphasis>programlisting</emphasis> ou no restante da documentação.
  344. </para>
  345. </note>
  346. </sect2>
  347. <sect2 id="doc-standard.file-formatting.inline-tags">
  348. <title>Notas sobre elementos inline específicos</title>
  349. <sect3 id="doc-standard.file-formatting.inline-tags.classname">
  350. <title>classname</title>
  351. <para>
  352. O elemento <emphasis>&lt;classname&gt;</emphasis> deve ser usado cada vez que um
  353. nome de classe é representado sozinho. Não deve ser usado quando combinado com
  354. um nome de método, nome de variável ou constante, e nenhum outro conteúdo é
  355. permitido dentro do elemento.
  356. </para>
  357. <programlisting language="xml"><![CDATA[
  358. <para>
  359. A classe <classname>Zend_Class</classname>.
  360. </para>
  361. ]]></programlisting>
  362. </sect3>
  363. <sect3 id="doc-standard.file-formatting.inline-tags.varname">
  364. <title>varname</title>
  365. <para>
  366. Variáveis devem ser envolvidas pelo elemento
  367. <emphasis>&lt;varname&gt;</emphasis>. As variáveis devem ser escritas usando o
  368. símbolo "$". Nenhum outro conteúdo é permitido dentro deste elemento, exceto se
  369. um nome de classe é usado, o que indica uma variável de classe.
  370. </para>
  371. <programlisting language="xml"><![CDATA[
  372. <para>
  373. A variável <varname>$var</varname> e a variável de classe
  374. <varname>Zend_Class::$var</varname>.
  375. </para>
  376. ]]></programlisting>
  377. </sect3>
  378. <sect3 id="doc-standard.file-formatting.inline-tags.methodname">
  379. <title>methodname</title>
  380. <para>
  381. Métodos devem ser envolvidos pelo elemento
  382. <emphasis>&lt;methodname&gt;</emphasis>. Os métodos devem ou incluir sua
  383. assinatura completa ou pelo menos um par de parênteses (por exemplo, "()").
  384. Nenhum outro conteúdo é permitido dentro do elemento, exceto se um nome de
  385. classe é usado, o que indica um método de classe.
  386. </para>
  387. <programlisting language="xml"><![CDATA[
  388. <para>
  389. O método <methodname>foo()</methodname> e o método de classe
  390. <methodname>Zend_Class::foo()</methodname>. Um método com uma assinatura
  391. completa: <methodname>foo($bar, $baz)</methodname>
  392. </para>
  393. ]]></programlisting>
  394. </sect3>
  395. <sect3 id="doc-standard.file-formatting.inline-tags.constant">
  396. <title>constant</title>
  397. <para>
  398. Use o elemento <emphasis>&lt;constant&gt;</emphasis> quando designar constantes.
  399. As constantes devem ser escritas em <acronym>MAIÚSCULAS</acronym>. Nenhum outro
  400. conteúdo é permitido dentro deste elemento, exceto se um nome de classe é usado,
  401. o que indica uma constante de classe.
  402. </para>
  403. <programlisting language="xml"><![CDATA[
  404. <para>
  405. A constante <constant>FOO</constant> e a constante de classe
  406. <constant>Zend_Class::FOO</constant>.
  407. </para>
  408. ]]></programlisting>
  409. </sect3>
  410. <sect3 id="doc-standard.file-formatting.inline-tags.filename">
  411. <title>filename</title>
  412. <para>
  413. Nomes de arquivos e caminhos devem ser envolvidos pelo elemento
  414. <emphasis>&lt;filename&gt;</emphasis>. Nenhum outro conteúdo é permitido neste
  415. elemento.
  416. </para>
  417. <programlisting language="xml"><![CDATA[
  418. <para>
  419. O nome de arquivo <filename>application/Bootstrap.php</filename>.
  420. </para>
  421. ]]></programlisting>
  422. </sect3>
  423. <sect3 id="doc-standard.file-formatting.inline-tags.command">
  424. <title>command</title>
  425. <para>
  426. Comandos, shell scripts e chamadas de programa devem ser envolvidos pelo
  427. elemento <emphasis>&lt;command&gt;</emphasis>. Se o comando incluir argumentos,
  428. estes também devem ser incluídos dentro do elemento.
  429. </para>
  430. <programlisting language="xml"><![CDATA[
  431. <para>
  432. Execute <command>zf.sh create project</command>.
  433. </para>
  434. ]]></programlisting>
  435. </sect3>
  436. <sect3 id="doc-standard.file-formatting.inline-tags.code">
  437. <title>code</title>
  438. <para>
  439. O uso do elemento <emphasis>&lt;code&gt;</emphasis> é desencorajado, em favor
  440. dos outros elementos inline discutidos anteriormente.
  441. </para>
  442. </sect3>
  443. </sect2>
  444. <sect2 id="doc-standard.file-formatting.block-tags">
  445. <title>Notas sobre elementos de bloco específicos</title>
  446. <sect3 id="doc-standard.file-formatting.block-tags.title">
  447. <title>title</title>
  448. <para>
  449. O elemento <emphasis>&lt;title&gt;</emphasis> não permite ter elementos filhos.
  450. </para>
  451. <programlisting language="xml"><![CDATA[
  452. <!-- NÃO PERMITIDO -->
  453. <title>Usando <classname>Zend_Class</classname></title>
  454. <!-- PERMITIDO -->
  455. <title>Usando Zend_Class</title>
  456. ]]></programlisting>
  457. </sect3>
  458. </sect2>
  459. </sect1>
  460. <sect1 id="doc-standard.recommendations">
  461. <title>Recomendações</title>
  462. <sect2 id="doc-standard.recommendations.editors">
  463. <title>Use editores sem formatação automática</title>
  464. <para>
  465. Para editar a documentação, normalmente você não deve usar os editores
  466. <acronym>XML</acronym> clássicos. Esses editores geralmente formatam automaticamente
  467. os documentos existentes para que se adaptem as suas próprias normas e/ou não seguem
  468. rigorosamente o padrão docbook. Como exemplos, já os vimos apagar as tags
  469. <acronym>CDATA</acronym>, substituírem 4 espaços por tabs ou 2 espaços etc.
  470. </para>
  471. <para>
  472. Estas diretrizes foram escritas em grande parte para auxiliar os tradutores no
  473. reconhecimento das linhas que foram alteradas usando as ferramentas de
  474. <command>diff</command> normais. A formatação automática torna esse processo mais
  475. difícil.
  476. </para>
  477. </sect2>
  478. <sect2 id="doc-standard.recommendations.images">
  479. <title>Use Imagens</title>
  480. <para>
  481. Boas imagens e diagramas podem melhorar a legibilidade e a compreensão. Use-as
  482. sempre que ajudarem nesses objetivos. Imagens devem ser colocadas no diretório
  483. <filename>documentation/manual/en/figures/</filename>, e nomeadas após o
  484. identificador de seção em que lhes diz respeito.
  485. </para>
  486. </sect2>
  487. <sect2 id="doc-standard.recommendations.examples">
  488. <title>Use Exemplos de Caso de Uso</title>
  489. <para>
  490. Procure por bons casos de uso apresentados pela comunidade, especialmente aqueles
  491. que são publicados nos comentários de sugestão ou nas listas de discussão. Os
  492. exemplos frequentemente ilustram a utilização muito melhor do que todo o texto.
  493. </para>
  494. <para>
  495. Ao escrever seus exemplos para inclusão no manual, siga todas as normas de
  496. codificação e de documentação.
  497. </para>
  498. </sect2>
  499. <sect2 id="doc-standard.recommendations.phpdoc">
  500. <title>Evite Duplicar o Conteúdo de phpdoc</title>
  501. <para>
  502. O manual pretende ser um guia de referência para a utilização do usuário final. A
  503. duplicação da documentação de phpdoc para componentes e classes de uso interno não é
  504. desejada, e a documentação deve estar focada na utilização e não no funcionamento
  505. interno. Em qualquer caso, neste momento, gostaríamos que as equipes de documentação
  506. se concentrassem na tradução do manual em inglês, e não nos comentários de phpdoc.
  507. </para>
  508. </sect2>
  509. <sect2 id="doc-standard.recommendations.links">
  510. <title>Use Links</title>
  511. <para>
  512. Crie links para outras seções do manual ou para fontes externas em vez de recriar
  513. documentação.
  514. </para>
  515. <para>
  516. Os links para outras seções do manual podem ser feitos usando o elemento
  517. <emphasis>&lt;link&gt;</emphasis> (para o qual você deve fornecer o nome do link).
  518. </para>
  519. <programlisting language="xml"><![CDATA[
  520. <para>
  521. "Link" cria um link para uma seção, usando um texto descritivo: <link
  522. linkend="doc-standard.recommendations.links">documentação sobre os
  523. links</link>.
  524. </para>
  525. ]]></programlisting>
  526. <para>
  527. Para criar um link para uma fonte externa, use <emphasis>&lt;ulink&gt;</emphasis>:
  528. </para>
  529. <programlisting language="xml"><![CDATA[
  530. <para>
  531. O <ulink url="http://framework.zend.com/">site do Zend Framework</ulink>.
  532. </para>
  533. ]]></programlisting>
  534. </sect2>
  535. </sect1>
  536. </appendix>