LASSY XPath
Module for working with XPath queries on LASSY XML files. It includes a graphical editor including auto completion, macros and validation based on Ace, a parser and validator based on ts-xpath and an "extractinator" for determining XPaths to get each node from the returned tree separately. It also has a "reconstructor" to create an XML structure representing the query tree. The functionality can be used as an Angular module.
Compatibility
- v0.12.x is for Angular 12
- v0.4.3 and down should work with Angular 6 and JQuery
Angular
Import the module:
import { LassyXPathModule } from 'lassy-xpath';
@NgModule({
imports: [LassyXPathModule]
})
export class AppModule {}
Includes the services:
import { MacroService, ExtractinatorService, ValueEvent } from 'lassy-xpath';
@Component()
export class ExampleComponent {
constructor(
macroService: MacroService,
private extractinatorService: ExtractinatorService) {
macroService.loadDefault();
}
inputChanged(event: ValueEvent) {
this.valid = !event.error;
this.value = event.xpath;
console.log(this.extractinatorService.extract(event.xpath));
}
}
Embeds an editor:
<lx-editor [value]="value" (onChange)="inputChanged($event)" autofocus="true"></lx-editor>
Use the ParserService
for parsing/validating a LASSY XML XPath.
Publishing a new version
Run npm run publish
from root or follow these steps:
- Compile using
npm run build
cd dist/lassy-xpath
- Optionally run
npm pack
to test the package locally - Remove the
lassy-xpath-x.xx.x.tgz
file (if generated in 3) - Run
npm publish