# New Ticket Created by Clifton Wood
# Please include the string: [perl #130095]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=130095 >
While working on a Perl project, I ran into an odd error trying to create a
test script.
You can find the entire project, here: https://github.com/Xliff/p6-xslt
I have attached the relevant scripts to this message.
The error message follows:
cbwood@infinity:~/projects/p6-xml-xslt$ perl6 --ll-exception -I
../p6-XML-LibXML-work/lib -I lib t/01-basic.t
Expected MAST::Frame, but didn't get one
at gen/moar/stage2/QAST.nqp:6644
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/QAST.moarvm:assemble_to_file)
from gen/moar/stage2/NQPHLL.nqp:407
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:mbc)
from gen/moar/stage2/NQPHLL.nqp:1677
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1410
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1631
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1525
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:27
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1499
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/m-main.nqp:47
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:MAIN)
from gen/moar/m-main.nqp:38
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:<mainline>)
from <unknown>:1
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:<main>)
from <unknown>:1
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:<entry>)
at gen/moar/m-CORE.setting:26689
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:throw)
from gen/moar/m-CORE.setting:800
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:die)
from gen/moar/m-CORE.setting:788
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:die)
from gen/moar/m-CORE.setting:42965
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:precompile)
from gen/moar/m-CORE.setting:42887
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:precompile)
from gen/moar/m-CORE.setting:42727
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:try-load)
from gen/moar/m-CORE.setting:43668
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:)
from gen/moar/m-CORE.setting:43661
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:need)
from gen/moar/m-CORE.setting:43688
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:need)
from src/Perl6/World.nqp:1199
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/World.moarvm:load_module)
from src/Perl6/World.nqp:1129
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/World.moarvm:do_pragma_or_load_module)
from src/Perl6/Grammar.nqp:1565
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:statement_control:sym<use>)
from gen/moar/stage2/QRegex.nqp:1371
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from <unknown>:1
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:statement_control)
from src/Perl6/Grammar.nqp:1251
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1180
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1011
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1579
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1164
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:467
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2093
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1718
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1674
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1410
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1631
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1525
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:27
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1499
(/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/m-main.nqp:47
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:MAIN)
from gen/moar/m-main.nqp:38
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:<mainline>)
from <unknown>:1
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:<main>)
from <unknown>:1
(/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm:<entry>)
The error message can be suppresed by commenting out XML::LibXSLT::Types in
the 01-basic.t script.
Both Types.pm and Subs.pm compile without errors when checked with "perl6
-c".
If any more information is needed, please let me know.
use v6.c;
use NativeCall;
#use XML::LibXML::CStructs;
#use XML::LibXML::Parser;
use XML::LibXSLT::Subs;
my $parser = XML::LibXML::Parser.new;
my $doc = $parser.parse(qq:to/XML/);
<?xml version="1.0"?>
<dromedaries>
<species name="Camel">
<humps>1 or 2</humps>
<disposition>Cranky</disposition>
</species>
<species name="Llama">
<humps>1 (sort of)</humps>
<disposition>Aloof</disposition>
</species>
<species name="Alpaca">
<humps>(see Llama)</humps>
<disposition>Friendly</disposition>
</species>
</dromedaries>
XML
my $stylesheet_doc = $parser.parse(qq:to/XSL/);
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html>
<head><title>Know Your Dromedaries</title></head>
<body>
<table bgcolor="#eeeeee" border="1">
<tr>
<th>Species</th>
<th>No of Humps</th>
<th>Disposition</th>
</tr>
<xsl:for-each select="dromedaries">
<xsl:apply-templates select="./species" />
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="species">
<tr>
<td><xsl:value-of select="@name" /></td>
<td><xsl:value-of select="humps" /></td>
<td><xsl:value-of select="disposition" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
XSL
# --------------------------------------
# cw: To add to XML::LibXML!!
# --------------------------------------
sub xmlAllocOutputBuffer(Pointer $encoder)
is native('xml')
returns xmlBuffer
{ * }
sub xmlOutputBufferGetContent(xmlBuffer $out)
is native('xml')
returns Str
{ * }
# --------------------------------------
#my $stylesheet = xsltParseStylesheetDoc($stylesheet_doc);
#my $transform = xsltApplyStylesheet($stylesheet, $doc, Str);
#my $buffer = xmlAllocOutputBuffer(xmlCharEncodingHandler);
#xsltSaveResultTo($buffer, $transform, $stylesheet);
#my $output = xmlOutputBufferGetContent($buffer);
#say $buffer;
# cw: XXX - Handle proper deallocation
use v6.c;
use NativeCall;
use XML::LibXSLT::Types;
# cw: To convert from file descriptor to FILE*
sub fdopen(int32 $fd, Str $mode) is native returns Pointer { * }
module XSLT::LibXSLT::Subs {
constant XSLT = ('xslt', v1);
#
# /usr/include/libxslt/attributes.h
#
# sub xsltParseStylesheetAttributeSet($style, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetAttributeSet(xsltStylesheet $style, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetAttributeSet')
# { * }
# _xsltParseStylesheetAttributeSet($style, $cur);
# }
# sub xsltFreeAttributeSetsHashes(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltApplyAttributeSet($ctxt, $node, $inst, $attributes) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyAttributeSet(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, Str $attributes)
# is native(XSLT)
# is symbol('xsltApplyAttributeSet')
# { * }
# _xsltApplyAttributeSet($ctxt, $node, $inst, $attributes);
# }
# sub xsltResolveStylesheetAttributeSet(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/documents.h
#
enum xsltLoadType is export (
XSLT_LOAD_START => 0,
XSLT_LOAD_STYLESHEET => 1,
XSLT_LOAD_DOCUMENT => 2
);
# sub xsltNewDocument($ctxt, $doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNewDocument(xsltTransformContext $ctxt, xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltNewDocument')
# returns xsltDocument
# { * }
# _xsltNewDocument($ctxt, $doc);
# }
# sub xsltLoadDocument(xsltTransformContext $ctxt, Str $URI)
# is native(XSLT)
# is export
# returns xsltDocument
# { * }
# sub xsltFindDocument($ctxt, $doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltFindDocument(xsltTransformContext $ctxt, xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltFindDocument')
# returns xsltDocument
# { * }
# _xsltFindDocument($ctxt, $doc);
# }
# sub xsltFreeDocuments(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltLoadStyleDocument(xsltStylesheet $style, Str $URI)
# is native(XSLT)
# is export
# returns xsltDocument
# { * }
# sub xsltNewStyleDocument($style, $doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNewStyleDocument(xsltStylesheet $style, xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltNewStyleDocument')
# returns xsltDocument
# { * }
# _xsltNewStyleDocument($style, $doc);
# }
# sub xsltFreeStyleDocuments(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltSetLoaderFunc(Pointer $f)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/extensions.h
#
# sub xsltInitGlobals()
# is native(XSLT)
# is export
# { * }
# sub xsltRegisterExtModule(Str $URI, Pointer $initFunc, Pointer $shutdownFunc)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltRegisterExtModuleFull(Str $URI, Pointer $initFunc, Pointer $shutdownFunc, Pointer $styleInitFunc, Pointer $styleShutdownFunc)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltUnregisterExtModule(Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltGetExtData(xsltTransformContext $ctxt, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltStyleGetExtData(xsltStylesheet $style, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltStyleStylesheetLevelGetExtData(xsltStylesheet $style, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltShutdownCtxtExts(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltShutdownExts(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltXPathGetTransformContext($ctxt) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltXPathGetTransformContext(xmlXPathParserContext $ctxt)
# is native(XSLT)
# is symbol('xsltXPathGetTransformContext')
# returns xsltTransformContext
# { * }
# _xsltXPathGetTransformContext($ctxt);
# }
# sub xsltRegisterExtModuleFunction(Str $name, Str $URI, Pointer $function)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltExtModuleFunctionLookup(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltUnregisterExtModuleFunction(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltNewElemPreComp($style, $inst, $function) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNewElemPreComp(xsltStylesheet $style, xmlNode $inst, Pointer $function)
# is native(XSLT)
# is symbol('xsltNewElemPreComp')
# returns xsltElemPreComp
# { * }
# _xsltNewElemPreComp($style, $inst, $function);
# }
# sub xsltInitElemPreComp($comp, $style, $inst, $function, $freeFunc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltInitElemPreComp(xsltElemPreComp $comp, xsltStylesheet $style, xmlNode $inst, Pointer $function, Pointer $freeFunc)
# is native(XSLT)
# is symbol('xsltInitElemPreComp')
# { * }
# _xsltInitElemPreComp($comp, $style, $inst, $function, $freeFunc);
# }
# sub xsltRegisterExtModuleElement(Str $name, Str $URI, Pointer $precomp, Pointer $transform)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltExtElementLookup(xsltTransformContext $ctxt, Str $name, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltExtModuleElementLookup(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltExtModuleElementPreComputeLookup(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltUnregisterExtModuleElement(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltRegisterExtModuleTopLevel(Str $name, Str $URI, Pointer $function)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltExtModuleTopLevelLookup(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltUnregisterExtModuleTopLevel(Str $name, Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltRegisterExtFunction(xsltTransformContext $ctxt, Str $name, Str $URI, Pointer $function)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltRegisterExtElement(xsltTransformContext $ctxt, Str $name, Str $URI, Pointer $function)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltRegisterExtPrefix(xsltStylesheet $style, Str $prefix, Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltCheckExtPrefix(xsltStylesheet $style, Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltCheckExtURI(xsltStylesheet $style, Str $URI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltInitCtxtExts(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltFreeCtxtExts(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltFreeExts(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltPreComputeExtModuleElement($style, $inst) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltPreComputeExtModuleElement(xsltStylesheet $style, xmlNode $inst)
# is native(XSLT)
# is symbol('xsltPreComputeExtModuleElement')
# returns xsltElemPreComp
# { * }
# _xsltPreComputeExtModuleElement($style, $inst);
# }
# sub xsltGetExtInfo(xsltStylesheet $style, Str $URI)
# is native(XSLT)
# is export
# returns xmlHashTable
# { * }
# sub xsltRegisterTestModule()
# is native(XSLT)
# is export
# { * }
# sub xsltDebugDumpExtensions(Pointer $output)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/extra.h
#
# sub xsltFunctionNodeSet($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltFunctionNodeSet(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltFunctionNodeSet')
# { * }
# _xsltFunctionNodeSet($ctxt, $nargs);
# }
# sub xsltDebug($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltDebug(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltDebug')
# { * }
# _xsltDebug($ctxt, $node, $inst, $comp);
# }
# sub xsltRegisterExtras(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltRegisterAllExtras()
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/functions.h
#
# sub xsltXPathFunctionLookup($ctxt, $name, $ns_uri) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltXPathFunctionLookup(xmlXPathContext $ctxt, Str $name, Str $ns_uri)
# is native(XSLT)
# is symbol('xsltXPathFunctionLookup')
# returns Pointer
# { * }
# _xsltXPathFunctionLookup($ctxt, $name, $ns_uri);
# }
# sub xsltDocumentFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltDocumentFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltDocumentFunction')
# { * }
# _xsltDocumentFunction($ctxt, $nargs);
# }
# sub xsltKeyFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltKeyFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltKeyFunction')
# { * }
# _xsltKeyFunction($ctxt, $nargs);
# }
# sub xsltUnparsedEntityURIFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltUnparsedEntityURIFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltUnparsedEntityURIFunction')
# { * }
# _xsltUnparsedEntityURIFunction($ctxt, $nargs);
# }
# sub xsltFormatNumberFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltFormatNumberFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltFormatNumberFunction')
# { * }
# _xsltFormatNumberFunction($ctxt, $nargs);
# }
# sub xsltGenerateIdFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltGenerateIdFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltGenerateIdFunction')
# { * }
# _xsltGenerateIdFunction($ctxt, $nargs);
# }
# sub xsltSystemPropertyFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltSystemPropertyFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltSystemPropertyFunction')
# { * }
# _xsltSystemPropertyFunction($ctxt, $nargs);
# }
# sub xsltElementAvailableFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltElementAvailableFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltElementAvailableFunction')
# { * }
# _xsltElementAvailableFunction($ctxt, $nargs);
# }
# sub xsltFunctionAvailableFunction($ctxt, $nargs) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltFunctionAvailableFunction(xmlXPathParserContext $ctxt, int32 $nargs)
# is native(XSLT)
# is symbol('xsltFunctionAvailableFunction')
# { * }
# _xsltFunctionAvailableFunction($ctxt, $nargs);
# }
# sub xsltCleanupIds($ctxt, $root) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCleanupIds(xsltTransformContext $ctxt, xmlNode $root)
# is native(XSLT)
# is symbol('xsltCleanupIds')
# returns int32
# { * }
# _xsltCleanupIds($ctxt, $root);
# }
# sub xsltRegisterAllFunctions($ctxt) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRegisterAllFunctions(xmlXPathContext $ctxt)
# is native(XSLT)
# is symbol('xsltRegisterAllFunctions')
# { * }
# _xsltRegisterAllFunctions($ctxt);
# }
#
# /usr/include/libxslt/imports.h
#
# sub xsltParseStylesheetImport($style, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetImport(xsltStylesheet $style, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetImport')
# returns int32
# { * }
# _xsltParseStylesheetImport($style, $cur);
# }
# sub xsltParseStylesheetInclude($style, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetInclude(xsltStylesheet $style, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetInclude')
# returns int32
# { * }
# _xsltParseStylesheetInclude($style, $cur);
# }
# sub xsltNextImport(xsltStylesheet $style)
# is native(XSLT)
# is export
# returns xsltStylesheet
# { * }
# sub xsltNeedElemSpaceHandling(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltFindElemSpaceHandling($ctxt, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltFindElemSpaceHandling(xsltTransformContext $ctxt, xmlNode $node)
# is native(XSLT)
# is symbol('xsltFindElemSpaceHandling')
# returns int32
# { * }
# _xsltFindElemSpaceHandling($ctxt, $node);
# }
# sub xsltFindTemplate(xsltTransformContext $ctxt, Str $name, Str $nameURI)
# is native(XSLT)
# is export
# returns xsltTemplate
# { * }
#
# /usr/include/libxslt/keys.h
#
# sub xsltAddKey($style, $name, $nameURI, $match, $use, $inst) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltAddKey(xsltStylesheet $style, Str $name, Str $nameURI, Str $match, Str $use, xmlNode $inst)
# is native(XSLT)
# is symbol('xsltAddKey')
# returns int32
# { * }
# _xsltAddKey($style, $name, $nameURI, $match, $use, $inst);
# }
# sub xsltGetKey(xsltTransformContext $ctxt, Str $name, Str $nameURI, Str $value)
# is native(XSLT)
# is export
# returns xmlNodeSet
# { * }
# sub xsltInitCtxtKeys(xsltTransformContext $ctxt, xsltDocument $doc)
# is native(XSLT)
# is export
# { * }
# sub xsltFreeKeys(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltFreeDocumentKeys(xsltDocument $doc)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/namespaces.h
#
# sub xsltNamespaceAlias($style, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNamespaceAlias(xsltStylesheet $style, xmlNode $node)
# is native(XSLT)
# is symbol('xsltNamespaceAlias')
# { * }
# _xsltNamespaceAlias($style, $node);
# }
# sub xsltGetNamespace($ctxt, $cur, $ns, $out) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltGetNamespace(xsltTransformContext $ctxt, xmlNode $cur, xmlNs $ns, xmlNode $out)
# is native(XSLT)
# is symbol('xsltGetNamespace')
# returns xmlNs
# { * }
# _xsltGetNamespace($ctxt, $cur, $ns, $out);
# }
# sub xsltGetPlainNamespace($ctxt, $cur, $ns, $out) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltGetPlainNamespace(xsltTransformContext $ctxt, xmlNode $cur, xmlNs $ns, xmlNode $out)
# is native(XSLT)
# is symbol('xsltGetPlainNamespace')
# returns xmlNs
# { * }
# _xsltGetPlainNamespace($ctxt, $cur, $ns, $out);
# }
# sub xsltGetSpecialNamespace($ctxt, $cur, $URI, $prefix, $out) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltGetSpecialNamespace(xsltTransformContext $ctxt, xmlNode $cur, Str $URI, Str $prefix, xmlNode $out)
# is native(XSLT)
# is symbol('xsltGetSpecialNamespace')
# returns xmlNs
# { * }
# _xsltGetSpecialNamespace($ctxt, $cur, $URI, $prefix, $out);
# }
# sub xsltCopyNamespace($ctxt, $elem, $ns) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCopyNamespace(xsltTransformContext $ctxt, xmlNode $elem, xmlNs $ns)
# is native(XSLT)
# is symbol('xsltCopyNamespace')
# returns xmlNs
# { * }
# _xsltCopyNamespace($ctxt, $elem, $ns);
# }
# sub xsltCopyNamespaceList($ctxt, $node, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCopyNamespaceList(xsltTransformContext $ctxt, xmlNode $node, xmlNs $cur)
# is native(XSLT)
# is symbol('xsltCopyNamespaceList')
# returns xmlNs
# { * }
# _xsltCopyNamespaceList($ctxt, $node, $cur);
# }
# sub xsltFreeNamespaceAliasHashes(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/pattern.h
#
# sub xsltCompilePattern($pattern, $doc, $node, $style, $runtime) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCompilePattern(Str $pattern, xmlDoc $doc, xmlNode $node, xsltStylesheet $style, xsltTransformContext $runtime)
# is native(XSLT)
# is symbol('xsltCompilePattern')
# returns Pointer
# { * }
# _xsltCompilePattern($pattern, $doc, $node, $style, $runtime);
# }
# sub xsltFreeCompMatchList(Pointer $comp)
# is native(XSLT)
# is export
# { * }
# sub xsltTestCompMatchList($ctxt, $node, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltTestCompMatchList(xsltTransformContext $ctxt, xmlNode $node, Pointer $comp)
# is native(XSLT)
# is symbol('xsltTestCompMatchList')
# returns int32
# { * }
# _xsltTestCompMatchList($ctxt, $node, $comp);
# }
# sub xsltNormalizeCompSteps(Pointer $payload, Pointer $data, Str $name)
# is native(XSLT)
# is export
# { * }
# sub xsltAddTemplate(xsltStylesheet $style, xsltTemplate $cur, Str $mode, Str $modeURI)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltGetTemplate($ctxt, $node, $style) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltGetTemplate(xsltTransformContext $ctxt, xmlNode $node, xsltStylesheet $style)
# is native(XSLT)
# is symbol('xsltGetTemplate')
# returns xsltTemplate
# { * }
# _xsltGetTemplate($ctxt, $node, $style);
# }
# sub xsltFreeTemplateHashes(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltCleanupTemplates(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/preproc.h
#
# sub xsltDocumentComp($style, $inst, $function) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltDocumentComp(xsltStylesheet $style, xmlNode $inst, Pointer $function)
# is native(XSLT)
# is symbol('xsltDocumentComp')
# returns xsltElemPreComp
# { * }
# _xsltDocumentComp($style, $inst, $function);
# }
# sub xsltStylePreCompute($style, $inst) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltStylePreCompute(xsltStylesheet $style, xmlNode $inst)
# is native(XSLT)
# is symbol('xsltStylePreCompute')
# { * }
# _xsltStylePreCompute($style, $inst);
# }
# sub xsltFreeStylePreComps(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/security.h
#
enum xsltSecurityOption is export (
XSLT_SECPREF_READ_FILE => 1,
'XSLT_SECPREF_WRITE_FILE',
'XSLT_SECPREF_CREATE_DIRECTORY',
'XSLT_SECPREF_READ_NETWORK',
'XSLT_SECPREF_WRITE_NETWORK'
);
# sub xsltNewSecurityPrefs()
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltFreeSecurityPrefs(Pointer $sec)
# is native(XSLT)
# is export
# { * }
# sub xsltSetSecurityPrefs(Pointer $sec, int32 $option, Pointer $func)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltGetSecurityPrefs(Pointer $sec, int32 $option)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltSetDefaultSecurityPrefs(Pointer $sec)
# is native(XSLT)
# is export
# { * }
# sub xsltGetDefaultSecurityPrefs()
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltSetCtxtSecurityPrefs(Pointer $sec, xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltSecurityAllow(Pointer $sec, xsltTransformContext $ctxt, Str $value)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltSecurityForbid(Pointer $sec, xsltTransformContext $ctxt, Str $value)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltCheckWrite(Pointer $sec, xsltTransformContext $ctxt, Str $URL)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltCheckRead(Pointer $sec, xsltTransformContext $ctxt, Str $URL)
# is native(XSLT)
# is export
# returns int32
# { * }
#
# /usr/include/libxslt/templates.h
#
# sub xsltEvalXPathPredicate($ctxt, $comp, $nsList, $nsNr) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalXPathPredicate(xsltTransformContext $ctxt, xmlXPathCompExpr $comp, xmlNs $nsList, int32 $nsNr)
# is native(XSLT)
# is symbol('xsltEvalXPathPredicate')
# returns int32
# { * }
# _xsltEvalXPathPredicate($ctxt, $comp, $nsList, $nsNr);
# }
# sub xsltEvalTemplateString($ctxt, $contextNode, $inst) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalTemplateString(xsltTransformContext $ctxt, xmlNode $contextNode, xmlNode $inst)
# is native(XSLT)
# is symbol('xsltEvalTemplateString')
# returns Str
# { * }
# _xsltEvalTemplateString($ctxt, $contextNode, $inst);
# }
# sub xsltEvalAttrValueTemplate($ctxt, $node, $name, $ns) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalAttrValueTemplate(xsltTransformContext $ctxt, xmlNode $node, Str $name, Str $ns)
# is native(XSLT)
# is symbol('xsltEvalAttrValueTemplate')
# returns Str
# { * }
# _xsltEvalAttrValueTemplate($ctxt, $node, $name, $ns);
# }
# sub xsltEvalStaticAttrValueTemplate($style, $node, $name, $ns, $found) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalStaticAttrValueTemplate(xsltStylesheet $style, xmlNode $node, Str $name, Str $ns, int32 $found)
# is native(XSLT)
# is symbol('xsltEvalStaticAttrValueTemplate')
# returns Str
# { * }
# _xsltEvalStaticAttrValueTemplate($style, $node, $name, $ns, $found);
# }
# sub xsltEvalXPathString($ctxt, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalXPathString(xsltTransformContext $ctxt, xmlXPathCompExpr $comp)
# is native(XSLT)
# is symbol('xsltEvalXPathString')
# returns Str
# { * }
# _xsltEvalXPathString($ctxt, $comp);
# }
# sub xsltEvalXPathStringNs($ctxt, $comp, $nsNr, $nsList) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalXPathStringNs(xsltTransformContext $ctxt, xmlXPathCompExpr $comp, int32 $nsNr, xmlNs $nsList)
# is native(XSLT)
# is symbol('xsltEvalXPathStringNs')
# returns Str
# { * }
# _xsltEvalXPathStringNs($ctxt, $comp, $nsNr, $nsList);
# }
# sub xsltTemplateProcess($ctxt, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltTemplateProcess(xsltTransformContext $ctxt, xmlNode $node)
# is native(XSLT)
# is symbol('xsltTemplateProcess')
# returns xmlNode
# { * }
# _xsltTemplateProcess($ctxt, $node);
# }
# sub xsltAttrListTemplateProcess($ctxt, $target, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltAttrListTemplateProcess(xsltTransformContext $ctxt, xmlNode $target, xmlAttr $cur)
# is native(XSLT)
# is symbol('xsltAttrListTemplateProcess')
# returns xmlAttr
# { * }
# _xsltAttrListTemplateProcess($ctxt, $target, $cur);
# }
# sub xsltAttrTemplateProcess($ctxt, $target, $attr) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltAttrTemplateProcess(xsltTransformContext $ctxt, xmlNode $target, xmlAttr $attr)
# is native(XSLT)
# is symbol('xsltAttrTemplateProcess')
# returns xmlAttr
# { * }
# _xsltAttrTemplateProcess($ctxt, $target, $attr);
# }
# sub xsltAttrTemplateValueProcess(xsltTransformContext $ctxt, Str $attr)
# is native(XSLT)
# is export
# returns Str
# { * }
# sub xsltAttrTemplateValueProcessNode($ctxt, $str, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltAttrTemplateValueProcessNode(xsltTransformContext $ctxt, Str $str, xmlNode $node)
# is native(XSLT)
# is symbol('xsltAttrTemplateValueProcessNode')
# returns Str
# { * }
# _xsltAttrTemplateValueProcessNode($ctxt, $str, $node);
# }
#
# /usr/include/libxslt/transform.h
#
# sub xsltSetXIncludeDefault(int32 $xinclude)
# is native(XSLT)
# is export
# { * }
# sub xsltGetXIncludeDefault()
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltNewTransformContext($style, $doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNewTransformContext(xsltStylesheet $style, xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltNewTransformContext')
# returns xsltTransformContext
# { * }
# _xsltNewTransformContext($style, $doc);
# }
# sub xsltFreeTransformContext(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltApplyStylesheetUser($style, $doc, $params, $output, $profile, $userCtxt) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyStylesheetUser(xsltStylesheet $style, xmlDoc $doc, CArray[Str] $params, Str $output, Pointer $profile, xsltTransformContext $userCtxt)
# is native(XSLT)
# is symbol('xsltApplyStylesheetUser')
# returns xmlDoc
# { * }
# _xsltApplyStylesheetUser($style, $doc, $params, $output, $profile, $userCtxt);
# }
# sub xsltProcessOneNode($ctxt, $node, $params) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltProcessOneNode(xsltTransformContext $ctxt, xmlNode $node, xsltStackElem $params)
# is native(XSLT)
# is symbol('xsltProcessOneNode')
# { * }
# _xsltProcessOneNode($ctxt, $node, $params);
# }
# sub xsltApplyStripSpaces($ctxt, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyStripSpaces(xsltTransformContext $ctxt, xmlNode $node)
# is native(XSLT)
# is symbol('xsltApplyStripSpaces')
# { * }
# _xsltApplyStripSpaces($ctxt, $node);
# }
# sub xsltApplyStylesheet($style, $doc, $params) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyStylesheet(xsltStylesheet $style, xmlDoc $doc, Str $params)
# is native(XSLT)
# is symbol('xsltApplyStylesheet')
# returns xmlDoc
# { * }
# _xsltApplyStylesheet($style, $doc, $params);
# }
# sub xsltProfileStylesheet($style, $doc, $params, $output) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltProfileStylesheet(xsltStylesheet $style, xmlDoc $doc, Str $params, Pointer $output)
# is native(XSLT)
# is symbol('xsltProfileStylesheet')
# returns xmlDoc
# { * }
# _xsltProfileStylesheet($style, $doc, $params, $output);
# }
# sub xsltRunStylesheet($style, $doc, $params, $output, $SAX, $IObuf) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRunStylesheet(xsltStylesheet $style, xmlDoc $doc, Str $params, Str $output, xmlSAXHandler $SAX, xmlOutputBuffer $IObuf)
# is native(XSLT)
# is symbol('xsltRunStylesheet')
# returns int32
# { * }
# _xsltRunStylesheet($style, $doc, $params, $output, $SAX, $IObuf);
# }
# sub xsltRunStylesheetUser($style, $doc, $params, $output, $SAX, $IObuf, $profile, $userCtxt) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRunStylesheetUser(xsltStylesheet $style, xmlDoc $doc, Str $params, Str $output, xmlSAXHandler $SAX, xmlOutputBuffer $IObuf, Pointer $profile, xsltTransformContext $userCtxt)
# is native(XSLT)
# is symbol('xsltRunStylesheetUser')
# returns int32
# { * }
# _xsltRunStylesheetUser($style, $doc, $params, $output, $SAX, $IObuf, $profile, $userCtxt);
# }
# sub xsltApplyOneTemplate($ctxt, $node, $list, $templ, $params) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyOneTemplate(xsltTransformContext $ctxt, xmlNode $node, xmlNode $list, xsltTemplate $templ, xsltStackElem $params)
# is native(XSLT)
# is symbol('xsltApplyOneTemplate')
# { * }
# _xsltApplyOneTemplate($ctxt, $node, $list, $templ, $params);
# }
# sub xsltDocumentElem($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltDocumentElem(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltDocumentElem')
# { * }
# _xsltDocumentElem($ctxt, $node, $inst, $comp);
# }
# sub xsltSort($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltSort(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltSort')
# { * }
# _xsltSort($ctxt, $node, $inst, $comp);
# }
# sub xsltCopy($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCopy(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltCopy')
# { * }
# _xsltCopy($ctxt, $node, $inst, $comp);
# }
# sub xsltText($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltText(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltText')
# { * }
# _xsltText($ctxt, $node, $inst, $comp);
# }
# sub xsltElement($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltElement(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltElement')
# { * }
# _xsltElement($ctxt, $node, $inst, $comp);
# }
# sub xsltComment($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltComment(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltComment')
# { * }
# _xsltComment($ctxt, $node, $inst, $comp);
# }
# sub xsltAttribute($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltAttribute(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltAttribute')
# { * }
# _xsltAttribute($ctxt, $node, $inst, $comp);
# }
# sub xsltProcessingInstruction($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltProcessingInstruction(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltProcessingInstruction')
# { * }
# _xsltProcessingInstruction($ctxt, $node, $inst, $comp);
# }
# sub xsltCopyOf($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCopyOf(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltCopyOf')
# { * }
# _xsltCopyOf($ctxt, $node, $inst, $comp);
# }
# sub xsltValueOf($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltValueOf(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltValueOf')
# { * }
# _xsltValueOf($ctxt, $node, $inst, $comp);
# }
# sub xsltNumber($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNumber(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltNumber')
# { * }
# _xsltNumber($ctxt, $node, $inst, $comp);
# }
# sub xsltApplyImports($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyImports(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltApplyImports')
# { * }
# _xsltApplyImports($ctxt, $node, $inst, $comp);
# }
# sub xsltCallTemplate($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCallTemplate(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltCallTemplate')
# { * }
# _xsltCallTemplate($ctxt, $node, $inst, $comp);
# }
# sub xsltApplyTemplates($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltApplyTemplates(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltApplyTemplates')
# { * }
# _xsltApplyTemplates($ctxt, $node, $inst, $comp);
# }
# sub xsltChoose($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltChoose(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltChoose')
# { * }
# _xsltChoose($ctxt, $node, $inst, $comp);
# }
# sub xsltIf($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltIf(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltIf')
# { * }
# _xsltIf($ctxt, $node, $inst, $comp);
# }
# sub xsltForEach($ctxt, $node, $inst, $comp) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltForEach(xsltTransformContext $ctxt, xmlNode $node, xmlNode $inst, xsltStylePreComp $comp)
# is native(XSLT)
# is symbol('xsltForEach')
# { * }
# _xsltForEach($ctxt, $node, $inst, $comp);
# }
# sub xsltRegisterAllElement(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltCopyTextString($ctxt, $target, $string, $noescape) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCopyTextString(xsltTransformContext $ctxt, xmlNode $target, Str $string, int32 $noescape)
# is native(XSLT)
# is symbol('xsltCopyTextString')
# returns xmlNode
# { * }
# _xsltCopyTextString($ctxt, $target, $string, $noescape);
# }
# sub xsltLocalVariablePop(xsltTransformContext $ctxt, int32 $limitNr, int32 $level)
# is native(XSLT)
# is export
# { * }
# sub xsltLocalVariablePush(xsltTransformContext $ctxt, xsltStackElem $variable, int32 $level)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xslHandleDebugger($cur, $node, $templ, $ctxt) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xslHandleDebugger(xmlNode $cur, xmlNode $node, xsltTemplate $templ, xsltTransformContext $ctxt)
# is native(XSLT)
# is symbol('xslHandleDebugger')
# { * }
# _xslHandleDebugger($cur, $node, $templ, $ctxt);
# }
#
# /usr/include/libxslt/variables.h
#
# sub xsltEvalGlobalVariables(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltEvalUserParams(xsltTransformContext $ctxt, Str $params)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltQuoteUserParams(xsltTransformContext $ctxt, Str $params)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltEvalOneUserParam(xsltTransformContext $ctxt, Str $name, Str $value)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltQuoteOneUserParam(xsltTransformContext $ctxt, Str $name, Str $value)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltParseGlobalVariable($style, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseGlobalVariable(xsltStylesheet $style, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseGlobalVariable')
# { * }
# _xsltParseGlobalVariable($style, $cur);
# }
# sub xsltParseGlobalParam($style, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseGlobalParam(xsltStylesheet $style, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseGlobalParam')
# { * }
# _xsltParseGlobalParam($style, $cur);
# }
# sub xsltParseStylesheetVariable($ctxt, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetVariable(xsltTransformContext $ctxt, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetVariable')
# { * }
# _xsltParseStylesheetVariable($ctxt, $cur);
# }
# sub xsltParseStylesheetParam($ctxt, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetParam(xsltTransformContext $ctxt, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetParam')
# { * }
# _xsltParseStylesheetParam($ctxt, $cur);
# }
# sub xsltParseStylesheetCallerParam($ctxt, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetCallerParam(xsltTransformContext $ctxt, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetCallerParam')
# returns xsltStackElem
# { * }
# _xsltParseStylesheetCallerParam($ctxt, $cur);
# }
# sub xsltAddStackElemList(xsltTransformContext $ctxt, xsltStackElem $elems)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltFreeGlobalVariables(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltVariableLookup(xsltTransformContext $ctxt, Str $name, Str $ns_uri)
# is native(XSLT)
# is export
# returns xmlXPathObject
# { * }
# sub xsltXPathVariableLookup(Pointer $ctxt, Str $name, Str $ns_uri)
# is native(XSLT)
# is export
# returns xmlXPathObject
# { * }
#
# /usr/include/libxslt/xslt.h
#
# sub xsltInit()
# is native(XSLT)
# is export
# { * }
# sub xsltCleanupGlobals()
# is native(XSLT)
# is export
# { * }
# #
# # /usr/include/libxslt/xsltlocale.h
# #
# sub xsltNewLocale(Str $langName)
# is native(XSLT)
# is export
# returns Pointer
# { * }
# sub xsltFreeLocale(Pointer $locale)
# is native(XSLT)
# is export
# { * }
# sub xsltStrxfrm(Pointer $locale, Str $string)
# is native(XSLT)
# is export
# returns Str
# { * }
# sub xsltLocaleStrcmp(Pointer $locale, Str $str1, Str $str2)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltFreeLocales()
# is native(XSLT)
# is export
# { * }
#
# /usr/include/libxslt/xsltInternals.h
#
# sub xsltPointerListCreate(int32 $initialSize)
# is native(XSLT)
# is export
# returns xsltPointerList
# { * }
# sub xsltPointerListFree(xsltPointerList $list)
# is native(XSLT)
# is export
# { * }
# sub xsltPointerListClear(xsltPointerList $list)
# is native(XSLT)
# is export
# { * }
# sub xsltPointerListAddSize(xsltPointerList $list, Pointer $item, int32 $initialSize)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltNewStylesheet()
# is native(XSLT)
# is export
# returns xsltStylesheet
# { * }
# sub xsltParseStylesheetFile(Str $filename)
# is native(XSLT)
# is export
# returns xsltStylesheet
# { * }
# sub xsltFreeStylesheet(xsltStylesheet $style)
# is native(XSLT)
# is export
# { * }
# sub xsltIsBlank(Str $str)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltFreeStackElemList(xsltStackElem $elem)
# is native(XSLT)
# is export
# { * }
# sub xsltDecimalFormatGetByName(xsltStylesheet $style, Str $name)
# is native(XSLT)
# is export
# returns xsltDecimalFormat
# { * }
# sub xsltParseStylesheetProcess($ret, $doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetProcess(xsltStylesheet $ret, xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltParseStylesheetProcess')
# returns xsltStylesheet
# { * }
# _xsltParseStylesheetProcess($ret, $doc);
# }
# sub xsltParseStylesheetOutput($style, $cur) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetOutput(xsltStylesheet $style, xmlNode $cur)
# is native(XSLT)
# is symbol('xsltParseStylesheetOutput')
# { * }
# _xsltParseStylesheetOutput($style, $cur);
# }
# sub xsltParseStylesheetDoc($doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetDoc(xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltParseStylesheetDoc')
# returns xsltStylesheet
# { * }
# _xsltParseStylesheetDoc($doc);
# }
# sub xsltParseStylesheetImportedDoc($doc, $style) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseStylesheetImportedDoc(xmlDoc $doc, xsltStylesheet $style)
# is native(XSLT)
# is symbol('xsltParseStylesheetImportedDoc')
# returns xsltStylesheet
# { * }
# _xsltParseStylesheetImportedDoc($doc, $style);
# }
# sub xsltLoadStylesheetPI($doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltLoadStylesheetPI(xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltLoadStylesheetPI')
# returns xsltStylesheet
# { * }
# _xsltLoadStylesheetPI($doc);
# }
# sub xsltNumberFormat($ctxt, $data, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltNumberFormat(xsltTransformContext $ctxt, xsltNumberData $data, xmlNode $node)
# is native(XSLT)
# is symbol('xsltNumberFormat')
# { * }
# _xsltNumberFormat($ctxt, $data, $node);
# }
# cw: Return value should be converted to xmlXPathError enum.
# sub xsltFormatNumberConversion(xsltDecimalFormat $self, Str $format, num64 $number, CArray[Str] $result)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltParseTemplateContent($style, $templ) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseTemplateContent(xsltStylesheet $style, xmlNode $templ)
# is native(XSLT)
# is symbol('xsltParseTemplateContent')
# { * }
# _xsltParseTemplateContent($style, $templ);
# }
# sub xsltAllocateExtra(xsltStylesheet $style)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltAllocateExtraCtxt(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltCreateRVT(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns xmlDoc
# { * }
# sub xsltRegisterTmpRVT($ctxt, $RVT) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRegisterTmpRVT(xsltTransformContext $ctxt, xmlDoc $RVT)
# is native(XSLT)
# is symbol('xsltRegisterTmpRVT')
# returns int32
# { * }
# _xsltRegisterTmpRVT($ctxt, $RVT);
# }
# sub xsltRegisterLocalRVT($ctxt, $RVT) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRegisterLocalRVT(xsltTransformContext $ctxt, xmlDoc $RVT)
# is native(XSLT)
# is symbol('xsltRegisterLocalRVT')
# returns int32
# { * }
# _xsltRegisterLocalRVT($ctxt, $RVT);
# }
# sub xsltRegisterPersistRVT($ctxt, $RVT) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRegisterPersistRVT(xsltTransformContext $ctxt, xmlDoc $RVT)
# is native(XSLT)
# is symbol('xsltRegisterPersistRVT')
# returns int32
# { * }
# _xsltRegisterPersistRVT($ctxt, $RVT);
# }
# sub xsltExtensionInstructionResultRegister($ctxt, $obj) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltExtensionInstructionResultRegister(xsltTransformContext $ctxt, xmlXPathObject $obj)
# is native(XSLT)
# is symbol('xsltExtensionInstructionResultRegister')
# returns int32
# { * }
# _xsltExtensionInstructionResultRegister($ctxt, $obj);
# }
# sub xsltExtensionInstructionResultFinalize(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltFreeRVTs(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# { * }
# sub xsltReleaseRVT($ctxt, $RVT) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltReleaseRVT(xsltTransformContext $ctxt, xmlDoc $RVT)
# is native(XSLT)
# is symbol('xsltReleaseRVT')
# { * }
# _xsltReleaseRVT($ctxt, $RVT);
# }
# sub xsltCompileAttr($style, $attr) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltCompileAttr(xsltStylesheet $style, xmlAttr $attr)
# is native(XSLT)
# is symbol('xsltCompileAttr')
# { * }
# _xsltCompileAttr($style, $attr);
# }
# sub xsltEvalAVT($ctxt, $avt, $node) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltEvalAVT(xsltTransformContext $ctxt, Pointer $avt, xmlNode $node)
# is native(XSLT)
# is symbol('xsltEvalAVT')
# returns Str
# { * }
# _xsltEvalAVT($ctxt, $avt, $node);
# }
# sub xsltFreeAVTList(Pointer $avt)
# is native(XSLT)
# is export
# { * }
# sub xsltUninit()
# is native(XSLT)
# is export
# { * }
# cw: Part of XSLT refactor, which is not included.
#
# sub xsltParseSequenceConstructor($cctxt, $start) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseSequenceConstructor(xsltCompilerCtxt $cctxt, xmlNode $start)
# is native(XSLT)
# is symbol('xsltParseSequenceConstructor')
# { * }
# _xsltParseSequenceConstructor($cctxt, $start);
# }
# sub xsltParseAnyXSLTElem($cctxt, $elem) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltParseAnyXSLTElem(xsltCompilerCtxt $cctxt, xmlNode $elem)
# is native(XSLT)
# is symbol('xsltParseAnyXSLTElem')
# returns int32
# { * }
# _xsltParseAnyXSLTElem($cctxt, $elem);
# }
# sub xsltRestoreDocumentNamespaces($ns, $doc) {
# die 'Function requires XML::LibXML' unless $XSLT_xml_support;
# sub _xsltRestoreDocumentNamespaces(xsltNsMap $ns, xmlDoc $doc)
# is native(XSLT)
# is symbol('xsltRestoreDocumentNamespaces')
# returns int32
# { * }
# _xsltRestoreDocumentNamespaces($ns, $doc);
# }
# sub xsltInitCtxtKey(xsltTransformContext $ctxt, xsltDocument $doc, xsltKeyDef $keyd)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltInitAllDocKeys(xsltTransformContext $ctxt)
# is native(XSLT)
# is export
# returns int32
# { * }
# xsltutils
enum xsltDebugTraceCodes is export (
XSLT_TRACE_ALL => -1,
XSLT_TRACE_NONE => 0,
XSLT_TRACE_COPY_TEXT => 0b1,
XSLT_TRACE_PROCESS_NODE => 0b10,
XSLT_TRACE_APPLY_TEMPLATE => 0b100,
XSLT_TRACE_COPY => 0b1000,
XSLT_TRACE_COMMENT => 0b10000,
XSLT_TRACE_PI => 0b100000,
XSLT_TRACE_COPY_OF => 0b1000000,
XSLT_TRACE_VALUE_OF => 0b10000000,
XSLT_TRACE_CALL_TEMPLATE => 0b100000000,
XSLT_TRACE_APPLY_TEMPLATES => 0b1000000000,
XSLT_TRACE_CHOOSE => 0b10000000000,
XSLT_TRACE_IF => 0b100000000000,
XSLT_TRACE_FOR_EACH => 0b1000000000000,
XSLT_TRACE_STRIP_SPACES => 0b10000000000000,
XSLT_TRACE_TEMPLATES => 0b100000000000000,
XSLT_TRACE_KEYS => 0b1000000000000000,
XSLT_TRACE_VARIABLES => 0b10000000000000000
);
constant XSLT_TIMESTAMP_TICS_PER_SEC is export = 100000;
enum xsltDebugStatusCodes is export (
XSLT_DEBUG_NONE => 0,
'XSLT_DEBUG_INIT',
'XSLT_DEBUG_STEP',
'XSLT_DEBUG_STEPOUT',
'XSLT_DEBUG_NEXT',
'XSLT_DEBUG_STOP',
'XSLT_DEBUG_CONT',
'XSLT_DEBUG_RUN',
'XSLT_DEBUG_RUN_RESTART',
'XSLT_DEBUG_QUIT'
);
# sub xsltGetUTF8Char(Str $utf, int32 $len)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltDebugSetDefaultTrace(int32 $val)
# is native(XSLT)
# is export
# { * }
# sub xsltDebugGetTraceCodes()
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltSetCtxtParseOptions(xsltTransformContext $ctxt, int32 $opt)
# is native(XSLT)
# is export
# returns int32
# { * }
# cw: For now, use Pointer. Can always nativecast() and replace with a better
# alternative, later.
# our $xsltGenericError := cglobal('xslt', 'xsltGenericError', Pointer);
# our $xsltGenericErrorContext := cglobal('xslt', 'xsltGenericErrorContext', Pointer);
# our $xsltGenericDebug := cglobal('xslt', 'xsltGenericDebug', Pointer);
# our $xsltGenerigDebugContext := cglobal('xslt', 'xsltGenericDebugContext', Pointer);
# our $xsltDebugStatus := cglobal('xslt', 'xslDebugStatus', int32);
# sub xsltSetGenericErrorFunc(Pointer $ctx, Pointer $handler)
# is native(XSLT)
# is export
# { * }
# sub xsltSetGenericDebugFunc(Pointer $ctx, Pointer $handler)
# is native(XSLT)
# is export
# { * }
# sub xsltSetTransformErrorFunc(
# xsltTransformContext $ctxt,
# Pointer $ctx,
# Pointer $handler
# )
# is native(XSLT)
# is export
# { * }
# cw: TODO
#xsltTransformError(
# xsltTransformContextPtr ctxt,
# xsltStylesheetPtr style,
# xmlNodePtr node,
# const char *msg,
# ...
#) LIBXSLT_ATTR_FORMAT(4,5);
# sub xsltGetNsProp($node, $name, $ns) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltGetNsProp(xmlNode $node, Str $name, Str $ns)
# is native(XSLT)
# is symbol('xsltGetNsProp')
# returns Str
# { * }
# _xsltGetNsProp($node, $name, $ns);
# }
# sub xsltGetCNsProp($sheet, $node, $name, $ns) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltGetCNsProp(
# xsltStylesheet $sheet,
# xmlNode $node,
# Str $name,
# Str $ns
# )
# is native(XSLT)
# is symbol('xsltGetCNsProp')
# returns Str
# { * }
# _xsltGetCNsProp($sheet, $node, $name, $ns);
# }
# sub xsltPrintErrorContext($ctxt, $style, $node) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltPrintErrorContext(
# xsltTransformContext $ctxt,
# xsltStylesheet $sheet,
# xmlNode $node
# )
# is native(XSLT)
# is symbol('xsltPrintErrorContext')
# { * }
# _xsltPrintErrorContext($ctxt, $style, $node);
# }
# sub xsltMessage($ctxt, $node, $inst) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltMessage(
# xsltTransformContext $ctxt,
# xmlNode $node,
# xmlNode $inst
# )
# is native(XSLT)
# is symbol('xsltMessage')
# { * }
# _xsltMessage($ctxt, $node, $inst);
# }
# sub xsltDocumentSortFunction($list) is export {
# # cw: We should break out support to different modules. Especially
# # since XML::LibXML is not yet complete... or released.
# die "Functon requires the XML::LibXML::NodeSet module"
# unless $XSLT_xml_support;
# sub _xsltDocumentSortFunction(xmlNodeSet $list)
# is native(XSLT)
# is symbol('xsltDocumentSortFunction')
# { * };
# _xsltDocumentSortFunction($list);
# }
# sub xsltSetSortFunc(Pointer $handler)
# is native(XSLT)
# is export
# { * }
# sub xsltSetCtxtSortFunc(xsltTransformContext $ctxt, Pointer $handler)
# is native(XSLT)
# is export
# { * }
# sub xsltDefaultSortFunction($ctxt, $nodes, $num) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltDefaultSortFunction(
# xsltTransformContext $ctxt,
# xmlNode $node, int32
# $num
# )
# is native(XSLT)
# is symbol('xsltDefaultSortFunction')
# { * }
# _xsltDefaultSortFunction($ctxt, $nodes, $num)
# }
# sub xsltDoSortFunction($ctxt, $nodes, $num) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltDoSortFunction(
# xsltTransformContext $ctxt,
# xmlNode $node, int32
# $num
# )
# is native(XSLT)
# is symbol('xsltDoSortFunction')
# { * }
# _xsltDoSortFunction($ctxt, $nodes, $num)
# }
# sub xsltComputeSortResult($ctxt, $node) is export {
# die "Function requires the XML::LibXML::XPath module"
# unless $XSLT_xml_support;
# sub _xsltComputeSortResult(xsltTransformContext $ctxt, xmlNode $node)
# is native(XSLT)
# is symbol('xsltComputeSortResult')
# returns xmlXPathObject
# { * }
# _xsltComputeSortResult($ctxt, $node);
# }
# sub xsltSplitQName($dict, $name, $prefix) is export {
# die "Function requires the XML::LibXML::Dict module"
# unless $XSLT_xml_support;
# # cw: Check to insure @prefix is using the right sigil.
# sub _xsltSplitQName(xmlDict $dict, Str $name, CArray[Str] $prefix)
# is native(XSLT)
# is symbol('xsltSplitQName')
# returns Str
# { * }
# _xsltSplitQName($dict, $name, $prefix);
# }
# sub xsltGetQNameURI($node, $name) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltGetQNameURI(xmlNode $node, Str $name)
# is native(XSLT)
# is symbol('xsltGetQNameURI')
# returns Str
# { * }
# _xsltGetQNameURI($node, $name);
# }
# sub xsltGetQNameURI2($style, $node, $name) is export {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltGetQNameURI(xsltStylesheet $style, xmlNode $node, Str $name)
# is native(XSLT)
# is symbol('xsltGetQNameURI2')
# returns Str
# { * }
# _xsltGetQNameURI($style, $node, $name);
# }
# sub xsltSaveResultTo($buf, $result, $style) is export {
# die "Function requires the XML::LibXML package"
# unless $XSLT_xml_support;
# sub _xsltSaveResultTo(
# xmlOutputBuffer $buf,
# xmlDoc $result,
# xsltStylesheet $style
# )
# is native(XSLT)
# is symbol('xsltSaveResultTo')
# returns int32
# { * }
# _xsltSaveResultTo($buf, $result, $style);
# }
# sub xsltSaveResultToFilename($uri, $result, $style, $comp) is export {
# die "Function requires the XML::LibXML package"
# unless $XSLT_xml_support;
# sub _xsltSaveResultToFilename(
# Str $uri,
# xmlDoc $result,
# xsltStylesheet $style,
# int32 $comp
# )
# is native(XSLT)
# is symbol('xsltSaveResultToFilename')
# returns int32
# { * }
# _xsltSaveResultToFilename($uri, $result, $style, $comp);
# }
# sub xsltSaveResultToFile($file, $result, $style) {
# die "Function requires the XML::LibXML package"
# unless $XSLT_xml_support;
# die "Must pass an IO::Handle as the first parameter!"
# unless $file ~~ File::Handle;
# my $fd = fdopen($file.native-descriptor, "w");
# sub _xsltSaveResultToFile(
# Pointer $fd,
# xmlDoc $result,
# xsltStylesheet $style
# )
# is native(XSLT)
# is symbol('xsltSaveResultToFile')
# returns int32
# { * }
# _xsltSaveResultToFile($fd, $result, $style);
# }
# sub xsltSaveResultToFd($fd, $result, $style) is export {
# die "Function requires the XML::LibXML package"
# unless $XSLT_xml_support;
# sub _xsltSaveResultToFd(
# int32 $fd,
# xmlDoc $result,
# xsltStylesheet $style
# )
# is native(XSLT)
# is symbol('xsltSaveResultToFd')
# returns int32
# { * }
# _xsltSaveResultToFd($fd, $result, $style);
# }
# sub xsltSaveResultToString($out is rw, $len is rw, $result, $style)
# is export
# {
# die "Function requires the XML::LibXML package"
# unless $XSLT_xml_support;
# # cw: Another reason to do this via wrappers is so that we can
# # do work for the caller, as in this case.
# #
# # The caller should just be able to pass a string value and have
# # this wrapper do all of the NativeCall work to properly prepare
# # $out and $len.
# sub _xsltSaveResultToString(
# Pointer[Str] $out,
# Pointer[int32] $len,
# xmlDoc $result,
# xsltStylesheet $style
# )
# is native(XSLT)
# is symbol('xsltSaveResultToString')
# returns int32
# { * }
# _xsltSaveResultToString($out, $len, $result, $style);
# }
# sub xsltXPathCompile($style, $str) is export {
# die "Function requires the XML::LibXML::XPath module"
# unless $XSLT_xml_support;
# sub _xsltXPathCompile(xsltStylesheet $style, Str $str)
# is native(XSLT)
# is symbol('xsltXPathCompile')
# returns Pointer
# { * }
# _xsltXPathCompile($style, $str);
# }
# sub xsltXPathCompileFlags($style, $str, $flags) is export {
# die "Function requires the XML::LibXML::XPath module"
# unless $XSLT_xml_support;
# sub _xsltXPathCompileFlags(xsltStylesheet $style, Str $str, int32 $flags)
# is native(XSLT)
# is symbol('xsltXPathCompileFlags')
# returns Pointer
# { * }
# _xsltXPathCompileFlags($style, $str, $flags);
# }
# sub xsltSaveProfiling($ctxt, $output) {
# die "Second parameter to xsltSaveResultToFile must be IO::Handle!"
# unless $output ~~ IO::Handle;
# my $fd = fdopen($output.native-descriptor, "w");
# sub _xsltSaveProfiling(xsltTransformContext $ctxt, Pointer $file)
# is native(XSLT)
# { * }
# _xsltSaveProfiling($ctxt, $fd);
# }
# sub xsltGetProfileInformation($ctxt) is export {
# die "Function requires the XML::LibXML::Doc module"
# unless $XSLT_xml_support;
# sub _xsltGetProfileInformation(xsltTransformContext $ctxt)
# is native(XSLT)
# is symbol('xsltGetProfileInformation')
# returns xmlDoc
# { * }
# _xsltGetProfileInformation($ctxt);
# }
# sub xsltTimestamp()
# is native(XSLT)
# is export
# { * }
# sub xsltCalibrateAdjust(int64 $delta)
# is native(XSLT)
# is export
# { * }
# sub xsltSetDebuggerStatus(int32 $val)
# is native(XSLT)
# is export
# { * }
# sub xsltGetDebuggerStatus()
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xsltSetDebuggerCallbacks(int32 $no, Pointer $block)
# is native(XSLT)
# is export
# returns int32
# { * }
# sub xslAddCall($tmpl, $src) {
# die "Function requires the XML::LibXML::Node module"
# unless $XSLT_xml_support;
# sub _xsltAddCall(xsltTemplate $templ, xmlNode $source)
# is native(XSLT)
# is symbol('xsltAddCall')
# returns int32
# { * }
# _xsltAddCall($tmpl, $src);
# }
# sub xslDropCall()
# is native(XSLT)
# is export
# { * }
}
use v6.c;
use NativeCall;
our $XSLT_xml_support is export;
{
$XSLT_xml_support = (try require ::('XML::LibXML::CStructs')) !~~ Nil;
}
# XML::LibXML predefines
unless $XSLT_xml_support {
class xmlAttr is repr('CStruct') { has int32 $.dummy; }
class xmlNode is repr('CStruct') { has int32 $.dummy; }
class xmlNodeSet is repr('CStruct') { has int32 $.dummy; }
class xmlNs is repr('CStruct') { has int32 $.dummy; }
class xmlDict is repr('CStruct') { has int32 $.dummy; }
class xmlDoc is repr('CStruct') { has int32 $.dummy; }
class xmlHashTable is repr('CStruct') { has int32 $.dummy; }
class xmlXPathContext is repr('CStruct') { has int32 $.dummy; }
class xmlXPathObject is repr('CStruct') { has int32 $.dummy; }
class xmlXPathCompExpr is repr('CStruct') { has int32 $.dummy; }
class xmlOutputBuffer is repr('CStruct') { has int32 $.dummy; }
class xmlSAXHandler is repr('CStruct') { has int32 $.dummy; }
class xmlXPathParserContext is repr('CStruct') { has int32 $.dummy; }
}
module XML::LibXSLT::Types {
# libxslt predefines.
class xsltTemplate is repr('CStruct') { ... }
class xsltTransformContext is repr('CStruct') { ... }
class xsltRuntimeExtra is repr('CStruct') { ... }
enum xsltStyleType is export (
XSLT_FUNC_COPY => 1,
'XSLT_FUNC_SORT',
'XSLT_FUNC_TEXT',
'XSLT_FUNC_ELEMENT',
'XSLT_FUNC_ATTRIBUTE',
'XSLT_FUNC_COMMENT',
'XSLT_FUNC_PI',
'XSLT_FUNC_COPYOF',
'XSLT_FUNC_VALUEOF',
'XSLT_FUNC_NUMBER',
'XSLT_FUNC_APPLYIMPORTS',
'XSLT_FUNC_CALLTEMPLATE',
'XSLT_FUNC_APPLYTEMPLATES',
'XSLT_FUNC_CHOOSE',
'XSLT_FUNC_IF',
'XSLT_FUNC_FOREACH',
'XSLT_FUNC_DOCUMENT',
'XSLT_FUNC_WITHPARAM',
'XSLT_FUNC_PARAM',
'XSLT_FUNC_VARIABLE',
'XSLT_FUNC_WHEN',
'XSLT_FUNC_EXTENSION',
#cw: Not using XSLT_REFACTORED
# 'XSLT_FUNC_OTHERWISE',
# 'XSLT_FUNC_FALLBACK',
# 'XSLT_FUNC_MESSAGE',
# 'XSLT_FUNC_INCLUDE',
# 'XSLT_FUNC_ATTRSET',
# 'XSLT_FUNC_LITERAL_RESULT_ELEMENT',
# 'XSLT_FUNC_UNKOWN_FORWARDS_COMPAT
#endif
);
enum xsltOutputType is export (
XSLT_OUTPUT_XML => 0,
'XSLT_OUTPUT_HTML',
'XSLT_OUTPUT_TEXT',
);
enum xsltTransformState is export (
XSLT_STATE_OK => 0,
'XSLT_STATE_ERROR',
'XSLT_STATE_STOPPED',
);
class xsltDecimalFormat is repr('CStruct') is export {
has xsltDecimalFormat $.next;
has Str $.name;
has Str $.digit;
has Str $.patternSeparator;
has Str $.minusSign;
has Str $.infinity;
has Str $.noNumber;
has Str $.decimalPoint;
has Str $.grouping;
has Str $.percent;
has Str $.permille;
has Str $.zeroDigit;
}
class xsltDocument is repr('CStruct') is export {
has xsltDocument $.next;
has int32 $.main;
has xmlDoc $.doc;
has Pointer $.keys;
has xsltDocument $.includes;
has int32 $.preproc;
has int32 $.nbKeysComputed;
}
class xsltElemPreComp is repr('CStruct') is export {
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has Pointer $.free;
}
class xslt_ptr_int is repr('CUnion') is export {
has Pointer $.pointer;
has int32 $.ival;
}
class xsltRuntimeExtra is export {
has Pointer $.info;
has Pointer $.deallocate;
HAS xslt_ptr_int $.val;
}
class xsltStylePreComp is repr('CStruct') is export {
has xsltStylePreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has Pointer $.free;
# cw: May want to have a helper function in this class for calling the
# $.free and $.func callbacks
}
class xsltStackElem is repr('CStruct') is export {
has xsltStackElem $.next;
has xsltStylePreComp $.comp;
has int32 $.computed;
has Str $.name;
has Str $.nameURI;
has Str $.select;
has xmlNode $.tree;
has xmlXPathObject $.value;
has xmlDoc $.fragment;
has int32 $.level;
has xsltTransformContext $.context;
has int32 $.flags;
}
class xsltStylesheet is repr('CStruct') is export {
has xsltStylesheet $.parent;
has xsltStylesheet $.next;
has xsltStylesheet $.imports;
has xsltDocument $.docList;
has xmlDoc $.doc;
has xmlHashTable $.stripSpaces;
has int32 $.stripAll;
has xsltStackElem $.variables;
has xsltTemplate $.templates;
has Pointer $.templateHash;
has Pointer $.rootMatch;
has Pointer $.elemMatch;
has Pointer $.attrMatch;
has Pointer $.parentMatch;
has Pointer $.textMatch;
has Pointer $.piMatch;
has Pointer $.commentMatch;
has xmlHashTable $.nsAliases;
has xmlHashTable $.attributeSets;
has xmlHashTable $.nsHash;
has Pointer $.nsDefs;
has Pointer $.keys;
has Str $.method;
has Str $.methodURI;
has Str $.version;
has Str $.encoding;
has int32 $.omitXmlDeclaration;
has xsltDecimalFormat $.decimalFormat;
has int32 $.standalone;
has Str $.doctypePublic;
has Str $.doctypeSystem;
has int32 $.indent;
has Str $.mediaType;
has xsltElemPreComp $.preComps;
has int32 $.warnings;
has int32 $.errors;
has Str $.exclPrefix;
has CArray[Str] $.exclPrefixTab;
has int32 $.exclPrefixNr;
has int32 $.exclPrefixMax;
has Pointer $._private;
has xmlHashTable $.extInfos;
has int32 $.extrasNr;
has xsltDocument $.includes;
has xmlDict $.dict;
has Pointer $.attVTs;
has Str $.defaultAlias;
has int32 $.nopreproc;
has int32 $.internalized;
has int32 $.literal_result;
# cw: XSLT_REFACTORED not defined on Ubuntu. There really is NO GOOD WAY to
# handle this section. If SEGVs are encountered in the use of this module
# this might be the 'reason', hence the commented code below:
# has Pointer $.compCtxt;
# xsltPrincipalStylesheetData $.principalData;
has int32 $.forwards_compatible;
has xmlHashTable $.namedTemplates;
}
class xsltTemplate is export {
has xsltTemplate $.next;
has xsltStylesheet $.style;
has Str $.match;
has num32 $.priority;
has Str $.name;
has Str $.nameURI;
has Str $.mode;
has Str $.modeURI;
has xmlNode $.content;
has xmlNode $.elem;
has int32 $.inheritedNsNr;
has xmlNs $.inheritedNs;
has int32 $.nbCalls;
has uint64 $.time;
has Pointer $.params;
has int32 $.templNr;
has int32 $.templMax;
has xsltTemplate $.templCalledTab;
has int32 $.templCountTab;
}
class xsltTransformCache is repr('CStruct') is export {
has xmlDoc $.RVT;
has int32 $.nvRVT;
has xsltStackElem $.stackItems;
has int32 $.nbStackItems;
# cw: There is no good way to support conditional XSLT_DEBUG_PROFILE_CACHE
# 'elements', yet. Ubuntu has them commented 'out', so for now we do not
# consider their existence.
# has int32 $.dbgCachedRVTs;
# has int32 $.debugReusedRVTs;
# has int32 $.debugCachedVars;
# has int32 $.debugReusedVars;
}
class xsltTransformContext is export {
has xsltStylesheet $.style;
has int32 $.type;
has xsltTemplate $.templ;
has int32 $.templNr;
has int32 $.templMax;
has xsltTemplate $.templTab;
has xsltStackElem $.vars;
has int32 $.varsNr;
has int32 $.varsMax;
has xsltStackElem $.varsTab;
has int32 $.varsBase;
has xmlHashTable $.extFunctions;
has xmlHashTable $.extElements;
has xmlHashTable $.extInfos;
has Str $.mode;
has Str $.modeURI;
has xsltDocument $.docList;
has xsltDocument $.document;
has xmlNode $.node;
has xmlNodeSet $.nodeList;
has xmlDoc $.output;
has xmlNode $.insert;
has xmlXPathContext $.xpathCtxt;
has int32 $.state;
has xmlHashTable $.globalVars;
has xmlNode $.inst;
has int32 $.include;
has Str $.outputFile;
has int32 $.profile;
has int64 $.prof;
has int32 $.profNr;
has int32 $.profMax;
has Pointer $.profTab;
has Pointer $._private;
has int32 $.extrasNr;
has int32 $.extrasMax;
has xsltRuntimeExtra $.extras;
has xsltDocument $.styleList;
has Pointer $.sec;
has Pointer $.error;
has Pointer $.errctx;
has Pointer $.sortfunc;
has xmlDoc $.tmpRVT;
has xmlDoc $.persistRVT;
has int32 $.ctxtflags;
has Str $.lasttext;
has uint32 $.lasttsize;
has uint32 $.lastuse;
has int32 $.debugStatus;
has uint64 $.traceCode;
has int32 $.parserOptions;
has xmlDict $.dict;
has xmlDoc $.tmpDoc;
has int32 $.internalized;
has int32 $.nbKeys;
has int32 $.hasTemplKeyPatterns;
has xsltTemplate $.currentTemplateRule;
has xmlNode $.initialContextNode;
has xmlDoc $.initialContextDoc;
has xsltTransformCache $.cache;
has Pointer $.contextVariable;
has xmlDoc $.localRVT;
has xmlDoc $.localRVTBase;
has int32 $.keyInitLevel;
has int32 $.funcLevel;
has int32 $.maxTemplateDepth;
has int32 $.maxTemplateVars;
has uint64 $.nextid;
}
class xsltNumberData is repr('CStruct') is export {
has Str $.level;
has Str $.count;
has Str $.from;
has Str $.value;
has Str $.format;
has int32 $.has_format;
has int32 $.digitsPerGroup;
has int32 $.groupingCharacter;
has int32 $.groupingCharacterLen;
has xmlDoc $.doc;
has xmlNode $.node;
# cw: Can't find a definition for xsltCompMatch, so we are limited to
# Pointer.
has Pointer $.countPat;
has Pointer $.fromPat;
}
class xsltFormatNumberInfo is repr('CStruct') is export {
has int32 $.integer_hash;
has int32 $.integer_digits;
has int32 $.frac_digits;
has int32 $.frac_hash;
has int32 $.group;
has int32 $.multiplier;
has uint8 $.add_decimal;
has uint8 $.is_multiplier_set;
has uint8 $.is_negative_pattern
}
class xsltNsList is repr('CStruct') is export {
has xsltNsList $.next;
has xmlNs $.ns;
}
class xsltVarInfo is repr('CStruct') is export {
has xsltVarInfo $.next;
has xsltVarInfo $.prev;
has int32 $.depth;
has Str $.name;
has Str $.nsName;
}
class xsltEffectiveNs is repr('CStruct') is export {
has xsltEffectiveNs $.nextInStore;
has xsltEffectiveNs $.next;
has Str $.prefix;
has Str $.nsName;
has int32 $.holdByElem;
}
class xsltPointerList is repr('CStruct') is export {
has CArray[Pointer] $.items;
has int32 $.number;
has int32 $.size;
}
class xsltPrincipalStylesheetData is repr('CStruct') is export {
has xmlDict $.namespaceDict;
has xsltPointerList $.inScopeNamespaces;
has xsltPointerList $.exclResultNamespaces;
has xsltPointerList $.extElemNamespaces;
has xsltEffectiveNs $.effectiveNs;
# cw: Part of XSLT refactor, so not included.
#has xsltNsMap $.nsMap;
}
class xsltNsAlias is repr('CStruct') is export {
has xsltNsAlias $.next;
has xmlNs $.literalNs;
has xmlNs $.targetNs;
has xmlDoc $.docOfTargetNs;
}
class xsltNsListContainer is repr('CStruct') is export {
has xmlNs $.list;
has int32 $.totalNumber;
has int32 $.xpathNumber;
}
class xsltStyleItemLRElementInfo is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
has xsltEffectiveNs $.effectiveNs;
method typeEnum {
xsltStyleType($.type);
}
}
class xsltStyleBasicEmptyItem is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
method typeEnum {
xsltStyleType($.type);
}
}
constant xsltStyleItemComment := xsltStyleBasicEmptyItem;
constant xsltStyleItemApplyImports := xsltStyleBasicEmptyItem;
class xsltStyleBasicExpressionItem is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
has Str $.select;
has xmlXPathCompExpr $.comp;
method typeEnum {
xsltStyleType($.type);
}
# From TODO in xsltInternals.h
method expression { $.select; }
method compExpr { $.comp; }
}
class xsltStyleItemElement is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
has Str $.use;
has int32 $.has_use;
has Str $.name;
has int32 $.has_name;
has Str $.ns;
has Str $.nsPrefix;
has int32 $.has_ns;
method typeEnum {
xsltStyleType($.type);
}
}
class xsltStyleItemAttribute is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
has Str $.name;
has int32 $.has_name;
has Str $.ns;
has Str $.nsPrefix;
has int32 $.has_ns;
method typeEnum {
xsltStyleType($.type);
}
}
class xsltStyleItemText is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
has int32 $.noescape;
method typeEnum {
xsltStyleType($.type);
}
}
class xsltStyleItemUknown is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
method typeEnum {
xsltStyleType($.type);
}
}
class xsltStyleItemPI is repr('CStruct') is export {
# cw: XSLT ITEM COMMON FIELDS
has xsltElemPreComp $.next;
has int32 $.type;
has Pointer $.func;
has xmlNode $.inst;
has xsltNsListContainer $.inScopeNs;
has Str $.name;
has int32 $.has_name;
method typeEnum {
xsltStyleType($.type);
}
}
class xsltKeyTable is repr('CStruct') is export {
has xsltKeyTable $.next;
has Str $.name;
has Str $.nameURI;
has xmlHashTable $.keys;
}
class xsltKeyDef is repr('CStruct') is export {
has xsltKeyDef $.next;
has xmlNode $.inst;
has Str $.name;
has Str $.nameURI;
has Str $.match;
has Str $.use;
has xmlXPathCompExpr $.comp;
has xmlXPathCompExpr $.usecomp;
has xmlNs $.nsList;
has int32 $.nsNr;
}
enum xsltErrorSeverityType is export (
XSLT_ERROR_SEVERITY_ERROR => 0,
'XSLT_ERROR_SEVERITY_WARNING'
);
class xsltCompilerNodeInfo is repr('CStruct') is export {
has xsltCompilerNodeInfo $.next;
has xsltCompilerNodeInfo $.prev;
has xmlNode $.node;
has int32 $.depth;
has xsltTemplate $.templ;
has int32 $.category;
has int32 $.type;
has xsltElemPreComp $.item;
has xsltNsListContainer $.inScopeNs;
has xsltPointerList $.exclResultNs;
has xsltPointerList $.extElemNs;
has xsltStyleItemLRElementInfo $.litResElemInfo;
has int32 $.nsChanged;
has int32 $.preservedWhitespace;
has int32 $.isRoot;
has int32 $.forwardsCompat;
has int32 $.extContentHandled;
has int32 $.curChildType;
method curChildTypeEnum {
xsltStyleType($.curChildType);
}
method typeEnum {
xsltStyleType($.type);
}
}
# XXX-XXX-XXX
#
# cw: This is probably the REFACTORED definition of xsltCompilerCtxt.
# will need to check and redefine if so!
class xsltCompilerCtxt is repr('CStruct') is export {
has Pointer $.errorCtxt;
has int32 $.errSeverity;
has int32 $.warnings;
has int32 $.errors;
has xmlDict $.dict;
has xsltStylesheet $.style;
has int32 $.simplified;
has int32 $.depth;
has xsltCompilerNodeInfo $.inode;
has xsltCompilerNodeInfo $.inodeList;
has xsltCompilerNodeInfo $.inodeLast;
has xsltPointerList $.tmpList;
has int32 $.isInclude;
has int32 $.hasFowardsCompat;
has int32 $.maxNodeInfos;
has int32 $.maxLREs;
has int32 $.strict;
has xsltPrincipalStylesheetData $.psData;
#has xmlXPathContext $.xpathCtxt;
has xsltStyleItemUknown $.unknownItem;
has int32 $.hasNsAliases;
has xsltNsAlias $.nsAliases;
has xsltVarInfo $.ivars;
has xsltVarInfo $.ivar;
}
}