nlopess         Sun Sep  4 15:54:46 2005 EDT

  Added files:                 
    /phpdoc/scripts     extensions.xml.php 

  Modified files:              
    /phpdoc/en/appendices       extensions.xml 
  Log:
  add the quick&dirty script to generate the extensions.xml file and use it
  
http://cvs.php.net/diff.php/phpdoc/en/appendices/extensions.xml?r1=1.8&r2=1.9&ty=u
Index: phpdoc/en/appendices/extensions.xml
diff -u phpdoc/en/appendices/extensions.xml:1.8 
phpdoc/en/appendices/extensions.xml:1.9
--- phpdoc/en/appendices/extensions.xml:1.8     Sun Sep  4 07:31:58 2005
+++ phpdoc/en/appendices/extensions.xml Sun Sep  4 15:54:45 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision: 1.8 $ -->
+<!-- $Revision: 1.9 $ -->
 
 <!--
   DO NOT TRANSLATE THIS FILE! All the content that is displayed
@@ -12,39 +12,16 @@
 
  <section id="extensions.purpose">
   &extcat.purpose;
-  
+
   <section id="refs.basic">
    &extcat.purpose.basic;
 
-   <section id="refs.basic.vartype">
-    &extcat.purpose.basic.vartype;
-    <itemizedlist>
-     <listitem><para><xref linkend="ref.array"/></para></listitem>
-     <listitem><para><xref linkend="ref.classobj"/></para></listitem>
-     <listitem><para><xref linkend="ref.classkit"/></para></listitem>
-     <listitem><para><xref linkend="ref.ctype"/></para></listitem>
-     <listitem><para><xref linkend="ref.funchand"/></para></listitem>
-     <listitem><para><xref linkend="ref.objaggregation"/></para></listitem>
-     <listitem><para><xref linkend="ref.var"/></para></listitem>
-    </itemizedlist>
-   </section>
-   
-   <section id="refs.basic.text">
-    &extcat.purpose.basic.text;
-    <itemizedlist>
-     <listitem><para><xref linkend="ref.strings"/></para></listitem>
-     <listitem><para><xref linkend="ref.regex"/></para></listitem>
-     <listitem><para><xref linkend="ref.pcre"/></para></listitem>
-    </itemizedlist>
-   </section>
-   
    <section id="refs.basic.php">
     &extcat.purpose.basic.php;
     <itemizedlist>
      <listitem><para><xref linkend="ref.apc"/></para></listitem>
      <listitem><para><xref linkend="ref.apd"/></para></listitem>
      <listitem><para><xref linkend="ref.bcompiler"/></para></listitem>
-     <listitem><para><xref linkend="ref.overload"/></para></listitem>
      <listitem><para><xref linkend="ref.errorfunc"/></para></listitem>
      <listitem><para><xref linkend="ref.http"/></para></listitem>
      <listitem><para><xref linkend="ref.info"/></para></listitem>
@@ -52,7 +29,7 @@
      <listitem><para><xref linkend="ref.runkit"/></para></listitem>
     </itemizedlist>
    </section>
-   
+
    <section id="refs.basic.session">
     &extcat.purpose.basic.session;
     <itemizedlist>
@@ -61,25 +38,77 @@
      <listitem><para><xref linkend="ref.session"/></para></listitem>
     </itemizedlist>
    </section>
-   
+
+   <section id="refs.basic.text">
+    &extcat.purpose.basic.text;
+    <itemizedlist>
+     <listitem><para><xref linkend="ref.pcre"/></para></listitem>
+     <listitem><para><xref linkend="ref.regex"/></para></listitem>
+     <listitem><para><xref linkend="ref.strings"/></para></listitem>
+     <listitem><para><xref linkend="ref.xdiff"/></para></listitem>
+    </itemizedlist>
+   </section>
+
+   <section id="refs.basic.vartype">
+    &extcat.purpose.basic.vartype;
+    <itemizedlist>
+     <listitem><para><xref linkend="ref.array"/></para></listitem>
+     <listitem><para><xref linkend="ref.classkit"/></para></listitem>
+     <listitem><para><xref linkend="ref.classobj"/></para></listitem>
+     <listitem><para><xref linkend="ref.ctype"/></para></listitem>
+     <listitem><para><xref linkend="ref.funchand"/></para></listitem>
+     <listitem><para><xref linkend="ref.objaggregation"/></para></listitem>
+     <listitem><para><xref linkend="ref.var"/></para></listitem>
+    </itemizedlist>
+   </section>
+
    <section id="refs.basic.other">
     &extcat.purpose.basic.other;
     <itemizedlist>
      <listitem><para><xref linkend="ref.misc"/></para></listitem>
-     <listitem><para><xref linkend="ref.url"/></para></listitem>
      <listitem><para><xref linkend="ref.parsekit"/></para></listitem>
      <listitem><para><xref linkend="ref.spl"/></para></listitem>
-     <listitem><para><xref linkend="ref.stream"/></para></listitem>
      <listitem><para><xref linkend="ref.tidy"/></para></listitem>
      <listitem><para><xref linkend="ref.tokenizer"/></para></listitem>
+     <listitem><para><xref linkend="ref.url"/></para></listitem>
     </itemizedlist>
    </section>
 
   </section>
-  
+
+  <section id="refs.calendar">
+   &extcat.purpose.calendar;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.calendar"/></para></listitem>
+    <listitem><para><xref linkend="ref.datetime"/></para></listitem>
+    <listitem><para><xref linkend="ref.mcal"/></para></listitem>
+   </itemizedlist>
+  </section>
+
+  <section id="refs.compression">
+   &extcat.purpose.compression;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.bzip2"/></para></listitem>
+    <listitem><para><xref linkend="ref.lzf"/></para></listitem>
+    <listitem><para><xref linkend="ref.rar"/></para></listitem>
+    <listitem><para><xref linkend="ref.zip"/></para></listitem>
+    <listitem><para><xref linkend="ref.zlib"/></para></listitem>
+   </itemizedlist>
+  </section>
+
+  <section id="refs.creditcard">
+   &extcat.purpose.creditcard;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.cybercash"/></para></listitem>
+    <listitem><para><xref linkend="ref.cybermut"/></para></listitem>
+    <listitem><para><xref linkend="ref.mcve"/></para></listitem>
+    <listitem><para><xref linkend="ref.pfpro"/></para></listitem>
+   </itemizedlist>
+  </section>
+
   <section id="refs.database">
    &extcat.purpose.database;
-   
+
    <section id="refs.database.abstract">
     &extcat.purpose.database.abstract;
     <itemizedlist>
@@ -87,166 +116,136 @@
      <listitem><para><xref linkend="ref.dbx"/></para></listitem>
      <listitem><para><xref linkend="ref.pdo"/></para></listitem>
      <listitem><para><xref linkend="ref.sdo"/></para></listitem>
-     <listitem><para><xref linkend="ref.sdo.das.rel"/></para></listitem>
+     <listitem><para><xref linkend="ref.sdodasrel"/></para></listitem>
      <listitem><para><xref linkend="ref.uodbc"/></para></listitem>
     </itemizedlist>
    </section>
-   
+
    <section id="refs.database.vendors">
     &extcat.purpose.database.vendors;
     <itemizedlist>
      <listitem><para><xref linkend="ref.dbase"/></para></listitem>
-     <listitem><para><xref linkend="ref.dbm"/></para></listitem>
      <listitem><para><xref linkend="ref.dbplus"/></para></listitem>
      <listitem><para><xref linkend="ref.fbsql"/></para></listitem>
      <listitem><para><xref linkend="ref.filepro"/></para></listitem>
-     <listitem><para><xref linkend="ref.ifx"/></para></listitem>
      <listitem><para><xref linkend="ref.ibase"/></para></listitem>
-     <listitem><para><xref linkend="ref.ibm-db2"/></para></listitem>
-     <listitem><para><xref linkend="ref.ingres"/></para></listitem>
+     <listitem><para><xref linkend="ref.ibm_db2"/></para></listitem>
+     <listitem><para><xref linkend="ref.ifx"/></para></listitem>
+     <listitem><para><xref linkend="ref.ingres-ii"/></para></listitem>
      <listitem><para><xref linkend="ref.maxdb"/></para></listitem>
-     <listitem><para><xref linkend="ref.mssql"/></para></listitem>
      <listitem><para><xref linkend="ref.msql"/></para></listitem>
+     <listitem><para><xref linkend="ref.mssql"/></para></listitem>
      <listitem><para><xref linkend="ref.mysql"/></para></listitem>
      <listitem><para><xref linkend="ref.mysqli"/></para></listitem>
      <listitem><para><xref linkend="ref.oci8"/></para></listitem>
      <listitem><para><xref linkend="ref.oracle"/></para></listitem>
      <listitem><para><xref linkend="ref.ovrimos"/></para></listitem>
      <listitem><para><xref linkend="ref.paradox"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_dblib"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_firebird"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_mysql"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_oci"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_odbc"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_pgsql"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdo_sqlite"/></para></listitem>
      <listitem><para><xref linkend="ref.pgsql"/></para></listitem>
-     <listitem><para><xref linkend="ref.sesam"/></para></listitem>
      <listitem><para><xref linkend="ref.sqlite"/></para></listitem>
      <listitem><para><xref linkend="ref.sybase"/></para></listitem>
     </itemizedlist>
    </section>
-   
-  </section>
-  
-  <section id="refs.xml">
-   &extcat.purpose.xml;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.dom"/></para></listitem>
-    <listitem><para><xref linkend="ref.domxml"/></para></listitem>
-    <listitem><para><xref linkend="ref.libxml"/></para></listitem>
-    <listitem><para><xref linkend="ref.qtdom"/></para></listitem>
-    <listitem><para><xref linkend="ref.sdo-das-xml"/></para></listitem>
-    <listitem><para><xref linkend="ref.simplexml"/></para></listitem>
-    <listitem><para><xref linkend="ref.xml"/></para></listitem>
-    <listitem><para><xref linkend="ref.xmlreader"/></para></listitem>
-    <listitem><para><xref linkend="ref.xsl"/></para></listitem>
-    <listitem><para><xref linkend="ref.xslt"/></para></listitem>
-   </itemizedlist>
-  </section>
-  
-  <section id="refs.webservice">
-   &extcat.purpose.webservice;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.soap"/></para></listitem>
-    <listitem><para><xref linkend="ref.wddx"/></para></listitem>
-    <listitem><para><xref linkend="ref.xmlrpc"/></para></listitem>
-   </itemizedlist>
-  </section>
-  
-  <section id="refs.creditcard">
-   &extcat.purpose.creditcard;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.ccvs"/></para></listitem>
-    <listitem><para><xref linkend="ref.cybermut"/></para></listitem>
-    <listitem><para><xref linkend="ref.cybercash"/></para></listitem>
-    <listitem><para><xref linkend="ref.pfpro"/></para></listitem>
-    <listitem><para><xref linkend="ref.mcve"/></para></listitem>
-   </itemizedlist>
+
   </section>
-  
-  <section id="refs.mathcrypto">
-   &extcat.purpose.mathcrypto;
-   
-   <section id="refs.mathcrypto.math">
-    &extcat.purpose.mathcrypto.math;
+
+  <section id="refs.fileprocess">
+   &extcat.purpose.fileprocess;
+
+   <section id="refs.fileprocess.file">
+    &extcat.purpose.fileprocess.file;
     <itemizedlist>
-     <listitem><para><xref linkend="ref.bc"/></para></listitem>
-     <listitem><para><xref linkend="ref.gmp"/></para></listitem>
-     <listitem><para><xref linkend="ref.math"/></para></listitem>
+     <listitem><para><xref linkend="ref.dio"/></para></listitem>
+     <listitem><para><xref linkend="ref.dir"/></para></listitem>
+     <listitem><para><xref linkend="ref.fam"/></para></listitem>
+     <listitem><para><xref linkend="ref.filesystem"/></para></listitem>
+     <listitem><para><xref linkend="ref.mime_magic"/></para></listitem>
+     <listitem><para><xref linkend="ref.xattr"/></para></listitem>
     </itemizedlist>
    </section>
-   
-   <section id="refs.mathcrypto.crypto">
-    &extcat.purpose.mathcrypto.crypto;
+
+   <section id="refs.fileprocess.process">
+    &extcat.purpose.fileprocess.process;
     <itemizedlist>
-     <listitem><para><xref linkend="ref.crack"/></para></listitem>
-     <listitem><para><xref linkend="ref.mcrypt"/></para></listitem>
-     <listitem><para><xref linkend="ref.mhash"/></para></listitem>
+     <listitem><para><xref linkend="ref.exec"/></para></listitem>
+     <listitem><para><xref linkend="ref.pcntl"/></para></listitem>
+     <listitem><para><xref linkend="ref.posix"/></para></listitem>
+     <listitem><para><xref linkend="ref.sem"/></para></listitem>
+     <listitem><para><xref linkend="ref.shmop"/></para></listitem>
     </itemizedlist>
    </section>
+
   </section>
-  
+
   <section id="refs.international">
    &extcat.purpose.international;
    <itemizedlist>
     <listitem><para><xref linkend="ref.fribidi"/></para></listitem>
     <listitem><para><xref linkend="ref.gettext"/></para></listitem>
-    <listitem><para><xref linkend="ref.mbstring"/></para></listitem>
-    <listitem><para><xref linkend="ref.recode"/></para></listitem>
     <listitem><para><xref linkend="ref.iconv"/></para></listitem>
-    <listitem><para><xref linkend="ref.aspell"/></para></listitem>
+    <listitem><para><xref linkend="ref.mbstring"/></para></listitem>
     <listitem><para><xref linkend="ref.pspell"/></para></listitem>
+    <listitem><para><xref linkend="ref.recode"/></para></listitem>
    </itemizedlist>
   </section>
-  
-  <section id="refs.fileprocess">
-   &extcat.purpose.fileprocess;
-   
-   <section id="refs.fileprocess.file">
-    &extcat.purpose.fileprocess.file;
+
+  <section id="refs.mathcrypto">
+   &extcat.purpose.mathcrypto;
+
+   <section id="refs.mathcrypto.crypto">
+    &extcat.purpose.mathcrypto.crypto;
     <itemizedlist>
-     <listitem><para><xref linkend="ref.dio"/></para></listitem>
-     <listitem><para><xref linkend="ref.dir"/></para></listitem>
-     <listitem><para><xref linkend="ref.filesystem"/></para></listitem>
-     <listitem><para><xref linkend="ref.mime-magic"/></para></listitem>
-     <listitem><para><xref linkend="ref.xattr"/></para></listitem>
-     <listitem><para><xref linkend="ref.xdiff"/></para></listitem>
+     <listitem><para><xref linkend="ref.crack"/></para></listitem>
+     <listitem><para><xref linkend="ref.mcrypt"/></para></listitem>
+     <listitem><para><xref linkend="ref.mhash"/></para></listitem>
+     <listitem><para><xref linkend="ref.openssl"/></para></listitem>
     </itemizedlist>
    </section>
-   
-   <section id="refs.fileprocess.process">
-    &extcat.purpose.fileprocess.process;
+
+   <section id="refs.mathcrypto.math">
+    &extcat.purpose.mathcrypto.math;
     <itemizedlist>
-     <listitem><para><xref linkend="ref.posix"/></para></listitem>
-     <listitem><para><xref linkend="ref.pcntl"/></para></listitem>
-     <listitem><para><xref linkend="ref.exec"/></para></listitem>
-     <listitem><para><xref linkend="ref.sem"/></para></listitem>
-     <listitem><para><xref linkend="ref.shmop"/></para></listitem>
+     <listitem><para><xref linkend="ref.bc"/></para></listitem>
+     <listitem><para><xref linkend="ref.gmp"/></para></listitem>
+     <listitem><para><xref linkend="ref.math"/></para></listitem>
     </itemizedlist>
    </section>
+
   </section>
-  
+
   <section id="refs.remote">
    &extcat.purpose.remote;
 
+   <section id="refs.remote.auth">
+    &extcat.purpose.remote.auth;
+    <itemizedlist>
+     <listitem><para><xref linkend="ref.kadm5"/></para></listitem>
+     <listitem><para><xref linkend="ref.radius"/></para></listitem>
+    </itemizedlist>
+   </section>
+
    <section id="refs.remote.mail">
     &extcat.purpose.remote.mail;
     <itemizedlist>
      <listitem><para><xref linkend="ref.cyrus"/></para></listitem>
+     <listitem><para><xref linkend="ref.imap"/></para></listitem>
      <listitem><para><xref linkend="ref.mail"/></para></listitem>
      <listitem><para><xref linkend="ref.mailparse"/></para></listitem>
-     <listitem><para><xref linkend="ref.imap"/></para></listitem>
      <listitem><para><xref linkend="ref.vpopmail"/></para></listitem>
     </itemizedlist>
    </section>
-   
-   <section id="refs.remote.auth">
-    &extcat.purpose.remote.auth;
-    <itemizedlist>
-     <listitem><para><xref linkend="ref.kadm5"/></para></listitem>
-     <listitem><para><xref linkend="ref.radius"/></para></listitem>
-    </itemizedlist>
-   </section>
-   
+
    <section id="refs.remote.other">
     &extcat.purpose.remote.other;
     <itemizedlist>
      <listitem><para><xref linkend="ref.curl"/></para></listitem>
-     <listitem><para><xref linkend="ref.fam"/></para></listitem>
      <listitem><para><xref linkend="ref.ftp"/></para></listitem>
      <listitem><para><xref linkend="ref.hw"/></para></listitem>
      <listitem><para><xref linkend="ref.hwapi"/></para></listitem>
@@ -255,63 +254,23 @@
      <listitem><para><xref linkend="ref.ldap"/></para></listitem>
      <listitem><para><xref linkend="ref.memcache"/></para></listitem>
      <listitem><para><xref linkend="ref.mnogosearch"/></para></listitem>
-     <listitem><para><xref linkend="ref.net-gopher"/></para></listitem>
+     <listitem><para><xref linkend="ref.net_gopher"/></para></listitem>
      <listitem><para><xref linkend="ref.network"/></para></listitem>
+     <listitem><para><xref linkend="ref.nis"/></para></listitem>
      <listitem><para><xref linkend="ref.notes"/></para></listitem>
-     <listitem><para><xref linkend="ref.openssl"/></para></listitem>
+     <listitem><para><xref linkend="ref.snmp"/></para></listitem>
      <listitem><para><xref linkend="ref.sockets"/></para></listitem>
      <listitem><para><xref linkend="ref.ssh2"/></para></listitem>
+     <listitem><para><xref linkend="ref.stream"/></para></listitem>
      <listitem><para><xref linkend="ref.tcpwrap"/></para></listitem>
      <listitem><para><xref linkend="ref.yaz"/></para></listitem>
-     <listitem><para><xref linkend="ref.nis"/></para></listitem>
-     <listitem><para><xref linkend="ref.snmp"/></para></listitem>
     </itemizedlist>
    </section>
+
   </section>
-  
-  <section id="refs.compression">
-   &extcat.purpose.compression;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.bzip2"/></para></listitem>
-    <listitem><para><xref linkend="ref.lzf"/></para></listitem>
-    <listitem><para><xref linkend="ref.rar"/></para></listitem>
-    <listitem><para><xref linkend="ref.zip"/></para></listitem>
-    <listitem><para><xref linkend="ref.zlib"/></para></listitem>
-   </itemizedlist>
-  </section>
-  
-  <section id="refs.calendar">
-   &extcat.purpose.calendar;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.icap"/></para></listitem>
-    <listitem><para><xref linkend="ref.calendar"/></para></listitem>
-    <listitem><para><xref linkend="ref.datetime"/></para></listitem>
-    <listitem><para><xref linkend="ref.mcal"/></para></listitem>
-   </itemizedlist>
-  </section>
-  
+
   <section id="refs.utilspec">
    &extcat.purpose.utilspec;
-   
-   <section id="refs.utilspec.nontext">
-    &extcat.purpose.utilspec.nontext;
-    <itemizedlist>
-     <listitem><para><xref linkend="ref.cpdf"/></para></listitem>
-     <listitem><para><xref linkend="ref.fdf"/></para></listitem>
-     <listitem><para><xref linkend="ref.pdf"/></para></listitem>
-     <listitem><para><xref linkend="ref.ming"/></para></listitem>
-     <listitem><para><xref linkend="ref.ps"/></para></listitem>
-     <listitem><para><xref linkend="ref.swf"/></para></listitem>
-    </itemizedlist>
-   </section>
-   
-   <section id="refs.utilspec.image">
-    &extcat.purpose.utilspec.image;
-    <itemizedlist>
-     <listitem><para><xref linkend="ref.exif"/></para></listitem>
-     <listitem><para><xref linkend="ref.image"/></para></listitem>
-    </itemizedlist>
-   </section>
 
    <section id="refs.utilspec.audio">
     &extcat.purpose.utilspec.audio;
@@ -321,8 +280,7 @@
      <listitem><para><xref linkend="ref.openal"/></para></listitem>
     </itemizedlist>
    </section>
-  </section>
-  
+
    <section id="refs.utilspec.cmdline">
     &extcat.purpose.utilspec.cmdline;
     <itemizedlist>
@@ -330,56 +288,116 @@
      <listitem><para><xref linkend="ref.readline"/></para></listitem>
     </itemizedlist>
    </section>
-   
-   <section id="refs.utilspec.windows">
-    &extcat.purpose.utilspec.windows;
+
+   <section id="refs.utilspec.image">
+    &extcat.purpose.utilspec.image;
     <itemizedlist>
-     <listitem><para><xref linkend="ref.dotnet"/></para></listitem>
-     <listitem><para><xref linkend="ref.com"/></para></listitem>
-     <listitem><para><xref linkend="ref.w32api"/></para></listitem>
-     <listitem><para><xref linkend="ref.printer"/></para></listitem>
+     <listitem><para><xref linkend="ref.exif"/></para></listitem>
+     <listitem><para><xref linkend="ref.image"/></para></listitem>
     </itemizedlist>
    </section>
-   
+
+   <section id="refs.utilspec.nontex">
+    &extcat.purpose.utilspec.nontex;
+    <itemizedlist>
+     <listitem><para><xref linkend="ref.ming"/></para></listitem>
+    </itemizedlist>
+   </section>
+
+   <section id="refs.utilspec.nontext">
+    &extcat.purpose.utilspec.nontext;
+    <itemizedlist>
+     <listitem><para><xref linkend="ref.cpdf"/></para></listitem>
+     <listitem><para><xref linkend="ref.fdf"/></para></listitem>
+     <listitem><para><xref linkend="ref.pdf"/></para></listitem>
+     <listitem><para><xref linkend="ref.ps"/></para></listitem>
+     <listitem><para><xref linkend="ref.swf"/></para></listitem>
+    </itemizedlist>
+   </section>
+
    <section id="refs.utilspec.server">
     &extcat.purpose.utilspec.server;
     <itemizedlist>
      <listitem><para><xref linkend="ref.apache"/></para></listitem>
-     <listitem><para><xref linkend="ref.nsapi"/></para></listitem>
      <listitem><para><xref linkend="ref.iisfunc"/></para></listitem>
+     <listitem><para><xref linkend="ref.nsapi"/></para></listitem>
     </itemizedlist>
    </section>
- </section>
- 
- <section id="extensions.membership">
-  &extcat.membership;
-  
-  <section id="extensions.membership.core">
-   &extcat.membership.core;
+
+   <section id="refs.utilspec.windows">
+    &extcat.purpose.utilspec.windows;
+    <itemizedlist>
+     <listitem><para><xref linkend="ref.com"/></para></listitem>
+     <listitem><para><xref linkend="ref.dotnet"/></para></listitem>
+     <listitem><para><xref linkend="ref.printer"/></para></listitem>
+     <listitem><para><xref linkend="ref.w32api"/></para></listitem>
+    </itemizedlist>
+   </section>
+
+  </section>
+
+  <section id="refs.webservice">
+   &extcat.purpose.webservice;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.soap"/></para></listitem>
+    <listitem><para><xref linkend="ref.wddx"/></para></listitem>
+    <listitem><para><xref linkend="ref.xmlrpc"/></para></listitem>
+   </itemizedlist>
+  </section>
+
+  <section id="refs.xml">
+   &extcat.purpose.xml;
    <itemizedlist>
-    <listitem><para><xref linkend="ref.array"/></para></listitem>
-    <listitem><para><xref linkend="ref.classobj"/></para></listitem>
-    <listitem><para><xref linkend="ref.datetime"/></para></listitem>
-    <listitem><para><xref linkend="ref.dir"/></para></listitem>
     <listitem><para><xref linkend="ref.dom"/></para></listitem>
-    <listitem><para><xref linkend="ref.errorfunc"/></para></listitem>
-    <listitem><para><xref linkend="ref.exec"/></para></listitem>
-    <listitem><para><xref linkend="ref.filesystem"/></para></listitem>
-    <listitem><para><xref linkend="ref.funchand"/></para></listitem>
-    <listitem><para><xref linkend="ref.http"/></para></listitem>
-    <listitem><para><xref linkend="ref.info"/></para></listitem>
-    <listitem><para><xref linkend="ref.mail"/></para></listitem>
-    <listitem><para><xref linkend="ref.math"/></para></listitem>
-    <listitem><para><xref linkend="ref.misc"/></para></listitem>
-    <listitem><para><xref linkend="ref.network"/></para></listitem>
-    <listitem><para><xref linkend="ref.outcontrol"/></para></listitem>
-    <listitem><para><xref linkend="ref.regex"/></para></listitem>
-    <listitem><para><xref linkend="ref.strings"/></para></listitem>
-    <listitem><para><xref linkend="ref.url"/></para></listitem>
-    <listitem><para><xref linkend="ref.var"/></para></listitem>
+    <listitem><para><xref linkend="ref.domxml"/></para></listitem>
+    <listitem><para><xref linkend="ref.libxml"/></para></listitem>
+    <listitem><para><xref linkend="ref.qtdom"/></para></listitem>
+    <listitem><para><xref linkend="ref.sdo_das_xml"/></para></listitem>
+    <listitem><para><xref linkend="ref.simplexml"/></para></listitem>
+    <listitem><para><xref linkend="ref.xml"/></para></listitem>
+    <listitem><para><xref linkend="ref.xmlreader"/></para></listitem>
+    <listitem><para><xref linkend="ref.xsl"/></para></listitem>
+    <listitem><para><xref linkend="ref.xslt"/></para></listitem>
+   </itemizedlist>
+  </section>
+ </section>
+
+ <section id="extensions.state">
+  &extcat.state;
+
+  <section id="extensions.state.deprecated">
+   &extcat.state.deprecated;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.aspell"/></para></listitem>
+    <listitem><para><xref linkend="ref.ccvs"/></para></listitem>
+    <listitem><para><xref linkend="ref.dbm"/></para></listitem>
+    <listitem><para><xref linkend="ref.icap"/></para></listitem>
+    <listitem><para><xref linkend="ref.mime_magic"/></para></listitem>
+    <listitem><para><xref linkend="ref.overload"/></para></listitem>
+    <listitem><para><xref linkend="ref.sesam"/></para></listitem>
+   </itemizedlist>
+  </section>
+
+  <section id="extensions.state.experimental">
+   &extcat.state.experimental;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.dotnet"/></para></listitem>
+    <listitem><para><xref linkend="ref.java"/></para></listitem>
+    <listitem><para><xref linkend="ref.mailparse"/></para></listitem>
+    <listitem><para><xref linkend="ref.muscat"/></para></listitem>
+    <listitem><para><xref linkend="ref.objaggregation"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo"/></para></listitem>
+    <listitem><para><xref linkend="ref.sdo"/></para></listitem>
+    <listitem><para><xref linkend="ref.sdo_das_xml"/></para></listitem>
+    <listitem><para><xref linkend="ref.sdodasrel"/></para></listitem>
+    <listitem><para><xref linkend="ref.vpopmail"/></para></listitem>
    </itemizedlist>
   </section>
-  
+ </section>
+
+ <section id="extensions.membership">
+  &extcat.membership;
+
   <section id="extensions.membership.bundled">
    &extcat.membership.bundled;
    <itemizedlist>
@@ -387,90 +405,193 @@
     <listitem><para><xref linkend="ref.bc"/></para></listitem>
     <listitem><para><xref linkend="ref.bzip2"/></para></listitem>
     <listitem><para><xref linkend="ref.calendar"/></para></listitem>
+    <listitem><para><xref linkend="ref.com"/></para></listitem>
     <listitem><para><xref linkend="ref.ctype"/></para></listitem>
     <listitem><para><xref linkend="ref.curl"/></para></listitem>
-    <listitem><para><xref linkend="ref.cyrus"/></para></listitem>
     <listitem><para><xref linkend="ref.dba"/></para></listitem>
-    <listitem><para><xref linkend="ref.dbm"/></para></listitem>
     <listitem><para><xref linkend="ref.dbase"/></para></listitem>
+    <listitem><para><xref linkend="ref.dom"/></para></listitem>
+    <listitem><para><xref linkend="ref.dotnet"/></para></listitem>
     <listitem><para><xref linkend="ref.exif"/></para></listitem>
+    <listitem><para><xref linkend="ref.fbsql"/></para></listitem>
+    <listitem><para><xref linkend="ref.fdf"/></para></listitem>
     <listitem><para><xref linkend="ref.filepro"/></para></listitem>
     <listitem><para><xref linkend="ref.ftp"/></para></listitem>
+    <listitem><para><xref linkend="ref.gettext"/></para></listitem>
+    <listitem><para><xref linkend="ref.gmp"/></para></listitem>
+    <listitem><para><xref linkend="ref.hwapi"/></para></listitem>
     <listitem><para><xref linkend="ref.ibase"/></para></listitem>
-    <listitem><para><xref linkend="ref.icap"/></para></listitem>
     <listitem><para><xref linkend="ref.iconv"/></para></listitem>
     <listitem><para><xref linkend="ref.ifx"/></para></listitem>
     <listitem><para><xref linkend="ref.image"/></para></listitem>
+    <listitem><para><xref linkend="ref.imap"/></para></listitem>
+    <listitem><para><xref linkend="ref.ldap"/></para></listitem>
     <listitem><para><xref linkend="ref.libxml"/></para></listitem>
     <listitem><para><xref linkend="ref.mbstring"/></para></listitem>
-    <listitem><para><xref linkend="ref.mime-magic"/></para></listitem>
+    <listitem><para><xref linkend="ref.mcrypt"/></para></listitem>
+    <listitem><para><xref linkend="ref.mhash"/></para></listitem>
+    <listitem><para><xref linkend="ref.mime_magic"/></para></listitem>
     <listitem><para><xref linkend="ref.ming"/></para></listitem>
+    <listitem><para><xref linkend="ref.msession"/></para></listitem>
     <listitem><para><xref linkend="ref.msql"/></para></listitem>
     <listitem><para><xref linkend="ref.mssql"/></para></listitem>
     <listitem><para><xref linkend="ref.mysql"/></para></listitem>
     <listitem><para><xref linkend="ref.mysqli"/></para></listitem>
+    <listitem><para><xref linkend="ref.ncurses"/></para></listitem>
     <listitem><para><xref linkend="ref.nsapi"/></para></listitem>
     <listitem><para><xref linkend="ref.objaggregation"/></para></listitem>
     <listitem><para><xref linkend="ref.oci8"/></para></listitem>
-    <listitem><para><xref linkend="ref.overload"/></para></listitem>
+    <listitem><para><xref linkend="ref.openssl"/></para></listitem>
     <listitem><para><xref linkend="ref.pcntl"/></para></listitem>
+    <listitem><para><xref linkend="ref.pcre"/></para></listitem>
     <listitem><para><xref linkend="ref.pdo"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_dblib"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_firebird"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_mysql"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_oci"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_odbc"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_pgsql"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_sqlite"/></para></listitem>
     <listitem><para><xref linkend="ref.pgsql"/></para></listitem>
     <listitem><para><xref linkend="ref.posix"/></para></listitem>
-    <listitem><para><xref linkend="ref.session"/></para></listitem>
+    <listitem><para><xref linkend="ref.pspell"/></para></listitem>
+    <listitem><para><xref linkend="ref.readline"/></para></listitem>
+    <listitem><para><xref linkend="ref.recode"/></para></listitem>
     <listitem><para><xref linkend="ref.sem"/></para></listitem>
-    <listitem><para><xref linkend="ref.sesam"/></para></listitem>
     <listitem><para><xref linkend="ref.shmop"/></para></listitem>
     <listitem><para><xref linkend="ref.simplexml"/></para></listitem>
+    <listitem><para><xref linkend="ref.snmp"/></para></listitem>
     <listitem><para><xref linkend="ref.soap"/></para></listitem>
     <listitem><para><xref linkend="ref.sockets"/></para></listitem>
+    <listitem><para><xref linkend="ref.spl"/></para></listitem>
     <listitem><para><xref linkend="ref.sqlite"/></para></listitem>
-    <listitem><para><xref linkend="ref.stream"/></para></listitem>
     <listitem><para><xref linkend="ref.sybase"/></para></listitem>
-    <listitem><para><xref linkend="ref.tokenizer"/></para></listitem>
+    <listitem><para><xref linkend="ref.tidy"/></para></listitem>
     <listitem><para><xref linkend="ref.uodbc"/></para></listitem>
+    <listitem><para><xref linkend="ref.wddx"/></para></listitem>
+    <listitem><para><xref linkend="ref.xml"/></para></listitem>
     <listitem><para><xref linkend="ref.xmlreader"/></para></listitem>
     <listitem><para><xref linkend="ref.xmlrpc"/></para></listitem>
+    <listitem><para><xref linkend="ref.xsl"/></para></listitem>
+    <listitem><para><xref linkend="ref.xslt"/></para></listitem>
+    <listitem><para><xref linkend="ref.zlib"/></para></listitem>
+   </itemizedlist>
+  </section>
+
+  <section id="extensions.membership.core">
+   &extcat.membership.core;
+   <itemizedlist>
+    <listitem><para><xref linkend="ref.array"/></para></listitem>
+    <listitem><para><xref linkend="ref.classobj"/></para></listitem>
+    <listitem><para><xref linkend="ref.datetime"/></para></listitem>
+    <listitem><para><xref linkend="ref.dir"/></para></listitem>
+    <listitem><para><xref linkend="ref.errorfunc"/></para></listitem>
+    <listitem><para><xref linkend="ref.exec"/></para></listitem>
+    <listitem><para><xref linkend="ref.filesystem"/></para></listitem>
+    <listitem><para><xref linkend="ref.funchand"/></para></listitem>
+    <listitem><para><xref linkend="ref.http"/></para></listitem>
+    <listitem><para><xref linkend="ref.info"/></para></listitem>
+    <listitem><para><xref linkend="ref.mail"/></para></listitem>
+    <listitem><para><xref linkend="ref.math"/></para></listitem>
+    <listitem><para><xref linkend="ref.misc"/></para></listitem>
+    <listitem><para><xref linkend="ref.network"/></para></listitem>
+    <listitem><para><xref linkend="ref.outcontrol"/></para></listitem>
+    <listitem><para><xref linkend="ref.regex"/></para></listitem>
+    <listitem><para><xref linkend="ref.session"/></para></listitem>
+    <listitem><para><xref linkend="ref.stream"/></para></listitem>
+    <listitem><para><xref linkend="ref.strings"/></para></listitem>
+    <listitem><para><xref linkend="ref.tokenizer"/></para></listitem>
+    <listitem><para><xref linkend="ref.url"/></para></listitem>
+    <listitem><para><xref linkend="ref.var"/></para></listitem>
    </itemizedlist>
   </section>
 
   <section id="extensions.membership.external">
    &extcat.membership.external;
    <itemizedlist>
-    <listitem><para><xref linkend="ref.aspell"/></para></listitem>
-    <listitem><para><xref linkend="ref.ccvs"/></para></listitem>
-    <listitem><para><xref linkend="ref.com"/></para></listitem>
+    <listitem><para><xref linkend="ref.bzip2"/></para></listitem>
+    <listitem><para><xref linkend="ref.cpdf"/></para></listitem>
+    <listitem><para><xref linkend="ref.crack"/></para></listitem>
+    <listitem><para><xref linkend="ref.curl"/></para></listitem>
+    <listitem><para><xref linkend="ref.dbase"/></para></listitem>
     <listitem><para><xref linkend="ref.dbplus"/></para></listitem>
-    <listitem><para><xref linkend="ref.dotnet"/></para></listitem>
+    <listitem><para><xref linkend="ref.dbx"/></para></listitem>
+    <listitem><para><xref linkend="ref.dom"/></para></listitem>
+    <listitem><para><xref linkend="ref.domxml"/></para></listitem>
+    <listitem><para><xref linkend="ref.fam"/></para></listitem>
     <listitem><para><xref linkend="ref.fbsql"/></para></listitem>
     <listitem><para><xref linkend="ref.fdf"/></para></listitem>
+    <listitem><para><xref linkend="ref.fribidi"/></para></listitem>
     <listitem><para><xref linkend="ref.gettext"/></para></listitem>
     <listitem><para><xref linkend="ref.gmp"/></para></listitem>
+    <listitem><para><xref linkend="ref.hw"/></para></listitem>
     <listitem><para><xref linkend="ref.hwapi"/></para></listitem>
+    <listitem><para><xref linkend="ref.ibase"/></para></listitem>
+    <listitem><para><xref linkend="ref.ibm_db2"/></para></listitem>
+    <listitem><para><xref linkend="ref.ifx"/></para></listitem>
     <listitem><para><xref linkend="ref.imap"/></para></listitem>
-    <listitem><para><xref linkend="ref.kadm5"/></para></listitem>
+    <listitem><para><xref linkend="ref.ingres-ii"/></para></listitem>
+    <listitem><para><xref linkend="ref.ircg"/></para></listitem>
+    <listitem><para><xref linkend="ref.java"/></para></listitem>
     <listitem><para><xref linkend="ref.ldap"/></para></listitem>
     <listitem><para><xref linkend="ref.libxml"/></para></listitem>
     <listitem><para><xref linkend="ref.maxdb"/></para></listitem>
+    <listitem><para><xref linkend="ref.mcal"/></para></listitem>
     <listitem><para><xref linkend="ref.mcrypt"/></para></listitem>
+    <listitem><para><xref linkend="ref.memcache"/></para></listitem>
     <listitem><para><xref linkend="ref.mhash"/></para></listitem>
+    <listitem><para><xref linkend="ref.ming"/></para></listitem>
+    <listitem><para><xref linkend="ref.mnogosearch"/></para></listitem>
     <listitem><para><xref linkend="ref.msession"/></para></listitem>
+    <listitem><para><xref linkend="ref.msql"/></para></listitem>
+    <listitem><para><xref linkend="ref.mssql"/></para></listitem>
+    <listitem><para><xref linkend="ref.muscat"/></para></listitem>
+    <listitem><para><xref linkend="ref.mysql"/></para></listitem>
+    <listitem><para><xref linkend="ref.mysqli"/></para></listitem>
     <listitem><para><xref linkend="ref.ncurses"/></para></listitem>
+    <listitem><para><xref linkend="ref.oci8"/></para></listitem>
+    <listitem><para><xref linkend="ref.oggvorbis"/></para></listitem>
+    <listitem><para><xref linkend="ref.openal"/></para></listitem>
     <listitem><para><xref linkend="ref.openssl"/></para></listitem>
     <listitem><para><xref linkend="ref.oracle"/></para></listitem>
-    <listitem><para><xref linkend="ref.pcre"/></para></listitem>
+    <listitem><para><xref linkend="ref.ovrimos"/></para></listitem>
+    <listitem><para><xref linkend="ref.paradox"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdf"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_dblib"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_firebird"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_mysql"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_oci"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_odbc"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_pgsql"/></para></listitem>
+    <listitem><para><xref linkend="ref.pfpro"/></para></listitem>
+    <listitem><para><xref linkend="ref.pgsql"/></para></listitem>
+    <listitem><para><xref linkend="ref.ps"/></para></listitem>
     <listitem><para><xref linkend="ref.pspell"/></para></listitem>
+    <listitem><para><xref linkend="ref.qtdom"/></para></listitem>
+    <listitem><para><xref linkend="ref.radius"/></para></listitem>
+    <listitem><para><xref linkend="ref.rar"/></para></listitem>
     <listitem><para><xref linkend="ref.readline"/></para></listitem>
     <listitem><para><xref linkend="ref.recode"/></para></listitem>
+    <listitem><para><xref linkend="ref.simplexml"/></para></listitem>
     <listitem><para><xref linkend="ref.snmp"/></para></listitem>
+    <listitem><para><xref linkend="ref.soap"/></para></listitem>
+    <listitem><para><xref linkend="ref.ssh2"/></para></listitem>
     <listitem><para><xref linkend="ref.swf"/></para></listitem>
+    <listitem><para><xref linkend="ref.sybase"/></para></listitem>
+    <listitem><para><xref linkend="ref.tidy"/></para></listitem>
+    <listitem><para><xref linkend="ref.uodbc"/></para></listitem>
+    <listitem><para><xref linkend="ref.vpopmail"/></para></listitem>
     <listitem><para><xref linkend="ref.wddx"/></para></listitem>
+    <listitem><para><xref linkend="ref.xattr"/></para></listitem>
+    <listitem><para><xref linkend="ref.xdiff"/></para></listitem>
     <listitem><para><xref linkend="ref.xml"/></para></listitem>
+    <listitem><para><xref linkend="ref.xmlreader"/></para></listitem>
     <listitem><para><xref linkend="ref.xsl"/></para></listitem>
-    <listitem><para><xref linkend="ref.zlib"/></para></listitem>
+    <listitem><para><xref linkend="ref.xslt"/></para></listitem>
+    <listitem><para><xref linkend="ref.yaz"/></para></listitem>
    </itemizedlist>
   </section>
-  
+
   <section id="extensions.membership.pecl">
    &extcat.membership.pecl;
    <itemizedlist>
@@ -482,26 +603,30 @@
     <listitem><para><xref linkend="ref.crack"/></para></listitem>
     <listitem><para><xref linkend="ref.cybercash"/></para></listitem>
     <listitem><para><xref linkend="ref.cybermut"/></para></listitem>
+    <listitem><para><xref linkend="ref.cyrus"/></para></listitem>
+    <listitem><para><xref linkend="ref.dbplus"/></para></listitem>
     <listitem><para><xref linkend="ref.dbx"/></para></listitem>
     <listitem><para><xref linkend="ref.dio"/></para></listitem>
     <listitem><para><xref linkend="ref.domxml"/></para></listitem>
     <listitem><para><xref linkend="ref.fam"/></para></listitem>
     <listitem><para><xref linkend="ref.fribidi"/></para></listitem>
     <listitem><para><xref linkend="ref.hw"/></para></listitem>
-    <listitem><para><xref linkend="ref.ibm-db2"/></para></listitem>
+    <listitem><para><xref linkend="ref.ibm_db2"/></para></listitem>
     <listitem><para><xref linkend="ref.id3"/></para></listitem>
     <listitem><para><xref linkend="ref.iisfunc"/></para></listitem>
-    <listitem><para><xref linkend="ref.ingres"/></para></listitem>
+    <listitem><para><xref linkend="ref.ingres-ii"/></para></listitem>
     <listitem><para><xref linkend="ref.ircg"/></para></listitem>
     <listitem><para><xref linkend="ref.java"/></para></listitem>
+    <listitem><para><xref linkend="ref.kadm5"/></para></listitem>
     <listitem><para><xref linkend="ref.lzf"/></para></listitem>
     <listitem><para><xref linkend="ref.mailparse"/></para></listitem>
+    <listitem><para><xref linkend="ref.maxdb"/></para></listitem>
     <listitem><para><xref linkend="ref.mcal"/></para></listitem>
     <listitem><para><xref linkend="ref.mcve"/></para></listitem>
     <listitem><para><xref linkend="ref.memcache"/></para></listitem>
     <listitem><para><xref linkend="ref.mnogosearch"/></para></listitem>
     <listitem><para><xref linkend="ref.muscat"/></para></listitem>
-    <listitem><para><xref linkend="ref.net-gopher"/></para></listitem>
+    <listitem><para><xref linkend="ref.net_gopher"/></para></listitem>
     <listitem><para><xref linkend="ref.nis"/></para></listitem>
     <listitem><para><xref linkend="ref.notes"/></para></listitem>
     <listitem><para><xref linkend="ref.oggvorbis"/></para></listitem>
@@ -511,6 +636,14 @@
     <listitem><para><xref linkend="ref.paradox"/></para></listitem>
     <listitem><para><xref linkend="ref.parsekit"/></para></listitem>
     <listitem><para><xref linkend="ref.pdf"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_dblib"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_firebird"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_mysql"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_oci"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_odbc"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_pgsql"/></para></listitem>
+    <listitem><para><xref linkend="ref.pdo_sqlite"/></para></listitem>
     <listitem><para><xref linkend="ref.pfpro"/></para></listitem>
     <listitem><para><xref linkend="ref.printer"/></para></listitem>
     <listitem><para><xref linkend="ref.ps"/></para></listitem>
@@ -519,64 +652,23 @@
     <listitem><para><xref linkend="ref.rar"/></para></listitem>
     <listitem><para><xref linkend="ref.runkit"/></para></listitem>
     <listitem><para><xref linkend="ref.sdo"/></para></listitem>
-    <listitem><para><xref linkend="ref.sdo-das-xml"/></para></listitem>
-    <listitem><para><xref linkend="ref.sdo.das.rel"/></para></listitem>
-    <listitem><para><xref linkend="ref.spl"/></para></listitem>
+    <listitem><para><xref linkend="ref.sdo_das_xml"/></para></listitem>
+    <listitem><para><xref linkend="ref.sdodasrel"/></para></listitem>
     <listitem><para><xref linkend="ref.ssh2"/></para></listitem>
+    <listitem><para><xref linkend="ref.swf"/></para></listitem>
     <listitem><para><xref linkend="ref.tcpwrap"/></para></listitem>
     <listitem><para><xref linkend="ref.tidy"/></para></listitem>
     <listitem><para><xref linkend="ref.vpopmail"/></para></listitem>
     <listitem><para><xref linkend="ref.w32api"/></para></listitem>
     <listitem><para><xref linkend="ref.xattr"/></para></listitem>
     <listitem><para><xref linkend="ref.xdiff"/></para></listitem>
-    <listitem><para><xref linkend="ref.xslt"/></para></listitem>
+    <listitem><para><xref linkend="ref.xmlreader"/></para></listitem>
     <listitem><para><xref linkend="ref.yaz"/></para></listitem>
     <listitem><para><xref linkend="ref.zip"/></para></listitem>
    </itemizedlist>
   </section>
  </section>
 
- <section id="extensions.state">
-  &extcat.state;
-  
-  <section id="extensions.state.deprecated">
-   &extcat.state.deprecated;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.aspell"/></para></listitem>
-    <listitem><para><xref linkend="ref.ccvs"/></para></listitem>
-    <listitem><para><xref linkend="ref.dbm"/></para></listitem>
-    <listitem><para><xref linkend="ref.icap"/></para></listitem>
-    <listitem><para><xref linkend="ref.mime-magic"/></para></listitem>
-   </itemizedlist>
-  </section>
-  
-  <section id="extensions.state.experimental">
-   &extcat.state.experimental;
-   <itemizedlist>
-    <listitem><para><xref linkend="ref.bcompiler"/></para></listitem>
-    <listitem><para><xref linkend="ref.dbplus"/></para></listitem>
-    <listitem><para><xref linkend="ref.dotnet"/></para></listitem>
-    <listitem><para><xref linkend="ref.java"/></para></listitem>
-    <listitem><para><xref linkend="ref.mailparse"/></para></listitem>
-    <listitem><para><xref linkend="ref.ming"/></para></listitem>
-    <listitem><para><xref linkend="ref.muscat"/></para></listitem>
-    <listitem><para><xref linkend="ref.ncurses"/></para></listitem>
-    <listitem><para><xref linkend="ref.notes"/></para></listitem>
-    <listitem><para><xref linkend="ref.objaggregation"/></para></listitem>
-    <listitem><para><xref linkend="ref.overload"/></para></listitem>
-    <listitem><para><xref linkend="ref.paradox"/></para></listitem>
-    <listitem><para><xref linkend="ref.pdo"/></para></listitem>
-    <listitem><para><xref linkend="ref.qtdom"/></para></listitem>
-    <listitem><para><xref linkend="ref.sdo"/></para></listitem>
-    <listitem><para><xref linkend="ref.sdo-das-xml"/></para></listitem>
-    <listitem><para><xref linkend="ref.sdo.das.rel"/></para></listitem>
-    <listitem><para><xref linkend="ref.vpopmail"/></para></listitem>
-    <listitem><para><xref linkend="ref.w32api"/></para></listitem>
-    <listitem><para><xref linkend="ref.xmlrpc"/></para></listitem>
-   </itemizedlist>
-  </section>
- </section>
- 
 </appendix>
 
 <!-- Keep this comment at the end of the file

http://cvs.php.net/co.php/phpdoc/scripts/extensions.xml.php?r=1.1&p=1
Index: phpdoc/scripts/extensions.xml.php
+++ phpdoc/scripts/extensions.xml.php
<?php
/*
  +----------------------------------------------------------------------+
  | PHP Documentation                                                    |
  +----------------------------------------------------------------------+
  | Copyright (c) 2005 The PHP Group                                     |
  +----------------------------------------------------------------------+
  | This source file is subject to version 3.0 of the PHP license,       |
  | that is bundled with this package in the file LICENSE, and is        |
  | available through the world-wide-web at the following url:           |
  | http://www.php.net/license/3_0.txt.                                  |
  | If you did not receive a copy of the PHP license and are unable to   |
  | obtain it through the world-wide-web, please send a note to          |
  | [EMAIL PROTECTED] so we can mail you a copy immediately.               |
  +----------------------------------------------------------------------+
  | Authors:    Nuno Lopes <[EMAIL PROTECTED]>                             |
  +----------------------------------------------------------------------+
 
  $Id: extensions.xml.php,v 1.1 2005/09/04 19:54:46 nlopess Exp $
*/


/*
 This script updates the appendices/extensions.xml file automatically based
 on the tags placed in the 'reference.xml' files:
<!-- Purpose: xx -->
<!-- Membership: core, pecl, bundled, external -->
<!-- State: deprecated, experimental -->

                --- NOTE: PHP >= 5 needed ---
*/

$basedir = realpath(dirname(__FILE__) . '/..');
$files   = glob("$basedir/en/reference/*/reference.xml");
sort($files);
$Purpose = $Membership = $State = $debug = array();

// read the files and save the tags' info
foreach ($files as $file) {

        $tmp  = explode('/', $file, -1);
        $file = file_get_contents($file);
        $ext  = array_pop($tmp);

        $miss = array('Purpose'=>1, 'Membership'=>1);

        if (preg_match_all('/<!--\s*(\w+):\s*([^-]+)-->/S', $file, $matches, 
PREG_SET_ORDER)) {
                //print_r($matches);
                foreach ($matches as $match) {
                        switch($match[1]) {
                                case 'Purpose':
                                case 'State':
                                        ${$match[1]}[rtrim($match[2])][$ext] = 
1;
                                        unset($miss[$match[1]]); // for the 
debug part below
                                        break;

                                case 'Membership':
                                        foreach (explode(',', $match[2]) as $m) 
{
                                                $m = trim($m);
                                                switch($m) {
                                                        case 'pecl':
                                                        case 'bundled':
                                                        case 'external':
                                                        case 'core':
                                                                
$Membership[$m][$ext] = 1;
                                                                
unset($miss['Membership']); // for the debug part below
                                                                break;
                                                        default:
                                                                
$debug['bogus-membership'][] = array($ext, $m);
                                                }
                                        }
                        } //first switch
                } //first foreach
        } // if(regex)


        // debug section: let user know which extensions don't have the tags

        // if the extension is deprecated, we don't need any more info
        if (empty($State['deprecated'][$ext])) {

                // purpose not set
                if (isset($miss['Purpose'])) {
                        $debug['purpose'][] = $ext;
                }

                // membership not set
                if (isset($miss['Membership'])) {
                        $debug['membership'][] = $ext;
                }

        }

}

uksort($Purpose, sort_purpose);
ksort($Membership);
ksort($State);

// ---------- generate the text to write -------------

$write = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<!-- \$Revision: 1.1 $ -->

<!--
  DO NOT TRANSLATE THIS FILE! All the content that is displayed
  on the extension categorization page in your translated manual
  can be translated in extensions.ent
-->

<appendix id="extensions">
 &extcat.intro;

 <section id="extensions.purpose">
  &extcat.purpose;

XML;


// purpose
$old_toplevel = '';
$level = 0;

foreach ($Purpose as $name => $exts) {

        $tmp      = explode('.', $name);
        $toplevel = $tmp[0];

        // 1 level purpose
        if (count($tmp) == 1) {
                $old_toplevel = '';
                $write .= close_tags($level == 2 ? 3 : $level);
                $write .= <<< XML

  <section id="refs.$name">
   &extcat.purpose.$name;
   <itemizedlist>

XML;

                $level = 1;

        // 2 level purpose
        } else {

                if ($old_toplevel != $toplevel) {
                        $write .= close_tags($level == 2 ? 3 : $level);
                        $write .= <<< XML

  <section id="refs.$toplevel">
   &extcat.purpose.$toplevel;

XML;
                } else {
                        $write .= close_tags($level);
                }

                        $write .= <<< XML

   <section id="refs.$name">
    &extcat.purpose.$name;
    <itemizedlist>

XML;
                $old_toplevel = $toplevel;
                $level = 2;
        }


        foreach ($exts as $ext => $dummy) {
                $write .= indent($level, "    <listitem><para><xref 
linkend=\"ref.$ext\"/></para></listitem>" . PHP_EOL);
        }

        $write .= indent($level, '   </itemizedlist>' . PHP_EOL);
                //indent($level, '  </section>'.PHP_EOL);

}

$write .= close_tags($level) . ' </section>' . PHP_EOL;



///--------end of purpose
// membership

$write .= <<< XML

 <section id="extensions.state">
  &extcat.state;

XML;


foreach ($State as $type => $exts) {

        $write .= <<< XML

  <section id="extensions.state.$type">
   &extcat.state.$type;
   <itemizedlist>

XML;

        foreach ($exts as $ext => $dummy) {
                $write .= "    <listitem><para><xref 
linkend=\"ref.$ext\"/></para></listitem>".PHP_EOL;
        }

        $write .= <<< XML
   </itemizedlist>
  </section>

XML;

}

$write .= " </section>".PHP_EOL;



///--------end of membership
// state

$write .= <<< XML

 <section id="extensions.membership">
  &extcat.membership;

XML;


foreach ($Membership as $type => $exts) {

        $write .= <<< XML

  <section id="extensions.membership.$type">
   &extcat.membership.$type;
   <itemizedlist>

XML;

        foreach ($exts as $ext => $dummy) {
                $write .= "    <listitem><para><xref 
linkend=\"ref.$ext\"/></para></listitem>".PHP_EOL;
        }

        $write .= <<< XML
   </itemizedlist>
  </section>

XML;

}

$write .= " </section>".PHP_EOL;


// the end :)

$write .= <<< XML

</appendix>

<!-- 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
indent-tabs-mode:nil
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
-->

XML;

file_put_contents("$basedir/en/appendices/extensions.xml", $write);


// print the debug messages:
if (isset($debug['purpose'])) {
        echo "\nExtensions Missing Purpose:\n";
        print_r($debug['purpose']);
}

if (isset($debug['membership'])) {
        echo "\nExtensions Missing Membership:\n";
        print_r($debug['membership']);
}

if (isset($debug['bogus-membership'])) {
        echo "\nExtensions with bogus Membership:\n";
        print_r($debug['bogus-membership']);
}




function indent($i, $txt) {
        return ($i==2 ? ' ' : '') . $txt;
}


// close XML tags, based on the level
function close_tags($i) {

        if ($i == 1) {
                return <<< XML
  </section>

XML;

        } elseif ($i == 2) {
                return <<< XML
   </section>

XML;
        } elseif ($i == 3) {
                return <<< XML
   </section>

  </section>

XML;
        }
}


// use this special function to sort the purpose to put the 'xx.other' at last
function sort_purpose($a, $b) {

        if ($a == $b) return 0;
        $aa = explode('.', $a);
        $bb = explode('.', $b);

        if (count($aa) == 1 || count($bb) == 1)
                return strcmp($a, $b);

        // put .other at last
        if ($aa[1] == 'other' && $aa[0] == $bb[0]) return 1;
        if ($bb[1] == 'other' && $aa[0] == $bb[0]) return -1;

        return strcmp($a, $b);

}
?>

Reply via email to