XPROC p:file-mkdir not found - xproc

I'm using XPROC and the XPROC Processor MorganaXProc-IIIse. I'm actually just trying to create a directory through XPROC. However, all I get is this error message:
No visible declaration for '{http://www.w3.org/ns/xproc-step/filesystem}file-mkdir' found: Check spelling, imports or #use-when values.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:pf="http://www.w3.org/ns/xproc-step/filesystem" name="pipeline" version="3.0">
<p:variable name="base.dir" select="'.'"/>
<pf:file-mkdir href="${basedir}/lib"/>
</p:declare-step>
Since documentation is very limited, any hint is appreciated.
Thanks

In the context of XProc 3, the file-mkdir step is in the namespace http://www.w3.org/ns/xproc so using the prefix p your pipeline declares for that should work: <p:file-mkdir href="${basedir}/lib"/> instead of <pf:file-mkdir href="${basedir}/lib"/>.

Related

Why does my query report "Steps within a path expression must yield nodes"?

I'm relatively new to XQuery and I'm using a XML with the following format (MODSXML):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<modsCollection xmlns="http://www.loc.gov/mods/v3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.loc.gov/mods/v3
http://www.loc.gov/standards/mods/v3/mods-3-0.xsd">
<mods ID="ISI:000330282600027" version="3.0">
<titleInfo>
<title>{Minimum Relative Entropy for Quantum Estimation: Feasibility and General
Solution}</title>
</titleInfo>
I'm trying to retrieva all titles of the articles contained on the XML file. The expression I'm using is the following:
for $x in collection("ExemploBibtex")/"quantuminformation.xml"/modsCollection/mods/titleInfo/title
return <title>$x/text()</title>
When I try to run this expression on Base, I get the following error:
"[XPTY0019] Steps within a path expression must yield nodes; xs:string
found."
Can anybody tell me what's wrong? The result I was expecting was a list with all the titles in the document.
Okay, problem solved in the BaseX Mailing List :D
I needed to declare the namespace. So now I'm using:
declare namespace v3 ="http://www.loc.gov/mods/v3";
for $doc in collection('ExemploBibtex')
where matches(document-uri($doc), 'quantuminformation.xml')
return $doc/v3:modsCollection/v3:mods/v3:titleInfo/v3:title/text()
And it works.
The problem is here:
collection("ExemploBibtex")/"quantuminformation.xml"/modsCollection
This returns a string with content quantuminformation.xml for each file/root node in the ExemploBibtex collection, and then tries to perform an axis step on each of these strings -- which is not allowed.
It seems you want to access to document quantuminformation.xml within the collection ExemploBibtex. To open a specific file of a collection, use following syntax instead:
collection("ExemploBibtex/quantuminformation.xml")/modsCollection
I cut of the last axis steps for readability and keeping the code lines short; simply add them again, they're fine.

QTIFW wizardstyle

Having some trouble setting a WizardStyle in QTIFW I have read the documentation and cant understand why the following doesn't work.
<'WizardStyle>Mac<'/WizardStyle>
<'Background>logo.png<'Background>
(Obviously excluding ' char)
Qt Documentation:
Background - Filename for an image used as QWizard::BackgroundPixmap
(only used by MacStyle). WizardStyle - Set the wizard style to be used
("Modern", "Mac", "Aero" or "Classic").
I get the following error:
Caught exception: Error in config\config.xml, line 8, column 17: Unexpected element 'WizardStyle'
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>Dave Installer</Name>
<Version>1.2.3</Version>
<Title>Dave Installer</Title>
<Publisher>Dave</Publisher>
<Icon>qticon</Icon>
<WizardStyle>Mac</WizardStyle>
<Background>logo.png</Background>
<StartMenuDir>Super App</StartMenuDir>
<TargetDir>#RootDir#InstallationDirectory</TargetDir>
<RunProgram>#TargetDir#/qt</RunProgram>
<RunProgramDescription>Qt Installer</RunProgramDescription>
</Installer>
According to comments made in bug 470 and 452, the WizardStyle tag implementation never made it into the v1.5 release (at least the compiled binary). So you'll have to get a later release (the master is at ~v2.0).

Source port with default fallback value?

I have an XProc step where I would like the input source to work like this:
if a URL is provided on the command line using -isource=foo.xml, then the document at that URL is used as the source document;
if no URL is provided, then the document default.xml should be used.
Is it possible to obtain this behaviour in XProc?
As suggested by Florent on the XProc mailing list, using a p:document inside the p:input works just fine as a default. Specifying something else from outside simply overrides it:
<p:declare-step version="1.0" xmlns:p="http://www.w3.org/ns/xproc"
name="main">
<p:input port="source">
<p:document href="default.xml"/>
</p:input>
<p:output port="result"/>
<p:identity/>
</p:declare-step>
Run it with:
calabash test.xpl
and:
calabash --input source=myinput.xml test.xpl
to see the difference..
HTH!

XForms bind element error

I am changing my code to use binds in XForms (which is better practice than using nodesets everywhere!) but I am getting errors.
The error message I receive is: "Error: XForms Error (8): id (data_criterion) does not refer to a bind element..."
From tutorials/guides I have been using, it seems as though this should work, but clearly I am missing something! (btw, I was modeling my binding code after the examples here: http://en.wikibooks.org/wiki/XForms/Bind)
I originally thought the problem was due to the fact I was using xf:select controls as opposed to xf:input like the examples, but even once I dumbed down my code to the most simplistic code, I still receive errors!
This is the model code I am using:
<xf:model id="select_data">
<xf:instance id="criteria_data" xmlns="">
<file>
<criteria>
<criterion></criterion>
</criteria>
</file>
</xf:instance>
<bind id="data_criterion" nodeset="instance('criteria_data')/criteria/criterion"/>
</xf:model>
As for the ui code, this is what I have:
<xf:input bind="data_criterion">
<xf:label>Enter criteria:</xf:label>
</xf:input>
The error message I receive is: "Error: XForms Error (8): id (data_criterion) does not refer to a bind element..."
Anyone have any insight to what the problem is? Also, is there any special usage of bindings and xf:select (with xf:itemset) controls that I should be aware of? (I am ultimately using a lot of xf:select controls on my form..)
Thanks in advance!
EDIT:
I ran the code through this validator, and I got this message (refers to the bind line):
"Warning: Should the following element have the XForms namespace applied?: bind (line 66)"
A couple of things you might want to change:
Not sure of this is the reason for the error, but the nodeset expression should be instance('criteria_data')/criteria/..., without file. Remember: instance() returns the root element, not the document node. (This one you took care by updating the question; good)
You are missing the xf on the bind. It should be: <xf:bind id="data_criterion" nodeset="instance('criteria_data')/criteria/criterion"/>.
See below a full example with your code, which works fine for me under Orbeon Forms:
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner">
<xhtml:head>
<xhtml:title>SO Bind</xhtml:title>
<xf:model id="select_data">
<xf:instance id="criteria_data" xmlns="">
<file>
<criteria>
<criterion>Gaga</criterion>
</criteria>
</file>
</xf:instance>
<xf:bind id="data_criterion" nodeset="instance('criteria_data')/criteria/criterion"/>
</xf:model>
</xhtml:head>
<xhtml:body>
<xf:input bind="data_criterion">
<xf:label>Enter criteria:</xf:label>
</xf:input>
</xhtml:body>
</xhtml:html>

problem integrating flex with spring

cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'flex:remoting-destination
i got this error when i tried to build my file
i wrote the 'flex:remoting-destination' in a web-application-config file
can any one help me regarding this.
You probably forgot to declare the flex namespace.
Paste this at the top of your web-application-config.xml (noting the xmlns:flex part):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:flex="http://www.springframework.org/schema/flex"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
i just want to add little information to #bart
it will work only when the version of the spring flex is matched..
for these shchema defination version number is important
for spring flex 1.5.2 you should give the version as 1.5 instead of 1.0
similarly spring 3.2.1 you should give 3.2 instead of 2.5

Resources