Phew, there was a bug! It was about handling default namespace. I fixed it in master.
https://github.com/mono/mono/commit/3d9a2b7

Until you get the fixed version, a workaround is to put explicit declaration on top:
default namespace = ""

Atsushi Eno

On 2014年10月24日 06:14, Jesper Lund Stocholm wrote:
Hi Atsushi,

Thank you for your reply.

I finally got it to work.

Now, I have tried to do make an RNC-equivalent to the RNG-schema I made. The 
RNC-schemas is this:

element library
{
   element book
   {
     attribute id {xsd:ID},
     attribute available {xsd:boolean},
     element isbn {token - "12345"},
     element title {attribute xml:lang {xsd:language}, xsd:token},
     element year {xsd:integer}
   }+
}

As far as I can see, it /should/ validate XML like this:

<?xml version="1.0" encoding="utf-8"?>
<library>
   <book id="b0836217462" available="true">
     <isbn>37474739292</isbn>
     <title xml:lang="en">Being a Dog Is a Full-Time Job</title>
     <year>2014</year>
   </book>
   <book id="b0836wew217462" available="false">
     <isbn>1234</isbn>
     <title xml:lang="en">Relax NG - a simpler schema language for XML</title>
     <year>2020</year>
   </book>
</library>

But I cannot get past an exception saying that

Commons.Xml.Relaxng.RelaxngException: Invalid start tag closing found. LocalName
  = library, NS = .file:///C:/projects/monodemo/MonoDemo/bin/Debug/bookstore.xml
line 2, column 2


Is the answer to this as simple as the reply you gave me earlier ... and am I 
missing something completely obvious?

Project available here: 
https://bitbucket.org/jlundstocholm/monodemo/src/1d1b2e1eeeb50f87aa3f6a3bfa6a6366d96f4e74?at=master

:o)

Jesper Lund Stocholm



-----Original Message-----
From: Atsushi Eno [mailto:atsushi...@veritas-vos-liberabit.com]
Sent: 23. oktober 2014 17:14
To: Jesper Lund Stocholm; mono-list@lists.ximian.com
Subject: Re: [Mono-list] Problems using RelaxngValidatingReader (c#)

Hello,

An <element> has to contain one ore more pattern, 
https://www.oasis-open.org/committees/relax-ng/spec.html#full-syntax

which is missing in your <element name='book'></element>.
Specify <empty/> there.

Atsushi Eno

On 2014年10月21日 15:15, Jesper Lund Stocholm wrote:
I am trying to use the RelaxngValidatingReader (located at 
mcs/class/Commons.Xml.Relaxng/ ) but I am getting errors that I cannot 
understand.

(if this is the wrong list, please let me know the correct one - I
couldn't find a better match)

I have made a simple C# console application in Visual Studio - I am
using sample data from the Relax NG book by Eric van der Vlist)

My code is this:

var rngPattern = Encoding.UTF8.GetBytes(

@"
<element name='library' xmlns='http://relaxng.org/ns/structure/1.0'>
      <oneOrMore>
          <element name='book'></element>
      </oneOrMore>
</element>"
);

var stream = new MemoryStream(rngPattern);

stream.Position = 0;
var xmlReader = XmlReader.Create(stream); var pattern0 =
RelaxngPattern.Read(xmlReader);

My Xml is this:

<?xml version="1.0" encoding="utf-8"?> <library
xmlns="http://tempuri.org";>
    <book id="b0836217462" available="true">
      <isbn>37474739292</isbn>
      <title xml:lang="en">Being a Dog Is a Full-Time Job</title>
      <author id="CMS"></author>
      <character id="PP"></character>
      <character id="Snoopy"></character>
      <character id="Schroeder"></character>
      <character id="Lucy"></character>
    </book>
</library>

But whenever I get to the last line in my code, an exception is thrown :

Commons.Xml.Relaxng.RelaxngException: RELAX NG pattern did not appear.


Can you help me closer to the cause of this? Is it a namespace issue?




Med venlig hilsen / Best regards

Jesper Lund Stocholm
mailto:jesper.stoch...@ciber.com
www.ciber.com



_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list



_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list

_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to