$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Oliver.Kowalke_at_[hidden]
Date: 2007-07-16 02:05:52
Optional class 'comment' wich can occure in arbitrary position- my
thoughts.
Oliver
> My concern, as I indicated in the other thread, is that
> 1)
> <?xml version="1.0"?>
> <article_info isbn="foo">
>        <title>bar</title>
>        <author>Testy McTest</author>
> </article_info>
> 
> 2)
> <?xml version="1.0"?>
> <article_info isbn="foo">
>        <!--Title goes here-->
>        <title>bar</title>
>        <author>Testy McTest</author>
> </article_info>
> 
> and 3)
> <?xml <!-- Prolog tag--> version="1.0"?> <article_info isbn="foo">
>        <!-- Author goes here -->
>        <author>Testy McTest</author>
>        <!-- Title goes here -->
>        <title>bar</title>
>        <!-- Maybe we could add more later--> </article_info>
> 
> are all valid XML documents, and represent the same data. If 
> this library were solely to be used for writing, I would say 
> that this is not an issue.
> However, what is written must be read.
> 
> The thing I don't understand about the type-safety proposals 
> is how they intend to take into account data that is read 
> from a file. Suppose we write a program to neatly display XML 
> data from any generic XML file:
> 
>    boost::xml my_doc_reader(filename);
> 
> would certainly be a step, and I would expect it to contain a 
> full XML tree after this step is said and done with no extra 
> intervention. The XML library certainly can't instantiate the 
> proper structs in memory if we don't know what they are. Do 
> they exist solely for writing the document?
> 
> To me, type safety is a more specific problem than what the 
> XML standard deals with. Yet, it is a common enough problem 
> to warrant a library solution.
> 
> Perhaps:
>   public typesafe_xml: public xml
>   {
> 
>   };
> 
> that requires you to define the document structure in class 
> format, and can throw runtime exceptions when a document is 
> read in with the wrong format?
> 
> Jake
> 
> On 7/13/07, Oliver.Kowalke_at_[hidden] 
> <Oliver.Kowalke_at_[hidden]> wrote:
> >
> > > > I would do it over templates - than it's type safe and a
> > > part of the
> > > > xml validation can be done at compile time.
> > > >
> > > > typedef tag<
> > > >         mpl::vector< title, author >    // tags
> > > >         mpl::vector< isbn > // atributes
> > > > >       article_info;
> > >
> > >
> > > I hadn't considered compile-time type safety when I wrote 
> my above 
> > > example.
> > > However, I feel an example like this might also preclude XML 
> > > features like comments. If we were to parse an existing article:
> > >
> > >   <article_info isbn="foo">
> > >       <!--Article information goes here-->
> > >       <title>bar</title>
> > >       <author>Testy McTest</author>
> > >   </article_info>
> > >
> > > your definition doesn't immediately make it clear that 
> the comment, 
> > > when parsed, ends up in the document tree. I may, 
> however, just be 
> > > missing something. Complicating matters, according to the 
> standard, 
> > > they can also appear within the document type declaration, so 
> > > comments significantly complicate the matter:
> > > http://www.w3.org/TR/REC-xml/#sec-prolog-dtd
> > >
> > > And the standard also lists retrieval of comment text as optional:
> > > http://www.w3.org/TR/REC-xml/#sec-comments
> > >
> > > But I think that a Boost.XML library should support the 
> retrieval of 
> > > the text of comments.
> >
> > I believe that comments could be supported with a typesafe 
> > implementation.
> > I don't know where you see problems with comments - 
> article_info could 
> > contain optional instances of comment-class.
> >
> > Oliver
> > _______________________________________________
> > Unsubscribe & other changes:
> > http://listarchives.boost.org/mailman/listinfo.cgi/boost
> >
> _______________________________________________
> Unsubscribe & other changes: 
> http://listarchives.boost.org/mailman/listinfo.cgi/boost
>