diff --git a/doc/notes/path-processing b/doc/notes/path-processing new file mode 100644 index 00000000..8560ee0a --- /dev/null +++ b/doc/notes/path-processing @@ -0,0 +1,65 @@ +Path processing +--------------- +Need rules that will work for both the existing scenario (B) and the new +scenario (A): + + + _ + / \ + / _ \ + / ___ \ +/_/ \_\ +--------- + +root = ../ +package = suppliers/colony <--- /suppliers/colony +import = ../map/return/colony <--- /map/return/colony + +mapimport = ../../suppliers/colony/gl <-- /suppliers/colony/gl + + + this is the root + / \ + v v +1) <..>/map/return/ | <..>/../suppliers/colony/gl + = ../suppliers/colony/gl + ^^^^^^^^^^^^^^^^ + \ / + package name + +2) strip root||(package base) from package import + = ../map/return | <../suppliers/>colony/gl + = colony/gl + ^^^^^^^^^ + ` The relative path from package + + + + ____ +| __ ) +| _ \ +| |_) | +|____/ +------- + +what about normal includes? + + +root = ../ +package = suppliers/colony <--- /suppliers/colony +import = ../common/foo <--- /common/foo + +subimport = bar/baz <--- /common/foo/bar/baz + + + one has root, other does not + / + v +1) <..>/common/ | bar/baz + = ../common/bar/baz + +2) strip root||(package base) from package import + = ../common/bar/baz + ^^^^^^^^^^^^^^^^^ + ` no such prefix, + so this is the relative path diff --git a/src/current/include/preproc/path.xsl b/src/current/include/preproc/path.xsl index 14d0ceee..6d611478 100644 --- a/src/current/include/preproc/path.xsl +++ b/src/current/include/preproc/path.xsl @@ -22,6 +22,7 @@ --> @@ -59,6 +60,15 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/current/include/preproc/symtable.xsl b/src/current/include/preproc/symtable.xsl index 2cf726cd..e9a7c619 100644 --- a/src/current/include/preproc/symtable.xsl +++ b/src/current/include/preproc/symtable.xsl @@ -521,12 +521,18 @@ - + + select="document( $path, $orig-root )/lv:*/preproc:symtable" /> + + + - - - - - - @@ -626,23 +624,11 @@ itself) onto the existing relative path and resolving relative paths --> - - - - - - - - - - - - - - - - - +