Yesterday, I finished up and released version 2.0 of XSLT_PEDS, the latest version of software to facilitate reading USPTO’s PEDS data. Script code in the new version has been significantly reworked to improve ease of maintenance while providing controls to facilitate incorporation of XSLT_PEDS functionality into other scripts if desired. Fortunately for current XSLT_PEDS users, those upgrading to version 2.0 may continue using scripts `unzipa`, `unzipf`, and `unzipo` as with versions 1.x.x.

Version 2.0 includes the new script `unzippeds` which includes all of the functionality formerly found in scripts `unzipa`, `unzipf`, and `unzipo`. When provided with the appropriate argument, `unzippeds` will perform the operation of the corresponding one of the former disparate scripts. The former scripts remain but have been reduced to stubs calling `unzippeds` with appropriate arguments. Integration into a single script obviously reduces redundancy due to similarities between operations, but the single script and its arguments also simplify selective application of any or all of the XSLT_PEDS functionality into other software. Use in other software is permissible, of course, in accordance with GNU GPL-3.0.

In addition to code changes, XSLT_PEDS 2.0 has been newly tested on Microsoft Windows 10 using Cygwin in addition to testing on Linux and on Windows 10 using Windows Subsystem for Linux (WSL). Guidance on requirements and usage with each is included in the release’s README file, which is also available for reading online at https://github.com/dfyockey/XSLT_PEDS.

The latest version of XSLT_PEDS is available for download at https://github.com/dfyockey/XSLT_PEDS/releases/latest/download/XSLT_PEDS-release.zip.

Printing PEDS Data for a Single Application from an XML Download

The only way to print data for a single application from an Html file generated by XSLT_PEDS 1.1 and earlier was to either print the pages including the data, which would also include data for other applications that happened to fall on the first or last printed page, or to copy & paste the data into a word processor and print from there. XSLT_PEDS 1.2 added the ability to easily print data for a single application directly from the generated Html file.

To implement this new feature in an intuitive way, it was necessary to change the hide/show feature added in version 1.1 and discussed in an earlier post. In version 1.2 and later, clicking on any Application Data heading, rather that clicking on any application title, will hide/show data other than in Application Data sections. This freed up a click on an application title to be applied to the new feature.

Now to print the data for a single application, first click the application’s title. Clicking on an application title will hide/show all data for all applications except for the clicked title’s application. With other data hidden, the browser’s print function will print only the remaining data for the one application.

The latest version of XSLT_PEDS is available for download here.

Improved Browsing of XSLT_PEDS Results

In its generation of Html files displaying data from a large number of search results, XSLT_PEDS 1.0 provides clear utility in overcoming the 20-result viewing limit for data on the USPTO’s PEDS site. Files containing many results can, however, be problematic when attempting to browse for particular results of interest. A new feature added in version 1.1 aims to mitigate this problem.

In files generated by XSLT_PEDS 1.1, you can now click on any application title to hide all of the data sections in the file except the Application Data sections. This allows for rapid browsing through the application data of all of the search results to locate those of interest. Clicking on any title again will show the hidden data sections. Importantly, the browser view of the file remains on the result of which the title was clicked to show the hidden sections, allowing easy review of that result’s sections when a search result of interest is located. The page with sections hidden may also be printed if desired to provide a hard copy containing only the Application Data for each result.

Update (September 21, 2020) : Control of the feature discussed above was changed in XSLT_PEDS 1.2, as discussed in a later post.

The latest version of XSLT_PEDS is available for download here.

Show/hide toggling of sections of an Html document based on a click is technically trivial, of course. Implementation such that large hidden swaths of a document can be shown while positioning the clicked element in a predictable and visible location in all cases is a bit more tricky. My solution was to control the scroll position so as to locate the clicked element at the top of the browser viewing area, which required temporary provision of a trailer at the page bottom to handle an edge case. Those interested in the details are invited to examine the JavaScript, CSS, and HTML in an XSLT_PEDS generated file, or to examine the peds.xsl file in the repository at https://github.com/dfyockey/XSLT_PEDS.


The United States Patent & Trademark Office offers free access to a number of intellectual property data sources. Among these is the Patent Examination Data System, or PEDS, which provides data about and accumulated during the examination of patent applications. A friend recently asked whether I could make some software to convert data downloaded from PEDS into a readable form. Knowing nothing about PEDS, I followed the link he provided and took a look.

PEDS is searchable through a web interface at https://ped.uspto.gov/peds and provides all of the aforementioned data for each search result. Unfortunately, only a preview of the resulting data including the first twenty results is viewable through the site. It’s necessary to download the data in JSON or XML format to access the remaining results.

43 Results, but you can only look at 20… Bummer.

No tools are provided for handling the downloaded data, so it’s left to the user to obtain or devise software to parse and format the data into a readable form. Failing that, one on a budget must resort to reading the unparsed data in a browser or editor, as I was unable to find any free or inexpensive tools for the purpose.

After some consideration and random poking around, I discovered Extensible Stylesheets Language for Transformations, or XSLT, and realized that an XSLT stylesheet might be used to do the job. For those not familiar with XSLT, an XSLT stylesheet can be used to transform an XML document into a different form, such as a neatly formatted HTML or XHTML document that can be viewed in an ordinary web broswer.

A good amount of nose-to-the-grindstoning culminated in a workable XSLT stylesheet, along with some scripts to make for easy generation of HTML files from XML data downloaded from PEDS. In contrast to the PEDS site preview, the resulting HTML files include the data for all of the search results. The data may be provided in a single file or by year in a plurality of files, depending on the user’s choice, and each file can be scrolled through to view the data without need to click drop-down links or tabs as required on the PEDS site.

The combination of stylesheet and scripts is called XSLT_PEDS. The latest version is available for download here. Requirements, setup, and usage information may be read online at https://github.com/dfyockey/XSLT_PEDS.

Below is an example comparing a portion of data as presented on the PEDS site, and a resulting HTML page generated using XSLT_PEDS. The PEDS site view on the left was pieced together from a plurality of screenshots, as it’s not possible to view data on the site in a scrollable or printable format. The XSLT_PEDS result view is a screenshot from a single, scrollable and printable webpage. If one downloads data for 100 results and choses to translate it into a single file, the data for each result is provided in the format shown separated by dashed lines, and one can easily scroll through all 100 to view the data.

PEDS Data from USPTO’s sitePEDS Data generated by XSLT_PEDS

Hopefully XSLT_PEDS will be of use to those wishing to more readily access the free data provided by the USPTO through the PEDS site. If you’re using it and happen to notice anything erroneous or missing between the data in the generated HTML pages and the data on the PEDS site, please let me know in a comment here or by filing an issue at https://github.com/dfyockey/XSLT_PEDS/issues.