Download the PHP package schorschii/fastinfoset without Composer

On this page you can find all versions of the php package schorschii/fastinfoset. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package fastinfoset

Pure PHP Fast Infoset encoder and decoder

Converts between UTF-8 XML and binary Fast Infoset (ITU-T X.891 / ISO/IEC 24824-1). Requires 64-bit PHP 8.1+, with no other PHP packages, XML extensions, Java/FFI, or any external processes at runtime.

Invalid, truncated, and unsupported input throws FastInfoset\DecodingException with a byte offset. A decoder can be reused across documents, including after a failed decode.

The encoder's encode(string $xml): string method throws FastInfoset\EncodingException for malformed or unsupported XML, with a byte offset into the input after XML line-ending normalization. Encoder instances can also be reused after success or failure.

Command line

Both commands accept - for stdin and --help for usage. Errors go to stderr with exit status 1. Conversion completes before output is written, so malformed documents do not produce partial output.

Encoder features

The encoder emits UTF-8 Fast Infoset strings using an in-document vocabulary. It does not infer binary data types from XML text or emit restricted alphabets, initial/external vocabularies, or custom encoding algorithms. CDATA is encoded as ordinary character content. The decoder can read these documents, as can the Java reference implementation.

Input must be UTF-8 XML 1.0. Other input encodings, DTDs and entity declarations, XML 1.1, fragments, and processing instruction targets containing colons are unsupported.

Whitespace outside the root, attribute ordering relative to namespace declarations, quote style, empty-element syntax, and CDATA boundaries are not preserved.

When a value table fills, subsequent new values are written literally. New names require vocabulary entries and throw if their table is full.

Decoder features

This implementation supports XML 1.0 documents, not every optional X.891 feature. External vocabularies, application-defined encoding algorithms, DTDs, notations, unparsed entities, unexpanded entity references, XML 1.1, and document fragments are explicitly rejected. It never fetches external resources. Embedded algorithm URIs can be read, but their algorithms cannot be executed.

Output preserves the supported XML content rather than the original lexical formatting: empty elements use explicit end tags, CDATA becomes escaped text, and numeric algorithm values may use equivalent lexical representations. Additional document data and the original character encoding are not emitted.

Both APIs hold the input, vocabulary, and output in memory; they are not streaming parsers. Use suitable input-size limits in your application. Decoder limits are configurable:

These limits bound nesting, final output, and table entry counts, not total process memory or the size of temporary decoded values.

Tests

The fixtures were produced by the Metro Fast Infoset 1.2.18 Java encoder. Additional byte-level tests cover initial vocabularies, restricted alphabets, terminators, limits, malformed input, and every truncation of the small fixtures. Encoder tests cover round trips, XML normalization and validation, namespace scope restoration, byte-level encodings, limits, and vocabulary reuse across 8,300 distinct element/attribute names and values.

To independently verify the PHP encoder with the Java decoder, export the encoder test cases and compare the parsed XML structures:

Format references: ITU-T X.891 and Metro Fast Infoset reference implementation.

Have a lot of fun.


All versions of fastinfoset with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package schorschii/fastinfoset contains the following files

Loading the files please wait ...