tpug Sun Dec 9 21:24:49 2001 EDT
Added files:
/phpdoc/tr/features error-handling.xml persistent-connections.xml
remote-files.xml
Log:
complete translation by Alper
Index: phpdoc/tr/features/error-handling.xml
+++ phpdoc/tr/features/error-handling.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<chapter id="features.error-handling">
<title>Hata �lemleri</title>
<para>
PHP'de pek �ok uyarı �e�idi vardır. Bunlar:
<table>
<title>PHP uyarı �e�itleri</title>
<tgroup cols="4">
<thead>
<row>
<entry>Değer</entry>
<entry>Sabit</entry>
<entry>Tanım</entry>
<entry>Not</entry>
</row>
</thead>
<tbody>
<row>
<entry>1</entry>
<entry>E_ERROR</entry>
<entry>hayati �alı�ma hataları</entry>
<entry></entry>
</row>
<row>
<entry>2</entry>
<entry>E_WARNING</entry>
<entry>�alı�ma uyarıları (hayati olmayan hatalar)</entry>
<entry></entry>
</row>
<row>
<entry>4</entry>
<entry>E_PARSE</entry>
<entry>derleme sırasında ayrı�tırma
hataları</entry>
<entry></entry>
</row>
<row>
<entry>8</entry>
<entry>E_NOTICE </entry>
<entry>
�alı�ma sırasındaki bildirimler (uyarılardan daha
az �nemli)
</entry>
<entry></entry>
</row>
<row>
<entry>16</entry>
<entry>E_CORE_ERROR</entry>
<entry>PHP'nin i� yapısıyla ilgili,
ba�latılmasını engelleyen hayati hatalar</entry>
<entry>sadece PHP 4</entry>
</row>
<row>
<entry>32</entry>
<entry>E_CORE_WARNING</entry>
<entry>
PHP'nin i� yapısıyla ilgili, ba�latılması ile
ilgili uyarılar (hayati olmayan
hatalar)
</entry>
<entry>sadece PHP 4</entry>
</row>
<row>
<entry>64</entry>
<entry>E_COMPILE_ERROR</entry>
<entry>hayati derleme hataları</entry>
<entry>Sadece PHP 4</entry>
</row>
<row>
<entry>128</entry>
<entry>E_COMPILE_WARNING</entry>
<entry>derleme sırasındaki uyarılar (hayati olmayan
hatalar)</entry>
<entry>sadece PHP 4</entry>
</row>
<row>
<entry>256</entry>
<entry>E_USER_ERROR</entry>
<entry>kullanıcının yarattığı hata
mesajı</entry>
<entry>sadece PHP 4</entry>
</row>
<row>
<entry>512</entry>
<entry>E_USER_WARNING</entry>
<entry>kullanıcının yarattığı
uyarı mesajı</entry>
<entry>sadece PHP 4</entry>
</row>
<row>
<entry>1024</entry>
<entry>E_USER_NOTICE </entry>
<entry>kullanıcının yarattığı bildiri
mesajı</entry>
<entry>sadece PHP 4</entry>
</row>
<row>
<entry></entry>
<entry>E_ALL</entry>
<entry>desteklendiği s�rece, yukarıdakilerin hepsi</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Yukarıdaki değerler (sayısal veya sembolik) hangi
hataların bildirileceğini
belirleyen bit maskesini olu�tururken kullanılır. Bu değerleri
birle�tirmeyi veya bazılarını maskelemeyi
<link linkend="language.operators.bitwise">bit-tabanlı i�lemler</link> ile
yapabilirsiniz. <filename>php.ini</filename> i�inde sadece '|', '~', '!' ve
'&' i�lemlerinin anla�ılacağına, ve
<filename>php3.ini</filename>
i�inde hi�birinin anla�ılmayacağına dikkat edin.
</para>
<para>
PHP 4'te �ntanımlı <link
linkend="ini.error-reporting">error_reporting</link> değeri <literal>E_ALL
& ~E_NOTICE</literal>'dir ve anlamı E-NOTICE-seviyesi
dı�ındaki t�m
hataların ve uyarıların bildirilmesidir. PHP 3'de
�ntanımlı ayar
<literal>(E_ERROR | E_WARNING | E_PARSE)</literal>'dır ve anlamı
�ncekiyle
aynıdır. Fakat dikkat edin ki, PHP 3'�n <filename>php3.ini</filename>
dosyasında sabitler desteklenmediğinden <link
linkend="ini.error-reporting">error_reporting</link> ayarı sayısal
olmak
durumundadır; az �nce belirtilen değer de <literal>7</literal>'ye denk
gelir.
</para>
<para>
Ba�langı� değeri ini dosyasında <link
linkend="ini.error-reporting">error_reporting</link> direktifyle,
Apache'nizin <filename>httpd.conf</filename> dosyasında php_error_reporting
(PHP 3 i�in php3_error_reporting) direktifiyle, ve son olarak �alı�ma
esnasında betik i�inden <function>error_reporting</function> fonksiyonuyla
belirlenebilir.
</para>
<warning>
<para>
Sunucularınızı veya kodlarınızı PHP
3'ten PHP 4'e y�kseltirken bu ayarları
ve <function>error_reporting</function> fonksiyonu
�ağrımlarını kontrol
etmelisiniz yoksa istemeyerek yeni hata �e�itlerinin bildirimlerini
kapatabilirsiniz, �zellikle E_COMPILE_ERROR. Bu hatanın ne ve nerede
olduğuna dair hi� bir bilgi bırakmadan betiklerinizin tamamiyle bo�
sayfalar �retmesine yola�abilir.
</para>
</warning>
<para>
T�m <link linkend="language.expressions">PHP ifadeler</link> @ �n-ekiyle
�ağrılabilir. Bu �n-ek, o ifade i�in hata bildirimini
kapatacaktır. Eğer
b�yle bir ifade sırasında hata olu�ursa, ve <link
linkend="ini.track-errors">track_errors</link> �zelliği aktifse, hata
mesajını <literal>$php_errormsg</literal> genel deği�keninde
bulabilirsiniz.
</para>
<note>
<para>
<link linkend="language.operators.errorcontrol">@ hata-kontrol
i�lemi</link> �n-eki ayrı�tırma hatalarını
kapatmayacaktır.
</para>
</note>
<warning>
<para>
Şu an i�in <link linkend="language.operators.errorcontrol">@
hata-kontrol i�lemi</link> �n eki betik sonlandırılmasına
yol a�acak
kritik hataların bile g�sterilmesini engelleyecektir. Diğer �eylerin
dı�ında, bu demektir ki <link
linkend="language.operators.errorcontrol">@</link> �n-ekini belli
fonksiyonlardan gelecek hataları bastırmak i�in
kullanırsanız, ve bu
fonksiyonlar tanımlı değilse, betik nedeni belirtilmeden
sonlandırılacaktır.
</para>
</warning>
<para>
A�ağıda PHP'deki hata kontrol� i�lemlerinin kullanımına
ili�kin bir �rnek
bulacaksınız. Burada bilgileri bir g�nl�kte (XML formatıyla)
saklayan ve
programcıya kritik hatalarda e-mail yollayan bir hata i�leme fonksiyonu
tanımlıyoruz.
<example>
<title>Betik i�in hata i�lemenin kullanımı</title>
<programlisting role="php">
<![CDATA[
<?php
// kendi bildirimimizi kendimiz yapaca��z
error_reporting(0);
// kullan�c� taraf�ndan belirlenen hata i�leme fonksiyonu
function userErrorHandler ($errno, $errmsg, $filename, $linenum, $vars) {
// girilen hata i�in zaman de�eri
$dt = date("Y-m-d H:i:s (T)");
// hata dizgileri i�in bir ili�kili dizi tan�mla
// ger�ekte ilgilenmemiz gereken de�erler sadece
// 2, 8, 256, 512, ve 1024
$errortype = array (
1 => "Hata",
2 => "Uyar�",
4 => "Ayr��t�rma Hatas�",
8 => "Bildirim",
16 => "�ekirdek Hatas�",
32 => "�ekirdek Uyar�s�",
64 => "Derleme Hatas�",
128 => "Derleme Uyar�s�",
256 => "Kullan�c� Hatas�",
512 => "Kullan�c� Uyar�s�",
1024=> "Kullan�c� Bildirimi"
);
// de�i�ken izi kaydedilecek hatalar
$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);
$err = "<errorentry>\n";
$err .= "\t<datetime>".$dt."</datetime>\n";
$err .= "\t<errornum>".$errno."</errnumber>\n";
$err .= "\t<errortype>".$errortype[$errno]."</errortype>\n";
$err .= "\t<errormsg>".$errmsg."</errormsg>\n";
$err .= "\t<scriptname>".$filename."</scriptname>\n";
$err .= "\t<scriptlinenum>".$linenum."</scriptlinenum>\n";
if (in_array($errno, $user_errors))
$err .= "\t<vartrace>".wddx_serialize_value($vars,"Variables")."</vartrace>\n";
$err .= "</errorentry>\n\n";
// deneme i�in
// echo $err;
// hata g�nl���n� kaydet, ve kritik kullan�c� hatalar�nda bana mail yolla
error_log($err, 3, "/usr/local/php4/error.log");
if ($errno == E_USER_ERROR)
mail("[EMAIL PROTECTED]","Kritik Kullan�c� Hatas�",$err);
}
function distance ($vect1, $vect2) {
if (!is_array($vect1) || !is_array($vect2)) {
trigger_error("Bozuk parametreler, dizi bekleniyordu", E_USER_ERROR);
return NULL;
}
if (count($vect1) != count($vect2)) {
trigger_error("Vekt�rlerin ayn� boyutta olmas� gerekiyor", E_USER_ERROR);
return NULL;
}
for ($i=0; $i<count($vect1); $i++) {
$c1 = $vect1[$i]; $c2 = $vect2[$i];
$d = 0.0;
if (!is_numeric($c1)) {
trigger_error("Vekt�r 1'in $i koordinat� say� de�il, 0 olarak al�nd�",
E_USER_WARNING);
$c1 = 0.0;
}
if (!is_numeric($c2)) {
trigger_error("Vekt�r 2'in $i koordinat� say� de�il, 0 olarak al�nd�",
E_USER_WARNING);
$c2 = 0.0;
}
$d += $c2*$c2 - $c1*$c1;
}
return sqrt($d);
}
$old_error_handler = set_error_handler("userErrorHandler");
// tan�mlanmam�� sabit, uyar� olu�turur
$t = I_AM_NOT_DEFINED;
// baz� "vekt�rler" tan�mla
$a = array(2,3,"foo");
$b = array(5.5, 4.3, -1.6);
$c = array (1,-3);
// kullan�c� hatas� olu�turur
$t1 = distance($c,$b)."\n";
// ba�ka bir kullan�c� hatas� olu�turur
$t2 = distance($b,"i am not an array")."\n";
// uyar� olu�turur
$t3 = distance($a,$b)."\n";
?>
]]>
</programlisting>
</example>
Bu <link linkend="ref.errorfunc">Hata �leme ve G�nl�k
fonksiyonları</link>
hakkında basit bir �rnek.
</para>
<para>
Ayrıca bkz. <function>error_reporting</function>,
<function>error_log</function>,
<function>set_error_handler</function>,
<function>restore_error_handler</function>,
<function>trigger_error</function>,
<function>user_error</function>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
Index: phpdoc/tr/features/persistent-connections.xml
+++ phpdoc/tr/features/persistent-connections.xml
<?xml version="1.0" encoding="iso-8859-9"?>
<!-- $Revision: 1.1 $ -->
<chapter id="features.persistent-connections">
<title>Kalıcı Veritabanı
Bağlantıları</title>
<simpara>
Kalıcı bağlantılar, betiğiniz
sonlandığında kapatılmayan SQL
bağlantılarına
denir. Kalıcı bir bağlantı istendiğinde, PHP
daha �nceden tamamen aynı
�zelliklerde başka bir kalıcı bağlantı
a�ılıp a�ılmadığına bakar (daha
�nceden kalan) - ve eğer varsa, onu kullanır. Eğer yoksa, yeni
bağlantıyı
yapar. 'Tamamen aynı' bağlantılar, aynı sunucuya,
aynı kullanıcı ismi ve
şifreyle (gerekliyse) a�ılmış
bağlantılardır.
</simpara>
<simpara>
HTTP sunucularının �alışma
mantığına aşina olmayanlar, kalıcı
bağlantıları
ger�ekte olmadıkları şeyler sanabilirler. �zellikle,
aynı SQL bağlantısı
�zerinde 'kullanıcı oturumları' <emphasis>a�mazlar</emphasis>,
transaction'ları daha etkili bir şekilde yapmanızı
<emphasis>sağlamazlar</emphasis> ve başka pek �ok şeyi
ger�ekleştirmezler.
Konu hakkında daha a�ık olmak gerekirse, kalıcı
bağlantılar size kardeşleri
kalıcı olmayan bağlantıların
sunmadığı hi� bir ek �zellik
<emphasis>sunmazlar</emphasis>.
</simpara>
<simpara>
Neden?
</simpara>
<simpara>
Bu daha �ok HTTP sunucularının �alışma
mantığıyla alakalı. Sunucunun
PHP'yi kullanarak web sayfaları oluşturmasının ��
y�ntemi var.
</simpara>
<simpara>
<!-- dirge: wrapper => sargı -->
İlk y�ntem PHP'yi CGI "sargısı" olarak kullanmak. Bu
şekilde �alıştığında,
sunucuya gelen her sayfa isteği i�in ayrı bir PHP
yorumlayıcısı yaratılır
ve yokedilir (PHP sayfaları i�in). İşlemler sonunda
yokedildikleri i�in,
yarattıkları her kaynak (SQL sunucusuna bağlantılar
gibi) da onlarla
birlikte yokolur. Bu durumda, kalıcı bağlantılar
kurmayı denemekle elinize
hi�birşey ge�mez -- basit�e, kalıcı olamazlar.
</simpara>
<simpara>
İkinci, ve en pop�ler, y�ntem PHP'yi �ok işlemli (multiprocess) bir
sunucuda mod�l olarak kullanmak, şu an sadece Apache'de olduğu gibi.
�ok
işlemli bir sunucu genellikle bir ana işlemden (parent) ve onun
kontrol�ndeki
ger�ekte işlemleri yapan �ocuk işlemlerden (children) oluşur.
Ne zaman bir
alıcıdan istek gelse, o anda başka bir isteğe cevap
vermeyen bir �ocuk
işleme devredilir. Bu demektir ki, aynı alıcı ikinci
bir istek yolladığında,
başka bir �ocuk işlem tarafından karşılanabilir.
Kalıcı bağlantıların
sizin i�in burada yaptığı iş, her �ocuk işlemin
sadece ilk seferde SQL
sunucusuna bağlanması. Başka bir sayfanın aynı
bağlantıya duyması durumunda
�nceden yapılmış bağlantı
kullanılır.
</simpara>
<simpara>
<!-- dirge: thread => iş par�acığı -->
Son y�ntem PHP'yi �ok iş par�acıklı (multithreaded)
sunucularda eklenti
olarak kullanmak. Şu anda PHP 4'�n Netscape FastTrack (iPlanet), Microsoft
Internet Information Server (IIS), ve O'Reilly Website Pro gibi �ok iş
par�acıklı sunucularda �alışmasını
sağlayan ISAPI, WSAIP, ve NSAPI
(Windows'ta) i�in desteği var. Bu �alışma şekli az �nce
anlatılan �ok
işlemli modelle aynı. SAPI desteğinin PHP 3'te
olmadığına dikkat edin.
</simpara>
<simpara>
Eğer kalıcı bağlantıların ek �zellikleri
yoksa, neye yararlar?
</simpara>
<simpara>
<!-- dige: efficiency => etkinlik -->
Buradaki cevap olduk�a basit -- etkinlik. Kalıcı
bağlantılar, SQL
sunucunuza yeni bağlantı a�mak performans a�ısından
hesaplı değilse
�ok işe yararlar. Performans hesaplılığı pek �ok
şeye bağlıdır. �rneğin, ne
t�r bir veritabanı olduğu, HTTP sunucusuyla aynı bilgisayarda
olup
olmayışı, SQL sunucusunun
�alıştığı bilgisayarın işlem
yoğunluğu ve
benzeri. Sonu� şu ki, yeni bağlantı performansı
d�ş�kse, kalıcı bağlantılar
işe yarar. Her �ocuk işlemin her seferinde yeni
bağlantı a�ması yerine
hayatı boyunca sadece bir kere bağlantı
yapmasını ve s�rekli onu kullanmasını
sağlarlar. Bu demektir ki, kalıcı bağlantı a�an
her �ocuk işlemin SQL
sunucusuna kendine ait kalıcı bir bağlantısı
olacaktır. �rneğin, 20 tane
kalıcı bağlantı a�an betik
�alıştırmış farklı �ocuk işlem varsa,
SQL
sunucusuna 20 tane bağlantı olacaktır, her �ocuk
işlemden bir tane.
</simpara>
<simpara>
Ancak dikkat edin ki, bunun SQL sunucusunun bağlantı limiti
kalıcı
bağlantılarla aşıldığında bir
takım g�t�r�ler olacaktır. Eğer veritabanı
sunucunuz ayni anda 16 bağlantıya izin veriyorsa, ve yoğun bir
�alışma
anında 17 �ocuk işlem kalıcı bağlantı
a�maya kalkarsa, bunlardan biri
bağlantıyı a�amaz. Eğer betiklerinizde
bağlantıların kapanabilmesine olanak
tanımayan hatalar varsa (kısır d�ng� gibi), 32
bağlantıya izin verecek bir
veritabanı sunucusu �ok �abuk bir şekilde
kullanışsız hale gelir. Boş duran
(idle) bağlantılarla nasıl ilgileneceğiniz konusunda
veritabanınızın
d�k�manlarına başvurun.
</simpara>
<warning>
<simpara>
Kalıcı bağlantı kullanırken akılda
tutulması gereken birka� ek g�t�r� daha
var. �rneğin kalıcı bir bağlantıyla bir tablo
kitlendiyse (LOCK), ve betik
herhangi bir sebepten dolayı kilidi kaldıramıyorsa,
ardısıra gelen
ve aynı bağlantıyı kullanacak betikler s�resiz olarak
bloke olacak, ve
sizin ya HTTP sunucusunu ya da veritabanı sunucusunu baştan
�alıştırmanız
gerekecektir. Başka bir g�t�r� transaction kullanırken
oluşabilir. Bir
transaction bloğu, betiğin �alışma s�resi
bloğun �mr�nden kisaysa, bir
sonraki betiğe taşınacaktır. İki durumda da
<function>register_shutdown_function</function> ile transaction'i geri
alacak ya da tablo kilitlerini kaldıracak bir temizlik fonksiyonu
kaydedebilirsiniz. Daha iyisi, problemleri t�m�yle �nlemek i�in tablo
kilitleri veya transaction kullanan betiklerde kalıcı
bağlantıları
kullanmamak (başka yerlerde hala kullanabilirsiniz).
</simpara>
</warning>
<simpara>
�nemli bir �zet. Kalıcı bağlantılar normal
bağlantılarla birebir
eşlenebilecek şekilde tasarlandı. Bu demektir ki <emphasis>her
zaman</emphasis> kalıcı bağlantıları normal
olanlarla değiştirebilirsiniz,
ve bu betiklerin davranışlarını etkilemeyecektir.
Betiklerin etkinliklerini
<emphasis>belki</emphasis> değiştirebilirler, fakat
davranışını
değiştirmezler!
</simpara>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
Index: phpdoc/tr/features/remote-files.xml
+++ phpdoc/tr/features/remote-files.xml
<?xml version="1.0" encoding="iso-8859-9"?>
<!-- $Revision: 1.1 $ -->
<chapter id="features.remote-files">
<title>Uzaktaki Dosyaları Kullanmak</title>
<para>
"URL fopen wrapper" PHP derlenmeden �nce aktifleştirildiği
(ki,
--disable-url-fopen-wrapper parametresini �zellikle vermediğinizde
b�yledir) (4.0.3 �ncesi s�r�mler i�in) veya php.ini'de
<parameter>allow_url_fopen</parameter> ayarına off değerini
vermediyseniz
(yeni s�r�mler i�in) s�rece, HTTP ve FTP URL'lerini parametre olarak
dosya ismi alan �oğu fonksiyonda, <function>require</function> ve
<function>include</function> ifadeleri dahil, kullanabilirsiniz.
</para>
<para>
<note>
<para>
Uzak dosyaları Windows altında <function>include</function> ve
<function>require</function> ifadelerinde kullanamazsınız.
</para>
</note>
</para>
<para>
�rneğin, bunu uzaktaki bir HTTP sunucusunda olan bir dosyayı a�mak,
�ıktısını ayıklamak ve elde edilen bilgiyi bir
veritabanı sorgusunda
kullanmak, ya da basit�e web sitenizin geri kalanına uygun bir g�r�nt�de
g�stermek i�in kullanabilirsiniz.
</para>
<para>
<example>
<title>Uzaktaki bir sayfanın başlığını
almak</title>
<programlisting role="php">
<![CDATA[
<?php
$file = fopen ("http://www.php.net/", "r");
if (!$file) {
echo "<p>Uzaktaki dosya a�ılamadı.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
/* Bu sadece title etiketi ve i�eriği aynı satırdaysa
işe yarar */
if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
break;
}
}
fclose($file);
?>
]]>
</programlisting>
</example>
</para>
<para>
Ya da bunu, doğru erişim hakkına sahip bir
kullanıcıyla bağlandığınız
ve �oktan dosya varolmadığı s�rece FTP ile uzaktaki dosyalara
yazmak
i�in kullanabilirsiniz. 'anonymous' dışında bir
kullanıcı olarak bağlanmak
i�in kullanıcıyı (ve muhtemelen parolayı) URL i�ine
yazmalısınız, �rneğin
'ftp://kullanıcı:[EMAIL PROTECTED]/yol/dosya' gibi. (Aynı
y�ntemi
HTTP'de Basic Authentication'a ihtiya� duyan dosyalara erişmek i�in de
kullanabilirsiniz.)
</para>
<para>
<example>
<title>Veriyi uzaktaki sunucuda saklamak</title>
<programlisting role="php">
<![CDATA[
<?php
$file = fopen ("ftp://ftp.php.net/incoming/outputfile", "w");
if (!$file) {
echo "<p>Yazmak �zere uzak dosya a�ılamadı\n";
exit;
}
/* Veriyi yaz */
fputs ($file, "$HTTP_USER_AGENT\n");
fclose ($file);
?>
]]>
</programlisting>
</example>
</para>
<para>
<note>
<para>
Yukarıdaki �rnekten, uzaktaki bir g�nl�ğe yazmak i�in nasıl
bir teknik
kullanacağınız konusunda bir fikir
almışsınızdır, fakat �nceden
belirtildiği gibi, URL fopen() sargılarıyla sadece yeni
dosyalara
yazabilirsiniz. Bunun gibi dağıtılmış g�nl�k
tutmak isterseniz,
<function>syslog</function>'s bir g�z atmalısınız.
</para>
</note>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->