View Full Version : XML Write problems
martys
07-17-2007, 11:53 AM
While attempting to using XML Write, I came across an annoying problem: Whenever I try to execute the step, it says "Error at line 3, position 11 loading 'file.xml': DTD is prohibited."
What exactly does this mean? How do I get around it without permanently modifying the XML file? I know the DTD is valid, because I can open it in Firefox, IE, and Visual studio, all with no complaints.
kinook
07-17-2007, 11:57 AM
Please ZIP and send or post:
1) The info from Help | About | Install Info
2) The .bld file
3) The XML file
4) The version(s) of MSXML listed in the Windows Add/Remove Programs Control Panel applet
Thanks.
martys
07-17-2007, 12:06 PM
I should note that I had v6.2 installed previously, which had a different problem (XPath didn't support following-sibling::) farther along the line. I updated to the latest just now to see if the problem was fixed, which it was, but it wasn't even getting as far as parsing the XPath any more, because no matter what I put in the XPath, this error still occurs.
The XML file is actually an InstallShield 12 ISM file, and I'm just using a sample build with this one step only to test whether it works.
This is one of the steps I'm running. I realize this one could probably be a find-replace instead, but there are others as well that would be much more difficult to switch to find-replace.
<step action='Write XML'>
<Filename>file.xml</Filename>
<ForceXPath type='11'>-1</ForceXPath>
<Text>8.5.00.02.38</Text>
<XPath>/msi/table[[@name="Property"]]/row/td[[text()="ProductVersion"]]/following-sibling::td[[position()=1]]</XPath>
<indent type='3'>1</indent>
<name>Write XML</name>
</step>
Here's the version info.
MSXML:
4.20.9839
4.20.9841
MSXML Parser:
6.10.1129.0
Visual Build Professional 6.4
Registered to: SoftBrands (2-computer License)
Windows Version: 5.1.2600.2.0
Install path: C:\Program Files\VisBuildPro6
SftTree_IX86_U_50.dll version 5.06
unins000.exe version 51.46.0.0
VisBuildCmd.exe version 6.4.0.2
VisBuildPro.exe version 6.4.0.2
VisBuildBld.dll version 6.4.0.3
VisBuildBurn.dll version 6.4.0.2
VisBuildCore.dll version 6.4.0.2
VisBuildDotNET.dll version 6.4.0.0
VisBuildExt.dll version 6.4.0.3
VisBuildLog.dll version 6.4.0.2
VisBuildMisc.dll version 6.4.0.3
VisBuildMS.dll version 6.4.0.2
VisBuildMS2.dll version 6.4.0.2
VisBuildNet.dll version 6.4.0.3
VisBuildSvr.dll version 6.4.0.2
VisBuildSvr.Interop.dll version 1.0.0.0
VisBuildVCS.dll version 6.4.0.4
kinook
07-17-2007, 12:32 PM
Can you ZIP and attach the ISM file? Thanks.
martys
07-17-2007, 12:34 PM
Attached
kinook
07-17-2007, 02:38 PM
Starting w/ MSXML 6.0, for security reasons, the ProhibitDTD (http://msdn2.microsoft.com/en-us/library/ms762632.aspx) property defaults to True, which will prevent the attached file from loading.
Some options:
1) Uninstall MSXML 6.0
2) Remove the DTD from the file
3) Tweak the Write XML action to set the ProhibitDTD property to False (see attached project)
In a future release, an option will be added to the Write XML action to configure the value used for the ProhibitDTD property.
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc.