[Pas2js] Pas2JS: compiler extension to validate XML/XSLT files
Michael Van Canneyt
michael at freepascal.org
Fri Dec 30 16:59:38 CET 2022
On Fri, 30 Dec 2022, Michael Van Canneyt via Pas2js wrote:
>> Where should I start? I see 2 possible routes:
>>
>> 1.) Pas2JS compiler extension: hook into handling {$R *.xslt} and abort
>> compilation with an error in case of invalid xslt file.
>
> No, this is not acceptable.
>
>> 2.) Lazarus extension: create a package that hooks into the Compile command
>> and checks all XSLT/XML files in the project before the project is compiled
>> with Pas2JS.
>>
>> I would prefer (1) because it the XSLT don't have to be registered in the
>> LPI project.
>
> No. pas2js must compile pascal code, end of story.
After reading my own reply, I didn't like the tone of what I wrote.
Sorry about that.
Little more background:
as I wrote, pas2js must compile code, no more, no less.
I've had proposals of generating/interpreting html, CSS:
All proposals for which I understand why people ask that,
but then there will be no limit.
So, the best course of action is to limit
pas2js to what it must do: compile code.
There is a preprocessor option, you can tell pas2js to preprocess the input
file.
Expanding on that, concept is maybe a solution that could help you:
What we could envision is a preprocessor for the {$R} which can be specified
on the command line, per extension. Something like:
-FPxslt=path/to/your/tool.
This handler would receive 2 names:
- InputFileName
- OutputFileName
when it sees the {$R}, the compiler generates an output filename and calls
the tool with the 2 filenames. When the tool is done, the compiler includes
the generated file.
(you can just copy the file if you don't need additional processing)
What do you think about that approach ?
Michael.
More information about the Pas2js
mailing list