|
Posted by ZeldorBlat on 10/23/07 15:28
On Oct 23, 9:34 am, bmic...@gmail.com wrote:
> On Oct 23, 3:13 pm, ZeldorBlat <zeldorb...@gmail.com> wrote:
>
>
>
> > On Oct 23, 5:22 am, bmic...@gmail.com wrote:
>
> > > Hey,
>
> > > I'd like to specify the DTD file for a DOMDocument on creation; so I
> > > can validate it.
> > > The DTD file already exists (let's call it content.dtd)
>
> > > $dom = new DOMDocument('1.0', 'utf-8');
> > > // Do something here to link cotnent.dtd to the DOMDocument. How do I
> > > do that?
>
> > > // Form the xml document.
> > > $dom->createElement('root_node');
> > > ...
>
> > > I found through the php documentation that I can validate xml content
> > > against a DTD if load the XML file (but not if I create it). Something
> > > like that (assuming the xml content is in file content.xml which
> > > specifies *<!DOCTYPE root_node SYSTEM "content.dtd">*):
>
> > > $dom = new DOMDocument;
> > > $dom->Load('content.xml');
> > > if ($dom->validate()) {
> > > // document is valid
>
> > > }
>
> > See this:
>
> > <http://www.php.net/manual/en/function.dom-domimplementation-
> > createdocumenttype.php>
>
> I tried this approach. The xml content is now formatted the way I want
> to.
> The problem though is that $dom->validate() is returning false
> although the xml content is valid with respect to the DTD.
> Seems that the validate() function only works when loading xml files.
> Any thoughts?
I use validate() with XML documents I've created without any
problems. Perhaps the DTD is inaccessible to the script?
[Back to original message]
|