There are a number of ways you can use XML Authority with previously existing XML schemas, including DTDs, XML-Data, BizTalk, DCD, and XSDL. In many situations, you'll simply want to open the schema and edit it directly. XML schemas and DTDs can be opened directly with the File menu's Open option. (If the schema is actually an SGML DTD, you may need to use the SGML import tools instead.) Once you've opened your schema, you can edit it just as you would a schema created directly in XML Authority.
Although editing and adding new declarations to a schema is a common way to 'build on' an existing schema, there are many times when developers need to extend a schema without modifying it. Sometimes developers want to make an existing schema a part of a new structure; other times, developers need to create new structures that fit inside the existing structure. XML Authority provides tools that make both of these kinds of additions possible.
In both cases, you need to include the other schema as part of your new schema. You don't need to include it directly - XML provides tools that allow you to include it by reference. The Overview pane provides an Add Module... button you can use to include the other schema, or you can create an external parameter entity yourself to do the same thing.
Once you've included the other schema, you can reference the element and attribute types that it declares within your own schema. This makes it easy to create schemas out of a set of modules, connected by a few declarations in a core schema that coordinates them. XML Authority will show you all the declarations available in the included schemas, and let you work with them, but you can't edit them directly unless you explicit unlock the included schema from the context-sensitive menu in the overview pane. (Since they're not in the file you're currently editing, it's not a good idea to edit these declarations the same way you would your own declarations.)
If you're attempting to build within an existing schema, you'll need to hope the designers left room for extension. Generally, this means either element types were declared with the ANY content model, or elements were included in content models but deliberately left undeclared. (Elements can only be declared once, but there is no rule prohibiting schemas from including undeclared elements in a content model.) If you're building declarations that will be included within an ANY content model, you can create your declarations pretty much as you like. If you're building declarations that use an undeclared element, you'll need to use that element name as your starting point and build your extensions within it.
Copyright 2000 Extensibility, Inc.
Suite 250, 200 Franklin Street, Chapel Hill, North Carolina 27516