Re: convert text in xml wel form

2003-01-31 Thread jtacaoio

Hi Angelo, 

You can convert structured text to XML with Chaperon parser generator 
(a parser because it parses the text and generator because it creates 
an XML document) which is integrated in cocoon as a generator.

See for more details:
http://chaperon.sourceforge.net/
http://xml.apache.org/cocoon/howto/chaperon/howto-chaperon-intro.html

My sitemap example:
map:match pattern=MAST_TXT2MAST_XMLresponse
map:act type=myFileUpload !--action for getting the uploaded 
text file, returning fileName in {src} sitemap parameter--
map:parameter name=file-name value=mast/ !--file-name 
attribute in the HTML form--
map:generate type=textparser src={src} !--
text2chaperonXML--
map:parameter name=grammar value=cocoon:/mast-
out.grm/ !--the grammar describing my text file structure and 
vocabulary--
map:parameter name=includeignorabletokens value=true/
/map:generate
map:transform src=stylesheets/chaperon2mastXML.xsl/ !--
chaperonXML2myXML--
map:transform type=myAddDocDB !--save XML to eXist--
map:parameter name=dom-name value=DBresult/
map:parameter name=dom-root-element value=Mast_Result/
map:parameter name=collection value=/Ruben/
map:parameter name=id value=Robot_Teleoperado.xml/
/map:transform
map:transform type=xalan src=stylesheets/simple-
xml2html.xsl/ !--visualize XML in Mozilla--
map:serialize/
/map:act
/map:match

map:match pattern=*.grm !--convert txt grammar to xml grammar--
map:generate type=textparser src=grammars/{1}.rgrm
map:parameter name=grammar value=grammars/rgrm.grm/
/map:generate
map:transform src=stylesheets/rgrm2grm.xsl/
map:serialize type=xml/
/map:match

Oskar


 --- Reçu de   INFETUDE.G145193 02/250.96.71  30-01-03 
08.25
 
 Hi,
 
 I am beginner with cocoon.
 I want convert a file text in xml wel form.
 The string text is
   .SE NAME 'toto   '
   .SE ADRESS 'xxyy jj'
   .SE TEL '01236547'
 ...
 I want convert data in xml
   NAMEtoto/NAME
   ADRESSxxyy jj/ADRESS
   TEL01236547/TEL
 ...
 It's possible??
 Are you a sample of this use (sitemap and stylesheet)
 
 Thanks.
 Angelo
 
  30-01-03 08.25  Envoyé à  ---
-
   - [EMAIL PROTECTED]
 
 
 **
 This email and any files transmitted with it are confidential and
 intended solely for the use of the individual or entity to whom they
 are addressed. If you have received this email in error please notify
 the system manager.
 
 
 [EMAIL PROTECTED]
 ***
 
 
 -
 Please check that your question  has not already been answered in the
 FAQ before posting. http://xml.apache.org/cocoon/faq/index.html
 
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail:   [EMAIL PROTECTED]
 
 





-
Please check that your question  has not already been answered in the
FAQ before posting. http://xml.apache.org/cocoon/faq/index.html

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:   [EMAIL PROTECTED]




Re: Schematron transform in a Cocoon pipeline

2003-01-22 Thread jtacaoio

Jack,

I also use it to validate uploaded documents. First, when cocoon 
receives the document, I applied to it the first validation step with 
the parser (inside the generator): the parser will check that the 
document is well formed and valid according to a certain W3C XML 
Schema. But there are some verifications which can't be done with the 
schema, so for them I use the Schematron which is embedded in the W3C 
Schema.

map:match pattern=validationRequest
map:generate src=forms/sendDocument.xml/
map:transform src=stylesheets/wizard2html.xsl/
map:transform src=stylesheets/xmlform2html.xsl/
map:serialize/
/map:match

map:match pattern=validationResponse
map:generate type=myStream
map:parameter name=file-name value=document/
map:parameter name=validation value=true/
/map:generate
map:transform src=cocoon:/schematron2compiledSchematron/
map:transform src=stylesheets/schematronError2error.xsl/
map:transform src=stylesheets/error2html.xsl/
map:serialize/
/map:match

map:match pattern=schematron2compiledSchematron
map:generate src=schemas/berta.xsd/
map:transform type=xalan src=stylesheets/getSchematron.xsl/
map:transform type=xalan src=stylesheets/skeleton1-5.xsl/
map:serialize type=xml/
/map:match

Now, as Jeff Turner suggested in http://marc.theaimsgroup.com/?l=xml-
cocoon-usersm=104308827116656w=2 , I'm thinking on moving the W3C 
schemaValidation from the generator to a transformer 
(ValidationTransformer), using JARV.

Oskar

 Oskar,
 
 Excellent suggestion.  The XPATH of the error would be very useful for
 debugging.  What applications of Schematron have you done within 
Cocoon?
 So far, I'm using it to validate uploaded documents.
 
 -- jack
 
  
  Hi Jack,
  
  I have done the same to validate an XML document with an 
schematron. I think
  that it would be also useful to get the XPATH path of the errors in 
the XML
  output. The template which does this is done in skeleton1-5 
(axsl:template
  match=*|@* mode=schematron-get-full-path); so you have to call 
it from
  the assert template:
  
  xsl:template match=sch:assert | assert
  xsl:if test=not(@test)
  xsl:messageMarkup Error: no test attribute in
  assert/xsl:message
  /xsl:if
  axsl:choose
  axsl:when test={@test}/
  axsl:otherwise
  error !--my xml output--
  message !--my xml output--
  xsl:call-template name=process-assert
  xsl:with-param name=role select=@role/
  xsl:with-param name=id select=@id/
  xsl:with-param name=test
  select=normalize-space(@test) /
  xsl:with-param name=icon select=@icon/
  xsl:with-param name=subject 
select=@subject/
  xsl:with-param name=diagnostics
  select=@diagnostics/
  /xsl:call-template
  /message
  location !--my xml output--
  axsl:apply-templates mode=schematron-get-full-
path
  select=self::*/ !--XPATH path of the error--
  /location
  /error
   /axsl:otherwise
  /axsl:choose
  /xsl:template
  
  Oskar
  
  - Original Message -
  From: John R. Callahan [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Tuesday, January 21, 2003 9:58 PM
  Subject: Schematron transform in a Cocoon pipeline
  
  
   This seems too simple, but I wanted to see if I could
   use Schematron generated XSLT to validate some
   XML in a Cocoon pipeline.  This might be used for
   validating uploaded  XML files for example.
  
   I downloaded the latest Schematron skeleton (1.5),
   then generated some XSLT from a set of assertions,
   and then put it into a transform in a pipeline with some
   data:
  
   map:match pattern=*.xml
 map:generate src={1}.xml/
 map:transform src=asserts1.xsl/
 map:serialize type=xml/
   /map:match
  
   !-- build the Schematron generated XSLT --
   map:match pattern=asserts1.xsl
 map:generate src=asserts1.sch/
 map:transform src=skeleton1-5.xsl/
 map:transform src=store.xsl
 map:parameter name=file value=asserts1.xsl/
 map:parameter name=dir value=./
 /map:transform
 map:transform type=write-source/
 map:serialize type=xml/
   /map:match
  
   (see below for the source code for store.xsl)
  
   Unfortunately, the Schematron skeleton puts out plain
   text messages so the output from data1.xml isn't well-formed
   XML.  What I wanted was a series of applicable
   Schematron messages as XML output.  So, I altered
   the skeleton somewhat and now I works!
  
   My alterations to the skeleton were pretty simple:
  
   (1)  Add the following template:
  
   xsl:template match=sch:error | error mode=text
xsl:copy-of select=./
   /xsl:template
  
   (2) Wrap a sch:results around the / template:
  
 axsl:template match=/
 sch:results