Skip to content

History / HtmlEncode

Revisions

  • Spell operators and value types the way the engine registers them (#1161) The token table is case folded, so a page that writes UInt32, AsList or NrOfRows teaches a spelling that costs the reader a case mix-up warning on the first run. This rewrites those spellings across 142 pages to the names the engine actually registers, taken from the running engine rather than from memory: the 2342 operator group names that DocData()/OperatorGroups/name reports, plus the property names in TicPropDefConst.h. Four kinds of change, all case only: * value types in configuration examples -- String, Float64, SPoint, UInt32, Bool, Void and the *Seq variants -> lower case, which is what ValueWrap.cpp has registered (AsLowerCase of the C++ type name) since 20.9. * the boolean literals True/TRUE/False/FALSE in expressions and data lists. Property VALUES keep their spelling: StorageReadOnly = "False" is data. * operator names, in examples and in the syntax/definition lines of the operator pages: asList, asItemList, expand, currentDir, makeDir, get_x, get_y, pointrow, pointcol, id, range, subset, replace, quote, dquote, isNegative, isPositive, isZero, the *seq conversions -- and the other way for the ones the engine capitalises: BaseUnit, IsDefined, LowerBound, UpperBound, Round, RoundUp, RoundDown, RoundToZero, LowerCase, AsHex, SubItem, SubItem_PropValues, GeoDmsVersion, EXEC_EC. * nrofrows, both as the operator and as the unit property. Five examples named an item after the operator it called, which folds onto the operator's own token: MakeDir, GeoDMSVersion, Quote. Those items are renamed (newFolder, versionString, Quoted). DocData's sub-item is name, not Name. IntegrityCheck and expr property values are parsed as expressions, so the operator inside the string counts too. Value-type gains a "spelling" section and Naming-conventions a bullet saying that operator names must be written as registered -- most lower case, but not all -- both linking to the case mix-up section of Tree-item-name. NOT touched, and left as one decision rather than half-made here: the mixed-case PROPERTY names. The engine registers Label, Expr, Descr, Metric, Format, Source, Using, Projection, ValueType, IsHidden, and the pages (like nearly every real configuration) write label, expr, descr, source, using. Whether the wiki follows the engine or the engine follows the corpus is the same question #1161 deferred for the ~57 property names; it should be settled once, in one place. Also left: SQL keywords inside SqlString values, Python API names, and example item names that merely collide with an engine name (Name, District, Area, Union, Left). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Aug 28, 2026
  • String encoders implemented, bp_buffer_multi_polygon removed, DefaultUnit call form (GeoDMS #1177) UrlEncode, HtmlEncode and HtmlDecode exist as of GeoDMS 20.13.0, so their pages lose the NOT YET IMPLEMENTED banner. Their descriptions are brought in line with what the implementation actually does: - UrlEncode encodes a space as '+' rather than %20 and a literal '+' as %2B, which is what UrlDecode reads back; the unencoded set is the unreserved set of RFC2396, including the mark characters ! ~ * ' ( ) that the page did not list; non-ASCII is encoded per byte, so UTF-8 encodes as its UTF-8 bytes. - UrlDecode: the plus sign is decoded to a space - not "may or may not be, depending on the standard" - and an invalid percent sequence is an error, not undefined behaviour. - HtmlEncode writes &apos; for an apostrophe, not &#39;, and touches nothing but the five predefined XML/HTML entities. - HtmlDecode accepts &apos; and, in addition, &nbsp; (which is U+00A0, not a plain space) and numeric character references; anything it does not recognise is copied through verbatim, so &amp;lt; decodes to &lt; and not to <. bp_buffer_multi_polygon was a registered name that was never implemented and is removed in 20.13.0; its page is marked accordingly and the see-also links on bp_buffer_linestring, bp_buffer_multi_point and polygon-operators now point at bg_buffer_multi_polygon. DefaultUnit takes the NAME of a value type as a string parameter: DefaultUnit('uint32') binds, DefaultUnit(uint32) does not. The syntax line said the opposite of the example below it, which is what made the operator look broken. Also, while nearby: connected_parts produces part_rel, with PartNr as the depreciated old name that goes in 21.x, and the subset page can now name that same version instead of "a future version".

    @MaartenHilferink MaartenHilferink committed Aug 12, 2026
  • Operator test findings: reserved/removed banners + concrete signatures - HtmlEncode/HtmlDecode/UrlEncode: registered but reserved (not implemented) as of 20.8.0 - pages describe intended behaviour - exec/execDll: removed from the operator registry in 20.x - connect_info_eq/_ne: match arguments must be uint32 (only registered instantiation) + 5-arg maxSqrDist variant - greedy_alloc: concrete 11-argument signature (same as discrete_alloc), _sp/_np arities Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

    @jipclaassens jipclaassens committed Aug 6, 2026
  • #988 Add new function docs, performance notes, and doc updates - Added documentation for new functions: HtmlEncode/Decode, UrlEncode/Decode, to_utf, split_piped_string, first_point, last_point, outer_single_polygon, outer_multi_polygon, join_near_values, triangualize, griddist_maximp, griddist_zonal, griddist_latitude_specific, invertAll, greedy_alloc, matr_mul/inv/var, strongly_connected_components, Mandelbrot, sd, var, impedance_matrix - Added detailed performance sections to many function/operator docs - Updated function index and overview pages with new functions and aliases - Improved .gitignore and _Sidebar.md, added navigation links and tools - Updated Projects.md with new project references and links - Rewrote Debugging.md with Visual Studio 2026 instructions and tips - Added referenced_pages.txt and orphaned/unreferenced page tracking files - Improved clarity, formatting, and cross-linking throughout documentation - Fixed typos and updated links and references

    @MaartenHilferink MaartenHilferink committed Apr 8, 2026