Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/gpx_protocol_0.rst.txt

.. index:: single: gpx_protocol .. _gpx_protocol/0:

.. rst-class:: right

protocol

gpx_protocol

GPX 1.1 parser, generator, and validator protocol.

| Availability: | logtalk_load(gpx(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-08-02

| Compilation flags: | static

| Dependencies: | (none)

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

.. index:: parse/2 .. _gpx_protocol/0::parse/2:

parse/2 ^^^^^^^^^^^

Parses a GPX 1.1 document from the given source (file(Path), stream(Stream), codes(List), chars(List), or atom(Atom)) into a native GPX term.

| Compilation flags: | static

| Template: | parse(Source,GPX) | Mode and number of proofs: | parse(++compound,--compound) - one_or_error

| Exceptions: | Source is not a ground term: | instantiation_error | Source is a ground term but not a valid source: | domain_error(gpx_source,Source) | The source does not contain a valid GPX 1.1 document: | domain_error(gpx,Source)


.. index:: generate/2 .. _gpx_protocol/0::generate/2:

generate/2 ^^^^^^^^^^^^^^

Generates a GPX 1.1 document to the given sink (file(Path), stream(Stream), codes(List), chars(List), or atom(Atom)) from a native GPX term.

| Compilation flags: | static

| Template: | generate(Sink,GPX) | Mode and number of proofs: | generate(+compound,++compound) - one_or_error

| Exceptions: | Sink is a variable: | instantiation_error | Sink is neither a variable nor a valid sink: | domain_error(gpx_sink,Sink) | GPX is not ground: | instantiation_error | GPX is ground but not a valid native GPX term: | domain_error(gpx,GPX)


.. index:: validate/1 .. _gpx_protocol/0::validate/1:

validate/1 ^^^^^^^^^^^^^^

True iff the argument is a valid native GPX 1.1 term.

| Compilation flags: | static

| Template: | validate(GPX) | Mode and number of proofs: | validate(@term) - zero_or_one_or_error

| Exceptions: | GPX is a variable: | instantiation_error


.. index:: validate/2 .. _gpx_protocol/0::validate/2:

validate/2 ^^^^^^^^^^^^^^

Validates a native GPX 1.1 term, returning all detected errors as reason terms whose final argument is the failing path. List indexes in paths are zero-based.

| Compilation flags: | static

| Template: | validate(GPX,Errors) | Mode and number of proofs: | validate(@term,-list(compound)) - one_or_error

| Exceptions: | GPX is a variable: | instantiation_error

| Remarks:

  • invalid_gpx_term(Path): The term is not a supported native GPX term.
  • invalid_creator(Path): The required creator is not an atom.
  • invalid_properties(Path): A properties argument is not a list.
  • invalid_list(Path): A repeated GPX value is not represented by a list.
  • invalid_value(Value, Path): A value does not satisfy the required GPX type or range.
  • invalid_date_time(Value, Path): A value is not an atom in the XML Schema 1.0 dateTime lexical space.
  • invalid_year(Value, Path): A value is not an atom in the XML Schema 1.0 gYear lexical space.
  • invalid_bounds(Path): The minimum latitude is greater than the maximum latitude.
  • invalid_extensions(Path): The extension nodes are not valid non-GPX namespaced XML elements.
  • duplicate_property(Name, Path): A property occurs more than once in the enclosing GPX term.
  • unknown_property(Property, Path): The property is not supported by the enclosing GPX term.

.. index:: xml_to_gpx/2 .. _gpx_protocol/0::xml_to_gpx/2:

xml_to_gpx/2 ^^^^^^^^^^^^^^^^

Converts an XML parser document term into a native GPX 1.1 term.

| Compilation flags: | static

| Template: | xml_to_gpx(XML,GPX) | Mode and number of proofs: | xml_to_gpx(+compound,-compound) - one_or_error

| Exceptions: | XML is not a ground term: | instantiation_error | XML is a ground term but not a valid GPX 1.1 XML document term: | domain_error(gpx,XML)


.. index:: gpx_to_xml/2 .. _gpx_protocol/0::gpx_to_xml/2:

gpx_to_xml/2 ^^^^^^^^^^^^^^^^

Converts a native GPX 1.1 term into an XML parser document term.

| Compilation flags: | static

| Template: | gpx_to_xml(GPX,XML) | Mode and number of proofs: | gpx_to_xml(+compound,-compound) - one_or_error

| Exceptions: | GPX is not a ground term: | instantiation_error | GPX is a ground term but not a valid native GPX term: | domain_error(gpx,GPX)


Protected predicates

(none)

Private predicates

(none)

Operators

(none)