- From: Hassan Ait-Kaci <hak@ilog.com>
- Date: Wed, 1 Oct 2008 01:41:09 -0700
- To: "Stella Mitchell" <cleo@us.ibm.com>
- Cc: "RIF WG" <public-rif-wg@w3.org>
- Message-ID: <9FC9C6B2EA71ED4B826F55AC7C8B9AAB01F336BF@mvmbx01.ilog.biz>
Hi Stella,
I appreciate the time and effort you are spending learning how to use
Jacc. I think it'll be worth your (and this WG's) time in the long run.
Re: your questions, my answers are below. I also updated the BLD->XML
(meta-)compiler release on my web page with modified grammar annotations
as per your needs (see the *.grm files). The new zipped bundle is in:
http://wikix.ilog.fr/wiki/pub/Main/HassanAitKaci/ilog.rif.bld-v0.1.zip.
One last remark (and request): as I was (but vainly) trying to explain
yesterday during the telecon, I am currently hard-pressed not having time
on my hands to maintain an obsolete version vs. trying to develop a new
version (with still a few tricky parts remaining to program). Even though
I try to do my best time-sharing among all my activities, this RIF thing
is now taking more time that I can reasonably spare. So, again, I would
like to focus on the new version as soon as possible.
At any rate, the release that I have made (for the previous BLD version)
cannot yet handle namespace declarations such as the 4th one you want
- i.e., xsi:schemaLocation - see comments below). The other things you
needed are simple to do.
> So, instead of :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <rif:document xmlns:rif="http://www.w3.org/2008/rif">
> <Group>
> .......
> </Group>
> </Document>
>
> I would like:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <rif:document xmlns:rif="http://www.w3.org/2008/rif">
> <payload>
> <Group>
> .......
> </Group>
> </payload>
> </Document>
>
> Could you tell me how to do this by modifying the .grm files?
Yes. Edit source/BLD.grm and change the rule:
/**
* Root grammar rule for Basic Logic Dialect (BLD):
*/
RifDocument
: Group
{ showXml(); } // show the XML tree
;
to the pair of rules:
/**
* Root grammar rule for Basic Logic Dialect (BLD):
*/
RifDocument
: OuterDocument
{ showXml(); } // show the XML tree
;
OuterDocument
: Group
[ L:"payload" C:(1) ]
;
> Also, I'd like to change:
>
> <rif:document xmlns:rif="http://www.w3.org/2008/rif">
>
> to
>
> <Document
> xmlns="http://www.w3.org/2007/rif#"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xs="http://www.w3.org/2001/XMLSchema#"
> xsi:schemaLocation= "http://www.w3.org/2007/rif# http://www.jdrew.org/rif/bld/LC/BLDRule.xsd">
>
> For this, I'm not sure how to achieve the 1st and 4th attributes
> (default namespace, and schema location)
Still in source/BLD.grm, change the 'xmlroot' annotation:
// Define the XML tree root element to be 'rif:document':
%xmlroot "rif" "document"
to:
// Define the XML tree root element to be 'Document':
%xmlroot "Document"
Regarding the 3 first of the 4 namespace declarations that you need,
simply specify the following 'xmlns' annotations in source/BLD.grm:
// Declare the 'rif', 'xsi', and 'xs' XML namespaces:
%xmlns "rif" "http://www.w3.org/2007/rif#"
%xmlns "xsi" "http://www.w3.org/2001/XMLSchema-instance"
%xmlns "xs" "http://www.w3.org/2001/XMLSchema#"
As for the 4th one, the released system cannot (yet?) handle those. As
a matter of fact, I have yet to understand what this is used for. It is
easy to introduce in the next release. For now, sorry - comment it out.
Note also that relative IRI's are not (yet?) handled; so the "rif"
namespace declaration above is not the same as the Base pragma of the
current version.
Finally, I also updated the Jacc documentation in the release to also
describe the XML annotation commands (they were missing from the
previous released Jacc doc).
Thanks again, and good luck!
-hak
PS/ Please read the annotation manual in docs/JaccXmlAnnotationManual.pdf.
--
Hassan Aït-Kaci * ILOG, Inc. - Product Division R&D
http://koala.ilog.fr/wiki/bin/view/Main/HassanAitKaci
-----Original Message-----
From: Stella Mitchell [mailto:cleo@us.ibm.com]
Sent: Wed 10/1/2008 2:33 AM
To: Hassan Ait-Kaci
Subject: Re: side/side vs. left/right
Hi Hassan,
Thanks for this. I was able to make several changes
in the output XML, but I'm having trouble wrapping the
outermost <group> with <payload>.
So, instead of :
<?xml version="1.0" encoding="UTF-8"?>
<rif:document xmlns:rif="http://www.w3.org/2008/rif">
<Group>
.......
</Group>
</Document>
I would like:
<?xml version="1.0" encoding="UTF-8"?>
<rif:document xmlns:rif="http://www.w3.org/2008/rif">
<payload>
<Group>
.......
</Group>
</payload>
</Document>
Could you tell me how to do this by modifying the .grm files?
Also, I'd like to change:
<rif:document xmlns:rif="http://www.w3.org/2008/rif">
to
<Document
xmlns="http://www.w3.org/2007/rif#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema#"
xsi:schemaLocation= "http://www.w3.org/2007/rif#
http://www.jdrew.org/rif/bld/LC/BLDRule.xsd">
For this, I'm not sure how to achieve the 1st and 4th attributes
(default namespace, and schema location)
Thanks,
Stella
"Hassan Ait-Kaci" <hak@ilog.com>
Sent by: public-rif-wg-request@w3.org
09/30/2008 11:53 AM
To
<public-rif-wg@w3.org>
cc
"harold boley" <Harold.Boley@nrc-cnrc.gc.ca>
Subject
side/side vs. left/right
Regarding Harold's and Christian's worry to have an up-to-date XML
vocabulary
for the RIF->XML compiler I delivered, if you read the provided
documentation
of the tool that I delivered already, you will realize that can update the
type
of XML patterns that are generated for the syntax simply by editing the
file
BLC.grm located in subdirectory sources/. Simply change:
Equal
: Term EQUAL Term
[ L:"Equal" C:(side.1 side.3) ]
;
to:
Equal
: Term EQUAL Term
[ L:"Equal" C:(left.1 right.3) ]
;
and recompile (i.e., do "ant all"). That's all. The same for
other changes that you wish can of couse be done.
The *whole point* of my tool is that it allows one to easily change the
format of
the generate XML. So I am not needed for such changes...
-hak
--
Hassan Aït-Kaci * ILOG, Inc. - Product Division R&D
http://koala.ilog.fr/wiki/bin/view/Main/HassanAitKaci
Received on Wednesday, 1 October 2008 08:41:54 UTC