Duden/Uri combinations

Uri

  • dem öffentlichen Text Schema mit Standardwert ""
  • dem öffentlichen Text Nutzer mit Standardwert ""
  • dem öffentlichen Text Host mit Standardwert ""
  • dem öffentlichen Text Port mit Standardwert ""
  • dem öffentlichen Text Pfad mit Standardwert ""
  • dem öffentlichen Text Abfrage mit Standardwert ""
  • dem öffentlichen Text Fragment mit Standardwert ""

Aliases

  1. eine leere Uri

AbfragenParameter

Ein einzelner Parameter einer Abfrage im Format "name=wert".
  • dem öffentlichen Text name mit Standardwert ""
  • dem öffentlichen Text wert mit Standardwert ""

Aliases

  1. ein AbfragenParameter <name>=<wert>
  2. einem AbfragenParameter <name>=<wert>
  3. ein leerer AbfragenParameter
  4. einem leeren AbfragenParameter

Duden/Uri functions

Parse_Uri

  • Parameters: uri
  • Parameter type: Text
  • Return type: Uri

Aliases

    Keine Aliase definiert

Implementation

    Diese Funktion könnte einen Fehler melden.
    Wenn uri leer ist, gib eine leere Uri zurück.

    Der Treffer t ist der erste Treffer von uri_regex in uri.
    Wenn es dabei einen Fehler gab oder (text von t) leer ist, 
        gib eine leere Uri zurück.
    
    Die Uri ergebnis ist eine leere Uri.
    Speichere text von t in RoheUri von ergebnis.
    Speichere gruppen von t an der Stelle 2 in Schema von ergebnis.

    [authority]
    Wenn (gruppen von t an der Stelle 4) nicht leer ist, dann:
        Der Treffer t ist der erste Treffer von authority_regex in (gruppen von t an der Stelle 4).
        Wenn es dabei keinen Fehler gab und (text von t) nicht leer ist, dann:
            Speichere gruppen von t an der Stelle 2 in Nutzer von ergebnis.
            Speichere gruppen von t an der Stelle 3 in Host von ergebnis.
            Speichere gruppen von t an der Stelle 7 in Port von ergebnis.

    Speichere gruppen von t an der Stelle 5 in Pfad von ergebnis.
    Speichere gruppen von t an der Stelle 7 in Abfrage von ergebnis.
    Speichere gruppen von t an der Stelle 9 in Fragment von ergebnis.

    Gib ergebnis zurück.

Uri_Zu_Text

  • Parameters: uri
  • Parameter type: Uri
  • Return type: Text

Aliases

    Keine Aliase definiert

Implementation

    [ TODO: durch TextBauer ersetzen ]
    Der Text t ist "".
    
    Wenn (Schema von uri) nicht leer ist, dann:
        Füge (Schema von uri) an t an.
        Füge ':' an t an.

    [URN edge case]
    Wenn (Host von uri) nicht leer ist oder '/' am Anfang von (Pfad von uri) steht, dann:
        Füge "//" an t an.

    Wenn (Host von uri) nicht leer ist, dann:
        Wenn (Nutzer von uri) nicht leer ist, dann:
            Füge (Nutzer von uri) an t an.
            Füge '@' an t an.
        Füge (Host von uri) an t an.
        Wenn (Port von uri) nicht leer ist, dann:
            Füge ':' an t an.
            Füge (Port von uri) an t an.

    Füge (Pfad von uri) an t an.

    Wenn (Abfrage von uri) nicht leer ist, dann:
        Füge '?' an t an.
        Füge (Abfrage von uri) an t an.

    Wenn (Fragment von uri) nicht leer ist, dann:
        Füge '#' an t an.
        Füge (Fragment von uri) an t an.
    
    Gib t zurück.

AbfragenParameter_als_Text

Gibt p im Format name=wert zurück.
  • Parameters: p
  • Parameter type: AbfragenParameter
  • Return type: Text

Aliases

    Keine Aliase definiert

Implementation

    Wenn (name von p) leer ist, gib "" zurück.
    Wenn (wert von p) leer ist, gib name von p zurück.
    Gib name von p verkettet mit '=' verkettet mit wert von p zurück.

AbfragenParameter_Liste_als_Text

Gibt abfrage im Format "name=wert&name2=wert2..." zurück.
  • Parameters: abfrage
  • Parameter type: AbfragenParameter Liste
  • Return type: Text

Aliases

    Keine Aliase definiert

Implementation

    Der Text t ist "".
    Für jede Zahl i von 1 bis die Länge von abfrage, mache:
        Der Text p ist ((abfrage an der Stelle i) als Text).
        Wenn p nicht leer ist, dann:
            Füge p an t an.
            Wenn i ungleich die Länge von abfrage ist, Füge '&' an t an.
    Gib t zurück.

Abfragen_Parameter_Liste

Gibt eine Liste aller AbfragenParameter in abfrage zurück,
angenommen abfrage ist im Format "name=wert&name2=wert2..." sein (was nicht bei jeder URI der Fall ist).
  • Parameters: abfrage
  • Parameter type: Text
  • Return type: AbfragenParameter Liste

Aliases

  1. alle AbfragenParameter aus <abfrage>
  2. allen AbfragenParametern aus <abfrage>

Implementation

    Wenn abfrage leer ist, gib eine leere AbfragenParameter Liste zurück.

    Die AbfragenParameter Liste ergebnis ist eine Leere AbfragenParameter Liste.
    Die Zahl i ist 1.
    Die Zahl l ist die Länge von abfrage.
    Solange i kleiner als, oder l ist, mache:
        Der AbfragenParameter p ist ein leerer AbfragenParameter.

        Die Zahl name_start ist i.
        Erhöhe i um 1.
        Solange i kleiner als, oder l ist und abfrage an der Stelle i ungleich '=' ist und abfrage an der Stelle i ungleich '&' ist, mache:
            Erhöhe i um 1.

        Speichere abfrage im Bereich von name_start bis (i minus 1) in name von p.

        Wenn abfrage an der Stelle i gleich '&' ist, dann:
            Erhöhe i um 1.
            Speichere ergebnis verkettet mit p in ergebnis.
            Fahre mit der Schleife fort.

        Erhöhe i um 1.
        Die Zahl wert_start ist i.
        Solange i kleiner als, oder l ist und abfrage an der Stelle i ungleich '&' ist, mache:
            Erhöhe i um 1.
        Speichere abfrage im Bereich von wert_start bis (i minus 1) in wert von p.
        Erhöhe i um 1.
        Speichere ergebnis verkettet mit p in ergebnis.

    Gib ergebnis zurück.

Abfragen_Parameter_Wert

Gibt den Wert des AbfragenParameters mit dem Namen name zurück
angenommen abfrage ist im Format "name=wert&name2=wert2..." sein (was nicht bei jeder URI der Fall ist).
  • Parameters: abfrage, name
  • Parameter type: Text, Text
  • Return type: Text

Aliases

  1. den Wert des AbfragenParameters <name> aus <abfrage>

Implementation

    Die AbfragenParameter Liste l ist alle AbfragenParameter aus abfrage.
    Für jede Zahl i von 1 bis die Länge von l, mache:
        Wenn (name von (l an der Stelle i)) gleich name ist, dann:
            Gib (wert von (l an der Stelle i)) zurück.
    Gib "" zurück.

Hat_Abfragen_Parameter

Überprüft ob der Abfragen Teil einer URI einen benannten Parameter (name=) enthält,
angenommen abfrage ist im Format "name=wert&name2=wert2..." sein (was nicht bei jeder URI der Fall ist).
  • Parameters: abfrage, name
  • Parameter type: Text, Text
  • Return type: Wahrheitswert

Aliases

  1. <abfrage> einen AbfragenParameter mit Namen <name> enthält

Implementation

    Die AbfragenParameter Liste l ist alle AbfragenParameter aus abfrage.
    Für jede Zahl i von 1 bis die Länge von l, mache:
        Wenn (name von (l an der Stelle i)) gleich name ist, gib wahr zurück.
    Gib falsch zurück.