XSD Recursive Complex Type support

You can try using with webMethods XSLT Adapter,it supports XSD,stylesheets formats.

This Adapter is available on Advantage site.

HTH.

RMG,

are you saying that an xslt adapter can be used to create a document type from an xsd? can you give more details of how this can be accompalished?

thank you.
mow

For creating a document(Record structure)using XSD(schema file) use the option create from Schema like we create document using DTD,XML in Developer UI.So in this case ignore XSLT adapter for doing this.

HTH.

When a document is created off a xsd, will the document get automatically updated if the xsd is modified?

sorry,dam- I haven’t tried this way any time,I have to check on this try.

No, changing the underlying schema will not cause changes to be made automatically to the record you created from the schema. If your record refers to the schema for constraints, the new schemas values will be used.

When I change an underlying schema, I delete the record and schema and recreate from the updated xsd. Perhaps there is a better way, but this has worked for me.

Mark

I agree with Mark response,since we also manually delete the record and schema and recreate with updated XSD,DTD’s depends on how big the change is.

If any fast procedure,pls post your ideas.

Thanks,

yes, specially if these document are used to map to target formats, then the mapping has to be redone !

mow

At first, thank you all for replying to this thread very quickly.

Probably my description is no so good. Of course, I can import and
create document from XSD(XML Schema) in Developer quite straight
forward. It is supported by Developer.
The problem is if XSD contains RECURSIVE COMPLEX TYPE, Developer
can’t automatically convert it to document and says

“webMethods Integration Server does not support creating a document type from an XSD with a recursive complex type”

You can reproduce easily when you import the following XSD from
document type creator. In this XSD, “outlinetype” appears
at the parent complexType and also its element, which means
“outlinetype” consists of recursive structure.

<?xml version=“1.0” encoding=“UTF-8”?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault=“qualified” attributeFormDefault=“unqualified”>
<xsd:element name=“outlinenode” type=“outlinetype”/>
<xsd:complexType name=“outlinetype”>
<xsd:sequence>
<xsd:element name=“caption” type=“xsd:string”/>
<xsd:element name=“outlinenode” type=“outlinetype” minOccurs=“0” maxOccurs=“unbounded”/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

Since recursive complex type is also well-formed and valid format,
I think webMethods should support this.
Does anybody know how this issue can be solved?

I think this is a limitation of wm. I guess you can edit this schema in a tool like xmlspy and remove the recursive child elment (outlinetype) so outlinetype is no longer recursive. then create a document type off this schema in wm. once the doc type is create, manually add the child node on the document defn. i guess you would have thought of this already… cant think of a better way.