Ten&Two XSLT Processor Wordpress Plugin - Rating, Reviews, Demo & Download

Ten&Two XSLT Processor Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

The Ten&Two XSLT Processor plugin brings the power of PHP’s XSL extension to WordPress. Once enabled, the plugin creates three (3) shortcodes – [xslt_transform/], [xslt_select_xml/], and [xslt_select_csv/] – which can be used separately or in tandem to enrich your site with content from XML and CSV sources. The plugin also enables two custom post types – ‘XSL Stylesheets’ and ‘XML Documents’ – for managing and validating sources within WP Admin.

Detailed documentation and sample code can be found at https://xsltproc.tenandtwo.com/

Post Types

The XSLT Processor plugin provides two (2) custom post types for managing sources within WordPress – XSL Stylesheets and XML Documents. Both types include basic syntax validation. XML Documents can be validated further using DTD, XSD, or RNG. Both types are enabled in Settings > XSLT Processor > Activate Content Types.

Shortcode : [xslt_transform/]

[xslt_transform/] is the plugin’s primary function. This shortcode processes XML data using an XSL stylesheet, and then outputs the result as HTML, more XML, or as simple TEXT.

  • [xslt_transform xsl=”{file|url|id|slug}” xml=”{file|url|id|slug}” /]
  • [xslt_transform xsl=”{file|url|id|slug}”]…[/xslt_transform]

If either the xsl or xml parameter is left unspecified, defaults are used. The default XML value is <NODATA/>. The default XSL stylesheet prints all of the incoming data as HTML. If extra attributes are specified in the shortcode – eg, mykey="myval" – those keys/values are passed along as parameters to the stylesheet – <xsl:param name="mykey"/>.

Shortcode : [xslt_select_xml/]

[xslt_select_xml/] is a helper function. It reads XML and returns a selection of the data, based on a supplied XPath expression. There are two options for specifying the XPath. First, using the select attribute or, second, using the body of the shortcode. Complex select statements with quotes, square brackets or other special syntax, should use the second pattern :

  • [xslt_select_xml xml=”{file|url|id|slug}” select=”{XPath}” /]
  • [xslt_select_xml xml=”{file|url|id|slug}”]{XPath}[/xslt_select_xml]

If the XPath select parameter is left unspecified, the default / is used, which returns the entire document. The default output is format="xml". If format="json" is specified, the result is encoded as a JSON string.

Shortcode : [xslt_select_csv/]

[xslt_select_csv/] is a helper function for converting CSV file data to XML. The result can be output directly as an HTML

<

table>, or the result can be passed to [xslt_transform/] for further processing.

  • [xslt_select_csv csv=”{file|url}” /]
  • [xslt_select_csv]{csv,data}[/xslt_select_csv]

Three (3) parameters – separator, enclosure, escape – control reading the input. See PHP’s fgetcsv() function for details.
– [xslt_select_csv separator=”,” enclosure=””” escape=”\” /]

Two (2) parameters – key_row, col – control writing columns to the output. The key_row attribute is optional, but allows labels from that row to be used in col and key_col.
– [xslt_select_csv key_row=”{num}” col=”{num|letter|label}+” /]

Three (3) parameters – row, key_col, key – control writing rows to the output.
– [xslt_select_csv row=”{num}+” /]
– [xslt_select_csv key_col=”{num|letter|label}” key=”{val}+” /]

Nested Shortcodes

Combine [xslt_transform] with [xslt_select_xml] :
– [xslt_transform][xslt_select_xml/][/xslt_transform]

Combine [xslt_transform] with [xslt_select_csv] :
– [xslt_transform][xslt_select_csv/][/xslt_transform]

Combine [xslt_transform] with itself using [/xslt_transform_alias] (WP does not support nested shortcodes with identical names) :
– [xslt_transform_alias][xslt_transform/][/xslt_transform_alias]

Combine multiple shortcodes/sources to create a single ‘XML Document’ (see Custom Post Types above) :
– [xslt_select_xml xml=”f1.xml” /][xslt_select_xml xml=”f2.xml” /]

Cache Parameters

When a shortcode specifies a remote file – xml="{url}" or csv="{url}" – that source is cached locally using WP Transients. The default cache duration is set in the XSLT Processor Settings. To override the default, add cache="{minutes}" to the shortcode.

  • [xslt_transform xml=”{url}” cache=”{minutes}” /]
  • [xslt_select_xml xml=”{url}” cache=”{minutes}” /]
  • [xslt_select_csv csv=”{url}” cache=”{minutes}” /]

Namespace Parameters

Within [xslt_select_xml/] the plugin provides two methods for handling XML containing namespaces. The first is to add strip-namespaces to the shortcode. The second method is to add the needed prefixes and namespace URIs using xslns.

  • [xslt_select_xml xml=”{file}” strip-namespaces=”yes” select=”//node” /]
  • [xslt_select_xml xml=”{file}” xmlns=”ns1″ ns1=”{namespace-uri-1}” select=”//ns1:node” /]
  • [xslt_select_xml xml=”{file}” xmlns=”ns1 ns2″ ns1=”{namespace-uri-1}” ns2=”{namespace-uri-2}” select=”//ns1:node/ns2:node” /]

XSL Stylesheets

The XSLT Processor plugin includes a number of useful XSL templates that you can include and use in your own projects. They are grouped into five files.

  • date.xsl : date-format, date-microtime
  • file.xsl : file-exists-local, file-exists-remote
  • string.xsl : string-replace, string-upper, string-lower, string-title-case, string-trim, string-rtrim, string-ltrim, string-maxlength, string-maxwords, string-add-slashes, string-urlencode, string-strip-tags, string-nl2br, string-entity-decode, string-to-nodeset
  • util.xsl : util-bytsize, util-hash-data, util-print-nodes, util-print-node-names, util-super-global
  • wp.xsl : wp-select-xml, wp-select-csv, wp-post-item, wp-post-meta, wp-sanitize-title, wp-size-format

Screenshots

  1. XSLT Processor Settings

    XSLT Processor Settings


Reviews & Comments