[gnome-devel-docs] platoform-overview: Split out xml from networking



commit b73dde4080dbed2fbea91310240e9759b6cae130
Author: Johannes Schmid <jhs gnome org>
Date:   Tue Mar 22 12:40:14 2011 -0400

    platoform-overview: Split out xml from networking
    
    Created a new xml page containing the xml stuff and added GIO networking
    support to the networking section

 platform-overview/C/ipc-network.page |  188 +++-------------------------------
 platform-overview/C/xml.page         |   89 ++++++++++++++++
 platform-overview/Makefile.am        |    1 +
 3 files changed, 106 insertions(+), 172 deletions(-)
---
diff --git a/platform-overview/C/ipc-network.page b/platform-overview/C/ipc-network.page
index ccb902c..0a5893a 100644
--- a/platform-overview/C/ipc-network.page
+++ b/platform-overview/C/ipc-network.page
@@ -4,7 +4,7 @@
 
 <info>
   <link type="guide" xref="index#what-is-gnome-platform"/>
-  <desc>IPC and Networking</desc>
+  <desc>Connect your applications and to the world</desc>
   <revision pkgversion="3.0" version="0.1" date="2011-03-18" status="incomplete"/>
   <credit type="author">
     <name>Shaun McCance</name>
@@ -18,57 +18,7 @@
   </credit>
 </info>
 
-<title>IPC and Networking</title>
-
-<section id="clipboard">
-  <title>Clipboards and Drag and Drop</title>
-
-  <p>As users work with more and more types of data in different
-  applications, they have an increasing need to share objects and data
-  between their applications.  GNOME supports two related methods for
-  transfering data between applications: using drag and drop operations,
-  and copying to and pasting from a system-wide clipboard.  Both the
-  clipboard and drag and drop work across multiple applications,
-  including those not developed with GNOME.</p>
-
-  <p>The clipboard is used when a user explicitly copies data in an
-  application.  The application then claims ownership of the clipboard.
-  When the user pastes the data into another application, that application
-  requests the clipboard data from the first application.  Clipboard
-  operations are fully supported in GTK+.</p>
-
-  <p>Drag and drop operations are similar, but they require the pointer
-  to be tracked and updated as the user moves across potential drop targets.
-  When an application is notified a pointer is moving over it during an
-  active drag, it must update the cursor to indicate whether or not it can
-  accept the drop.  GTK+ provides drag and drop support with a sophisticated
-  API that makes it easy to manage drop targets in your applications.</p>
-
-  <p>Both the clipboard and drag and drop operations support content
-  negotation.  When an application has data to offer, it advertises which
-  formats are available for that data.  Receiving applications can request
-  the most suitable formats.  For instance, if a user copies text from a
-  web browser, a word processor can maintain formatting by requesting the
-  data in HTML, while a plain text editor can receive the text without
-  formatting.</p>
-
-  <p>You should provide clipboard and drag and drop functionality for
-  any data your application operates on.  The clipboard and drag and drop
-  are useful for more than just text: files, graphics, and sound clips are
-  all examples of data that can be transferred between applications.  When
-  you use GTK+, you automatically get clipboard and drag and drop support
-  for text areas, color buttons, file choosers, and other built-in user
-  interface controls.  You should use the APIs in GTK+ to provide support
-  for any other data in your application.</p>
-
-  <p>For more information, see <link
-  href="http://www.newplanetsoftware.com/xdnd/";>Drag-and-Drop Protocol for
-  the X Window System</link>, <link
-  href="http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt";>X
-  Clipboard Explanation</link>, and <link
-  href="http://freedesktop.org/wiki/ClipboardManager";>The
-  Clipboard Manager Specification</link>.</p>
-</section>
+<title>IPC and network</title>
 
 <section id="dbus">
   <title>D-BUS Messaging</title>
@@ -110,63 +60,20 @@
   D-BUS Specification</link>.</p>
 </section>
 
-<section id="bonobo-corba">
-  <title>Bonobo and CORBA</title>
-
-  <note><p>Note that Bonobo, libIDL and ORBit have been deprecated in 
-  favor of D-Bus and other technologies. See above.</p></note>
-
-  <p>Bonobo is a framework for creating reusable components for use
-  in applications.  Built on top of the industry-standard Common Object
-  Request Broker Architecture (CORBA), Bonobo provides all the common
-  interfaces needed to create and use well-behaved components in GNOME
-  applications.</p>
-
-  <p>Bonobo components can be used in a variety of situations, and can
-  help create flexible and extensible software.  For example, a component
-  to display multimedia content could be embedded inside a word processor,
-  effectively adding multimedia support to the word processor without the
-  word processor working directly with it.  Bonobo components are also used
-  to embed the applets in the GNOME panel.  Using Bonobo enables the applets
-  to communicate effectively with the panel, affording users a consistent
-  interface.</p>
+<section id="network">
+<title>Network stack</title>
 
-  <p>Bonobo components are not limited to graphical controls.  Bonobo was
-  used by Evolution, GNOME's email and groupware suite, to provide access
-  to users' addressbook and calendar.  This allows users to keep all their
-  information in one place, where all applications can access it.</p>
+<p>The GIO library which is part of GLib provides integrated
+networking support, including Sockets, TLS/SSL authentication and DNS resolution.
+Thus, networking support is an integral part of the GNOME platform and no
+additional dependencies are needed.</p>
 
-  <p>Bonobo is built off of CORBA, allowing components to run in seperate
-  processes.  Components can be written in different languages and run on top
-  of different runtimes; they need only adhere to an interface specified with
-  the Interface Definition Language (IDL).  CORBA's flexible design even allows
-  components to run on seperate machines over a network.</p>
+<p>GIO also provides a convenience layer to access D-Bus an a object-oriented
+way.</p>
 
-  <p>GNOME provides its own fast and lightweight CORBA implementation with
-  ORBit.  The tools and libraries supplied with GNOME even allow components
-  to be written effectively in C, a language often excluded by other CORBA
-  implementations.  ORBit is an incredibly fast CORBA implementation.</p>
+<p>For more information on GIO, see the <link
+href="http://library.gnome.org/devel/gio/stable/";>GIO Reference Manual</link>.</p>
 
-  <p>Bonobo helps fill the gaps in CORBA, providing the additional
-  interfaces and specifications needed to support consistent components.
-  Although you will rarely need to use CORBA without Bonobo, it can be
-  used directly.  For instance, GNOME's accessibility infastructure uses
-  CORBA to allow assistive tools to inspect and interact with running
-  applications.</p>
-
-  <p>You may wish to use Bonobo to provide complex graphical components
-  that can be embedded into applications.  For most IPC needs, however,
-  GNOME is moving towards D-Bus, as integrating D-Bus into applications
-  is considerably easier.</p>
-
-  <p>For more information on Bonobo, see the <link
-  href="http://library.gnome.org/devel/libbonobo/stable/";>Libbonobo
-  Reference Manual</link> and the <link
-  href="http://library.gnome.org/devel/libbonoboui/stable/";>LibbonoboUI
-  Reference Manual</link>.  For information on ORBit, GNOME's
-  CORBA implementation, see the <link
-  href="http://library.gnome.org/devel/ORBit2/stable/";>ORBit2
-  Reference Manual</link>.</p>
 </section>
 
 <section id="dns-sd">
@@ -190,8 +97,8 @@
   Avahi web site</link>.</p>
 </section>
 
-<section id="xml-web-services">
-  <title>XML and Web Services</title>
+<section id="web-services">
+  <title>Web Services</title>
 
   <p>In our increasingly inter-connected world, more and more applications
   need to provide support for various web services.  Sometimes web services
@@ -201,8 +108,8 @@
   web services.</p>
 
   <p>The GNOME Platform provides support for using web services from
-  within your application, as well as comprehensive libraries for consuming,
-  managing, and transforming XML, the language of the web.</p>
+  within your application, as well as comprehensive <link xref="xml">
+  libraries for consuming, managing, and transforming XML</link>, the language of the web.</p>
 
   <section id="libsoup">
     <title>SOAP</title>
@@ -230,69 +137,6 @@
     href="http://library.gnome.org/devel/libsoup/stable/";>libsoup
     Reference Manual</link>.</p>
   </section>
-
-  <section id="libxml2">
-    <title>XML Processing</title>
-
-    <p>Since its formal introduction in 1998, XML (eXtensible Markup
-    Langauge) has been used in increasingly more applications.  It is used
-    for a wide variety of purposes, from document formats like XHMTL and
-    DocBook to internet protocols like SOAP and Jabber.  XML provides a
-    clean and simple base syntax, allowing applications to focus on their
-    particular needs.</p>
-
-    <p>GNOME ships with the libxml2 library, and uses it extensively
-    throughout the desktop.  The libxml2 library is a fast and fully
-    standards-compliant XML processing library, providing everything you
-    need to use XML in your application.</p>
-
-    <p>The libxml2 library provides a number of different APIs for
-    working with XML, so you can use whatever best suits your application
-    development needs.  In addition to a native tree API, libxml2 also
-    provides the callback-based SAX2 API, streaming XML reader and writer
-    interfaces, and complete support for XPath.</p>
-
-    <p>In addition to DTD support, libxml2 also provides full support
-    for validing documents using RELAX NG, which allows a more flexible
-    validation model while remaining simple to use.  There is also partial
-    support for XML Schema, the new schema language produced by W3C.</p>
-
-    <p>You should use libxml2 whenever you need to work directly with
-    XML in your application.  Using libxml2 ensures that you have fully
-    standards-compliant parsing, processing, and XML output.  This means
-    developers can stop worrying about incompatibilities between
-    applications.</p>
-
-    <p>For more information on libxml2, see <link
-    href="http://xmlsoft.org/tutorial/index.html";>The Libxml Tutorial</link>
-    and <link href="http://xmlsoft.org/html/libxml-lib.html";>The Reference
-    Manual for libxml2</link>.</p>
-  </section>
-
-  <section id="libxslt">
-    <title>Transforming XML with XSLT</title>
-
-    <p>XSLT is an XML-based language for transforming XML into other
-    formats.  XSLT is a template-based language, allowing you to match
-    particular types of XML elements and create output accordingly.
-    Based on XML and XPath, XSLT enables developers to create clean and
-    modularized templates to convert an XML dialect into another format
-    more suitable for the application.</p>
-
-    <p>GNOME ships with the libxslt library, a complete implementation of
-    XSLT.  The libxslt library is built on top of the XML and XPath support
-    in libxml2, allowing it to be fast and fully standards-compliant.</p>
-
-    <p>You should use libxslt if you need to transform XML documents.
-    Although XSLT is not always the right solution for XML processing, it
-    can often simplify development.  Since libxslt allows you to add extension
-    elements and extension functions, you can customize it to fit your
-    application.</p>
-
-    <p>For more information on libxslt, see <link
-    href="http://xmlsoft.org/XSLT/html/index.html";>The XSLT C library for
-    Gnome</link>.</p>
-  </section>
 </section>
 
 </page>
diff --git a/platform-overview/C/xml.page b/platform-overview/C/xml.page
new file mode 100644
index 0000000..796b475
--- /dev/null
+++ b/platform-overview/C/xml.page
@@ -0,0 +1,89 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic" stlye="task"
+      id="xml">
+
+<info>
+  <link type="guide" xref="index#what-is-gnome-platform"/>
+  <desc>Use the power of the number one markup language</desc>
+  <revision pkgversion="3.0" version="0.1" date="2011-03-18" status="incomplete"/>
+  <credit type="author">
+    <name>Shaun McCance</name>
+    <email>shaunm gnome org</email>
+    <years>2005-2011</years>
+  </credit>
+  <credit type="collaborator">
+    <name>Germán Póo-Caamaño</name>
+    <email>gpoo gnome org</email>
+    <years>2011</years>
+  </credit>
+</info>
+
+<title>XML and XSLT</title>
+
+<section>
+<title>Introduction</title>
+    <p>Since its formal introduction in 1998, XML (eXtensible Markup
+    Langauge) has been used in increasingly more applications.  It is used
+    for a wide variety of purposes, from document formats like XHMTL and
+    DocBook to internet protocols like SOAP and Jabber.  XML provides a
+    clean and simple base syntax, allowing applications to focus on their
+    particular needs.</p>
+</section>
+
+<section id="libxml2">
+    <title>XML Processing</title>
+
+    <p>GNOME ships with the libxml2 library, and uses it extensively
+    throughout the desktop.  The libxml2 library is a fast and fully
+    standards-compliant XML processing library, providing everything you
+    need to use XML in your application.</p>
+
+    <p>The libxml2 library provides a number of different APIs for
+    working with XML, so you can use whatever best suits your application
+    development needs.  In addition to a native tree API, libxml2 also
+    provides the callback-based SAX2 API, streaming XML reader and writer
+    interfaces, and complete support for XPath.</p>
+
+    <p>In addition to DTD support, libxml2 also provides full support
+    for validing documents using RELAX NG, which allows a more flexible
+    validation model while remaining simple to use.  There is also partial
+    support for XML Schema, the new schema language produced by W3C.</p>
+
+    <p>You should use libxml2 whenever you need to work directly with
+    XML in your application.  Using libxml2 ensures that you have fully
+    standards-compliant parsing, processing, and XML output.  This means
+    developers can stop worrying about incompatibilities between
+    applications.</p>
+
+    <p>For more information on libxml2, see <link
+    href="http://xmlsoft.org/tutorial/index.html";>The Libxml Tutorial</link>
+    and <link href="http://xmlsoft.org/html/libxml-lib.html";>The Reference
+    Manual for libxml2</link>.</p>
+</section>
+
+<section id="libxslt">
+    <title>Transforming XML with XSLT</title>
+
+    <p>XSLT is an XML-based language for transforming XML into other
+    formats.  XSLT is a template-based language, allowing you to match
+    particular types of XML elements and create output accordingly.
+    Based on XML and XPath, XSLT enables developers to create clean and
+    modularized templates to convert an XML dialect into another format
+    more suitable for the application.</p>
+
+    <p>GNOME ships with the libxslt library, a complete implementation of
+    XSLT.  The libxslt library is built on top of the XML and XPath support
+    in libxml2, allowing it to be fast and fully standards-compliant.</p>
+
+    <p>You should use libxslt if you need to transform XML documents.
+    Although XSLT is not always the right solution for XML processing, it
+    can often simplify development.  Since libxslt allows you to add extension
+    elements and extension functions, you can customize it to fit your
+    application.</p>
+
+    <p>For more information on libxslt, see <link
+    href="http://xmlsoft.org/XSLT/html/index.html";>The XSLT C library for
+    Gnome</link>.</p>
+</section>
+
+</page>
\ No newline at end of file
diff --git a/platform-overview/Makefile.am b/platform-overview/Makefile.am
index 21dd9d9..50850ed 100644
--- a/platform-overview/Makefile.am
+++ b/platform-overview/Makefile.am
@@ -11,6 +11,7 @@ DOC_PAGES =			\
 	ipc-network.page	\
 	cc-by-sa-3-0.xml	\
 	platform.page		\
+	xml.page
 	index.page
 DOC_FIGURES =			\
 	figures/graphics.png	\



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]