Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
xpe(3)				 AFNIX Service				xpe(3)

NAME
       xpe - xml processing environment	service

XML PROCESSING ENVIRONMENT SERVICE
       The  XML	 Processing  Environmentservice	 is an original	implementation
       that provides the support for processing	xml document that could	be ac-
       cessed  locally	or remotely. In	particular, the	processing environment
       supports	the XML	includefacility.

       XML content
       The XmlContentclass is an extension of the  XML	document  object  that
       provides	the service for	loading	a XML document locally or from the In-
       ternet. The class operates with an uri, which permits  to  selects  the
       appropriate loader from the uri scheme.

       Content creation
       The XmlContentoperates with an uri that permits to select the appropri-
       ate loader. If the uri scheme is	a file	scheme,	 the  content  is  re-
       trieved locally.	If the uri scheme is http, the content is retrieved by
       establishing a http connection over the Internet.

       # create	a document from	a local	file
       const xdoc (
	 afnix:xpe:XmlContent "file:///home/afnix/file.xml")

       When the	uri scheme is a	file, the uri authority	is  empty  (hence  the
       double //) and the path indicates the file to parse. The	XmlContent ob-
       ject is derived from the	XmlDocumentobject which	 contains  the	parsed
       tree with the XmlRootobject.

       # create	a document from	a http connection
       const xdoc (
	 afnix:xpe:XmlContent
	 "http://www.afnix.org/index.xht")

       When the	uri scheme is a	http scheme, the document is downloaded	by es-
       tablishing an http connection with the uri  authority.  When  the  http
       header  is  received, the content is parsed to create a valid xml docu-
       ment. If	the http response header indicates that	the page has moved and
       a  new location is provided, the	object manages automatically to	follow
       such location.

       Content and document name
       Since the XmlContentobject is derived from  the	XmlContentobject,  the
       content	object	is  defined with a uri name and	a document name. Under
       normal circumstances, the document name is  derived  from  the  content
       name  by	 normalizing  it.  The	content	name is	the object constructor
       name, while the document	name is	the normalized document	name. The get-
       namemethod  returns  the	content	name while the get-document-namemethod
       returns the document name.

       # create	a document by name
       const xdoc (afnix:xpe:XmlContent	"file" "file.xml")

       In the previous example,	a xml content object is	created	by name	with a
       document	 name. It is the document name that gets normalized. Therefore
       in the previous example,	the file.xmldocument name is normalized	into a
       file  uri.  The	normalization  rule always favor the file scheme. This
       means that without a scheme, the	file scheme is automatically added.

       Content type
       Many times, the content type cannot be detected from the	uri name. Once
       opened,	if  the	content	header provides	a clue about the content type,
       the opened input	stream get  adjusted  automatically  to	 reflect  this
       fact.  However,	this  situation	 does  not  occurs often and with http
       scheme, the content type	header response	does not  often	 provides  the
       character  encoding  associated	with  the stream. For this reason, the
       XmlContentconstructor provides a	mechanism to accept the	encoding mode.

       # create	a new content by name and encoding mode
       const xdoc (
	 afnix:xpe:XmlContent "file" "file.xml"	"UTF-8")

XML PROCESSING ENVIRONMENT SERVICE REFERENCE
       XmlContent
       The XmlContentclass is an extension of the xml document class that  op-
       erates at the uri level.	If the uri is a	local file the xml document is
       created from an input file stream. If the uri is	an url,	the content is
       fetched	automatically.	The  class constructors	permit to separate the
       content name from the document name and also to specify the content en-
       coding.

       Predicate

	      xml-content-p

       Inheritance

	      XmlDocumentMime

       Constructors

	      XmlContent (String)
	      The  XmlContentconstructor  creates  a xml document by name. The
	      document name is the normalized uri name	that  always  favor  a
	      file scheme in the absence of it.

	      XmlContent (String String)
	      The  XmlContentconstructor  creates  a xml document by name. The
	      first argument is	the content name. The second argument  is  the
	      document	name  which is normalized to form the uri name used to
	      load the document.

	      XmlContent (String String	String)
	      The XmlContentconstructor	creates	a xml document by name and en-
	      coding  mode. The	first argument is the content name. The	second
	      argument is the document name which is normalized	 to  form  the
	      uri  name	 used  to load the document. The third argument	is the
	      content character	encoding.

       Methods

	      get-document-uri -> String (none)
	      The get-document-urimethod returns the document normalized uri.

	      get-document-name	-> String (none)
	      The get-document-namemethod returns the  object  document	 name.
	      This method complements the get-namemethod which returns the ob-
	      ject name.

       XmlFeature
       The XmlFeatureclass is a	xml processor base class that defines  a  pro-
       cessing	feature.  A processing feature is defined by name and informa-
       tion with a processing level. The default  processing  level  is	 null.
       When  the  processor  is	called,	it calls sequentially and in ascending
       order all features.

       Predicate

	      xhtml-feature-p

       Inheritance

	      Nameable

       Methods

	      get-info -> String (none)
	      The get-infomethod returns the xml feature  information  string.
	      The  feature  name is available from the get-nameprovided	by the
	      Nameablebase class.

	      set-processing-level -> none (Integer)
	      The  set-processing-levelmethod  sets  the  feature   processing
	      level. The integer argument is the level to set.

	      get-processing-level -> Integer (none)
	      The  get-processing-levelmethod  returns	the feature processing
	      level.

	      processing-level-p -> Boolean (Integer)
	      The processing-level-ppredicate returns true if the integer  ar-
	      gument equal the feature processing level.

	      process -> XmlContent (XmlContent)
	      The  processmethod  process  the input xml content and returns a
	      new xml content. The method is automatically called by  the  xml
	      processor.

       XmlProcessor
       The  XmlProcessorclass  is  a global class designed to operate on a xml
       content.	The xml	processor provides several features that  can  be  en-
       abled  prior the	document processor. Once the features are defined, the
       'process' method	can be called and a new	xml content can	be produced.

       Predicate

	      xml-processor-p

       Inheritance

	      Object

       Constructors

	      XmlProcessor (none)
	      The XmlProcessorconstructor  creates  a  default	xml  processor
	      without any feature.

       Methods

	      feature-length ->	Integer	(none)
	      The  feature-lengthmethod	returns	the number of features defined
	      in the xml processor.

	      add-feature -> none (XmlFeature)
	      The add-featuremethod adds a feature object  to  the  processor.
	      The  feature  processing	level does not have to be sorted prior
	      the insertion.  Adding  multiple	feature	 creates  a  processor
	      chain.

	      get-feature -> XmlFeature	(Integer)
	      The get-featuremethod return a processor feature by index.

	      process -> XmlFeature (XmlFeature)
	      The processmethod	create a new xml content by calling processing
	      feature chain. The feature  chain	 consists  of  feature	object
	      sorted  in  ascending  order. If the processor contains only one
	      feature, calling the processmethod is  equivalent	 to  call  the
	      XmlFeaturesame method.

       XmlInclude
       The XmlIncludeclass is a	xml processor feature class designed to	handle
       the "XInclude" schema that permits to include xml document. The feature
       operates	 recursively  by  scanning the document	for a "xi:include" tag
       and replacing the content by the	appropriate tree. The feature operates
       recursively unless specified otherwise.

       Predicate

	      xml-include-p

       Inheritance

	      XmlFeature

       Constructors

	      XmlInclude (none)
	      The XmlIncludeconstructor	creates	a default xml include feature.
	      The default feature processing level is 10.

	      XmlInclude (Integer)
	      The XmlIncludeconstructor	creates	a xml include feature  with  a
	      processing level.	The integer argument is	the feature processing
	      level to set.

AFNIX				  2017-04-29				xpe(3)

NAME | XML PROCESSING ENVIRONMENT SERVICE | XML PROCESSING ENVIRONMENT SERVICE REFERENCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=afnix::xpe&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help