|
|
|
date: Mon, 30 Jun 2008 13:45:00 -0700,
group: microsoft.public.dotnet.xml
back
Re: Big picture questions - cleanest method for creating an XML fi
I don't mean to be rude but I'm afraid I didn't understand much your reply.
This, so far as I know, is not a standard Dot Net situation. The purpose of
the program, if it ever gets written, is to extract data from an Excel
spreadsheet and plug it into a standalone XML file. I'm afraid I've been
given very little of the big picture. I think it eventually gets fed into
some mainframe system.
"Joe Fawcett" wrote:
> As to the header you shouldn't need to add it. It is created when the
> document is serialised and isn't always needed, it depends on the encoding
> used.
> I agree that creating documents by dozens of CreateXXX statements is not
> nice.
> How changeable are the documents. I often start with a template, either a
> string constant, in a resource file or an actual file and load this first.
> Then I alter it as needed.
>
>
> --
>
> Joe Fawcett (MVP - XML)
>
> http://joe.fawcett.name
>
> "B. Chernick" wrote in message
> news:D332B170-4DDF-4D4B-9F8E-A4B233E7C652@microsoft.com...
> >I am not accustomed to creating xml files programmatically. The big
> >picture
> > is this: This will be in VB/VS 2005/ winforms. I have a DTD, a sample
> > XML,
> > and an outside data source I will use to populate the XML. In general I
> > think I know how to create elements and attributes and I'm sure I can hack
> > something together but I'm wondering if I'm missing (or forgetting) a
> > better
> > way (other than a long line of hard-coded CreateElement commands).
> > Suggestions please.
> >
> > -----
> >
> > A related problem: the XML header, for lack of a better term. If we
> > assume
> > creation of an XmlDocument object from scratch, how do I add the header
> > elements? I cannot find any discussion of this. (Feel free to correct my
> > terminology.)
> >
> > This is what I'm referring to -
> >
> > <?xml version="1.0" encoding="utf-8" ?>
> > <!DOCTYPE SOME TEXT "DTDName.dtd">
> > <?xml-stylesheet href="SampleXml.xslt" type="text/xsl" ?>
> >
>
>
>
date: Tue, 1 Jul 2008 05:45:02 -0700
author: B. Chernick
Re: Big picture questions - cleanest method for creating an XML fi
> As for .NET, it has support for validating an XML document against a DTD
> but besides that its API are pretty much focussed on W3C XML schemas.
Pretty much as I suspected. Getting approval for 3rd party tools is
problematic as well, especially for adhoc projects. :-)
On an earlier point, the use of WriteDocType, I am ready to tear my hair
out. I have this code and I cannot get it to work. I keep getting the error
'The '' character, hexiadecimal value 0x20, cannot be included in a name.'
Frankly I'm out of my league here. I cannot find any reference for the error
or WriteDocType that I can understand. Here's my test code:
Dim w As XmlWriter = XmlWriter.Create("Out.xml")
w.WriteStartDocument()
w.WriteDocType("SOME TEXT", Nothing, Nothing, "DTDName.dtd")
w.Close()
I've tried a number of variations on that including """DTDName.dtd""". What
do I have to do to get this one simple line of xml out to the file?
<!DOCTYPE SOME TEXT "DTDName.dtd">
Thanks
"Martin Honnen" wrote:
> B. Chernick wrote:
>
> > (I would have to translate the DTD manually, right? There's no wizard or
> > utility for such a conversion? If I am not mistaken, DTDs obsolete and
> > there's little or no support for them in Dot Net?)
>
> There are tools like Xml editors
> (http://www.stylusstudio.com/dtd/convert_dtd_to_schema.html) or Trang
> (http://www.thaiopensource.com/relaxng/trang.html) that can translate a
> DTD to a W3C schema.
>
> As for .NET, it has support for validating an XML document against a DTD
> but besides that its API are pretty much focussed on W3C XML schemas.
>
> --
>
> Martin Honnen --- MVP XML
> http://JavaScript.FAQTs.com/
>
date: Tue, 1 Jul 2008 07:30:02 -0700
author: B. Chernick
Re: Big picture questions - cleanest method for creating an XML fi
B. Chernick wrote:
> "So I suggested that start with an XML template that matched the schema and
> then make alterations to it based on the external data."
>
> Thanks but once again, I have no idea what you just said. I have no idea
> what an XML Template is either or how to use it, and the only reference I can
> find in Help has something to do with SQL Server. Is there an actual demo
> you can point me to that illustrates your suggestion? Perhaps this is purely
> a matter of terminology.
Imagine you need to create XHTML documents, instead of starting from
scratch and each time creating the html element, the head element, the
body element you could simply create an XHTML document already
containing the html, the head, and the body element and use that as a
"template", meaning you would use System.Xml.XmlDocument and load that
"template" document and then use the DOM to manipulate it as needed
(e.g. add the title, add headings, add paragraphs) and save as needed.
That is all what Joe tried to suggest, at least if I understand him
correctly. So the XML "template" is nothing but an XML file with the
structure you need for all your XML documents you want to create.
--
Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
date: Wed, 02 Jul 2008 13:18:22 +0200
author: Martin Honnen
Re: Big picture questions - cleanest method for creating an XML fi
Ok. Now I think I see. In a manner of speaking, I've already done that.
It's easy enough to load an existing file. You mean load the doc and search
for the various elements in order to change their values?
(I use bits and pieces of XML technology as needed and I try to learn new
things but I feel there is some central concept I have yet to discover, let
alone master. Business as usual.)
As long as we are on the subject of 'templates', refresh my memory. If I
am creating a VS2005 VB Winforms project, it is possible to include an
existing XML file as a file of the project. However I see no simple to
access it programmatically. Am I forgetting something?
"Martin Honnen" wrote:
> B. Chernick wrote:
> > "So I suggested that start with an XML template that matched the schema and
> > then make alterations to it based on the external data."
> >
> > Thanks but once again, I have no idea what you just said. I have no idea
> > what an XML Template is either or how to use it, and the only reference I can
> > find in Help has something to do with SQL Server. Is there an actual demo
> > you can point me to that illustrates your suggestion? Perhaps this is purely
> > a matter of terminology.
>
> Imagine you need to create XHTML documents, instead of starting from
> scratch and each time creating the html element, the head element, the
> body element you could simply create an XHTML document already
> containing the html, the head, and the body element and use that as a
> "template", meaning you would use System.Xml.XmlDocument and load that
> "template" document and then use the DOM to manipulate it as needed
> (e.g. add the title, add headings, add paragraphs) and save as needed.
>
> That is all what Joe tried to suggest, at least if I understand him
> correctly. So the XML "template" is nothing but an XML file with the
> structure you need for all your XML documents you want to create.
>
>
> --
>
> Martin Honnen --- MVP XML
> http://JavaScript.FAQTs.com/
>
date: Wed, 2 Jul 2008 06:13:02 -0700
author: B. Chernick
Re: Big picture questions - cleanest method for creating an XML fi
I suppose I meant simply adding it as a file, in which case I'd have the
problem of locating it in order to use those methods you mentioned.
On the other hand, I'm not sure I've ever added an XML file as a resource.
I'm going to have to try that.
"Martin Honnen" wrote:
> B. Chernick wrote:
> > Ok. Now I think I see. In a manner of speaking, I've already done that.
> > It's easy enough to load an existing file. You mean load the doc and search
> > for the various elements in order to change their values?
>
> Yes, or add additional child elements (as in my XHTML example).
>
> > As long as we are on the subject of 'templates', refresh my memory. If I
> > am creating a VS2005 VB Winforms project, it is possible to include an
> > existing XML file as a file of the project. However I see no simple to
> > access it programmatically. Am I forgetting something?
>
> Well whether the XML file is part of the project or not, the APIs to
> access it programmatically are e.g. XmlReader, XPathDocument,
> XmlDocument, XmlSerializer and others.
> Or are you talking about adding the XML to an assembly as a resource and
> want to read out the resource?
>
> --
>
> Martin Honnen --- MVP XML
> http://JavaScript.FAQTs.com/
>
date: Wed, 2 Jul 2008 07:45:03 -0700
author: B. Chernick
|
|