Duden/Uri Kombinationen
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 ""
Aliase
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 ""
Aliase
ein AbfragenParameter <name>=<wert>
einem AbfragenParameter <name>=<wert>
ein leerer AbfragenParameter
einem leeren AbfragenParameter
Duden/Uri Funktionen
Parse_Uri
- Parameter:
uri
- Parameter Typ:
Text
- Rückgabe Typ:
Uri
Aliase
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
- Parameter:
uri
- Parameter Typ:
Uri
- Rückgabe Typ:
Text
Aliase
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.
- Parameter:
p
- Parameter Typ:
AbfragenParameter
- Rückgabe Typ:
Text
Aliase
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.
- Parameter:
abfrage
- Parameter Typ:
AbfragenParameter Liste
- Rückgabe Typ:
Text
Aliase
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).
- Parameter:
abfrage
- Parameter Typ:
Text
- Rückgabe Typ:
AbfragenParameter Liste
Aliase
alle AbfragenParameter aus <abfrage>
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).
- Parameter:
abfrage
,name
- Parameter Typ:
Text
,Text
- Rückgabe Typ:
Text
Aliase
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).
- Parameter:
abfrage
,name
- Parameter Typ:
Text
,Text
- Rückgabe Typ:
Wahrheitswert
Aliase
<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.