Hi Steve,
Includes are allowed, but relative paths are not currently working
correctly. I have an issue logged with PTC on this and they created SPR
2130489 for it. As far as I know, in the meantime we're forced to either
use absolute paths or avoid includes.
Here's the other big thing I had to work around (in case anyone else
runs into this):
I was working on schematron validations that could be displayed along
with the check completeness functionality AND on a separate custom
dialog that we were creating (run separate from check completeness). To
do this I needed to use the validate_against_schematron() function, and
my schematron files needed some non-ISO tagging to be added. The problem
was that these non-ISO tags were either not getting output to the
results file (from which I parse out the validation errors to help
create our custom dialog), or I was getting errors about those non-ISO
tags. I can't remember which it was. Anyway, my first thought was to
override the xsl file that PTC's schematron implementation uses which
defaults to not allowing foreign tags. As of version 6.0 M020 that
doesn't work, though, because the validate_against_schematron() function
(defined in packages/tools/schematron.acl) sets the path to the xsl
files without allowing for an override in the custom directory. The
other option was to override the validate_against_schematron() function
itself.
I figured out I could do the following so I wouldn't need to maintain a
customized version of the validate_against_schematron() function.
Add a compositionframeworkhook and have it call this function:
function schematron_compose_hook($doc, $type, $where, $params[]) {
if($where != $compose::HK_CFTI_INITIAL ||
basename($params['stylesheet']) != 'ptc_svrl_for_xslt2.xsl') { return 0; }
$params['transformerParams'] = 'allow-foreign=true||' .
$params['transformerParams'];
}
Sorry, that was a long explanation, but hopefully it helps someone?
Brian Jensen
bjensen@bluelid.com