Page 1 of 1

schema documentation - does not link to includes

Posted: Tue Jun 29, 2004 4:50 pm
by ArtS
Following the instructions in an earlier June post, I created links.xml and generated the schema documentation.
The result file has references that point to either #something (when generated with javascript off), or javascript:void()

This is the same under version 3.1 and 4

Here's a simplified version of the links.xml:

<?xml version="1.0" encoding="UTF-8"?>
<links xmlns="file://usr/local/Oxygen2.0/plugins/XS3P/etc/">
<schema file-location="11T_BookRQ.xsd" docfile-location="11T_BookRQ.html"/>
<!-- here are the included files -->
<schema file-location="11T_CruiseCommonTypes.xsd"/>
<schema file-location="11T_CommonPrefs.xsd"/>
<schema file-location="11T_CommonTypes.xsd"/>
<schema file-location="11T_SimpleTypes.xsd"/>
</links>

Here is the top of 11T_BookRQ.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://vacation.onetravel.com/xml/11T/"
xmlns:ot="http://vacation.onetravel.com/xml/11T/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="http://vacation.onetravel.com/xml/11T/1 ... nTypes.xsd"/>
<xs:include schemaLocation="http://vacation.onetravel.com/xml/11T/1 ... eTypes.xsd"/>
<xs:include schemaLocation="http://vacation.onetravel.com/xml/11T/1 ... nTypes.xsd"/>
<xs:element name="BookRQ">
...etc.

This is almost working. What am I doing wrong?
Thanks,
Art

Re: schema documentation - does not link to includes

Posted: Tue Jun 29, 2004 5:59 pm
by george
Dear Art,
ArtS wrote: [...]
Here's a simplified version of the links.xml:

<?xml version="1.0" encoding="UTF-8"?>
<links xmlns="file://usr/local/Oxygen2.0/plugins/XS3P/etc/">
<schema file-location="11T_BookRQ.xsd" docfile-location="11T_BookRQ.html"/>
<!-- here are the included files -->
<schema file-location="11T_CruiseCommonTypes.xsd"/>
<schema file-location="11T_CommonPrefs.xsd"/>
<schema file-location="11T_CommonTypes.xsd"/>
<schema file-location="11T_SimpleTypes.xsd"/>
</links>
[...]
The first problem is the namespace for the links file elements, it should be http://titanium.dstc.edu.au/xml/xs3p. Another problem is that the links file should define a doc file location for each of the included schemas. See below a working sample assuming all the files are in the same folder. You should apply the schema documentation generation two times for both the main and included schema - each time the input and output documents should be set as specified in the links file. We have as an enhancement on bugzilla to implement this to require only the set of input schemas/target doc files specified with a GUI and generate automatically all the documentation files.

links..xml

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<links xmlns="http://titanium.dstc.edu.au/xml/xs3p">
<schema file-location="schema1.xsd" docfile-location="schema1.html"/>
<schema file-location="dataTypes.xsd" docfile-location="dataTypes.html"/>
</links>
schema1.xsd

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="dataTypes.xsd"/>
<xs:element name="test" type="DateTimeType"/>
</xs:schema>
dataTypes.xsd

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- -->
<!-- Date Time Type -->
<!-- -->
<xs:complexType name="DateTimeType">
<xs:sequence>
<xs:element name="Date" type="xs:date" minOccurs="1" maxOccurs="1"/>
<xs:element name="Time" type="xs:time" minOccurs="0" maxOccurs="1" default="00:00:00"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

Best Regards,
George

Re: schema documentation - does not link to includes

Posted: Wed Jun 30, 2004 8:56 pm
by 11thhourvacations
George,
Your examples work fine. However when I added an include in between dataTypes.xsd and schema1.xsd, it did not work. I think it is very common to have include files that include other include files, but I can't get the documentation to link thru to the include file.
Here's the change I made:
schema1.xsd has
<xs:include schemaLocation="dataIncluder.xsd"/>
instead of
<xs:include schemaLocation="dataTypes.xsd"/>

dataIncluder.xsd includes dataTypes.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="dataTypes.xsd"/>
</xs:schema>

Let me know if it is possible to produce documentation with active links with a schema arrangement like this.
Thanks,
Art

Posted: Thu Jul 01, 2004 2:42 pm
by tavy
Please make sure that you have the schema to doc file mapping for the dataIncluder schema in the links file. Also when you generate the documentation you should enable the Search Included Schemas option in the Schema Documentation dialog. See below a working sample.

links.xml

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<links xmlns="http://titanium.dstc.edu.au/xml/xs3p">
<schema file-location="schema1.xsd" docfile-location="schema1.html"/>
<schema file-location="dataIncluder.xsd" docfile-location="dataIncluder.html"/>
<schema file-location="dataTypes.xsd" docfile-location="dataTypes.html"/>
</links>

schema1.xsd

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="dataIncluder.xsd"/>
<xs:element name="test" type="DateTimeType"/>
</xs:schema>

dataIncluder.xsd

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="dataTypes.xsd"/>
</xs:schema>
dataTypes.xsd

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- -->
<!-- Date Time Type -->
<!-- -->
<xs:complexType name="DateTimeType">
<xs:sequence>
<xs:element name="Date" type="xs:date" minOccurs="1" maxOccurs="1"/>
<xs:element name="Time" type="xs:time" minOccurs="0" maxOccurs="1" default="00:00:00"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

schema documentation - size limit?

Posted: Thu Jul 01, 2004 6:35 pm
by 11thhourvacations
Thanks for all your help. I wasn't convinced it worked, but based on your test examples I finally got the links working.
There may be a size limit going on - or it could be some oddness in our xml - but I found that once my links file has less than 8 entries it started working. I changed which files were included in the 8 and it didn't seem to make a difference - once I added a ninth file the links didn't come up.
I tried to duplicate this in the test files but wasn't able to. Maybe the size of the files is important.
Anyway, this isn't a show stopper - I can get the docs generated in groups.
Thanks,