Schema UI
Author: Todd Fast
Introduction
The primary UI for XML Schema is the "columns view".
Creation of New Schema Components
Creation of new schema components occurs using an in-place editing metaphor. Each node that allows children to be created below it has an Add menu containing a list of child components that can be created for that parent.
Component Customizer Forms
For a few special schema components, we will provide a simple form, or customizer, to allow the user to specify certain information all at once instead of using the property sheet. The customizer form will be shown directly in the columns view rather than as a modal pop-up dialog to reduce the amount of modality and to foster a seamless authoring style without workflow interruption.
The current proposal is to use a style of form embedding that allows the customizer to "float" on top of the coumn view near the customized node, but without taking up a column. This prevents a conflict between showing a node's children or its customizer in the next column. Instead, the floating customizer will not disrupt the standard column view convention of showing substructure in columns to the right of the selected node's column.
An alternative proposal is to use the NetBeans Node getCustomizer() method to return a customizer component that would then be displayed non-modally in the IDE, perhaps in the property sheet TopComponent as an alternative tab. This is an interesting idea, but requires some additions to the NetBeans core UI.
Property Sheets
The following list of properties by schema component should be more or less consistent with the schema model. The listed properties should appear on the corresponding nodes and should be valid in all possible views.
- Prototype forms are in the
org.netbeans.modules.xml.schema.ui.basic.editors.proto package in the schema/ui/basic project.
- For all tagged editors that list a default of "Empty", the "Restore default value" action on the property should blank out the editor and remove the setting from the schema model. This means that the default value should have a string representation of "", and the editor's setTextValue() should interepret "" as a removal of the value from the model.
- Properties that are noted as needing to be "elevated" should have already be accounted for in the property list for the appropriate parent component. Thus, there should be no effort on your part to determine how to "elevate" these properties.
- Numbers after each component indicate its suggested priority
- 0 - Lowest priority
- 1 - Moderate priority
- 2 - Highest priority
- Anything marked "TBD" is yet to be finalized and should be avoided
- This spec doesn't try to indicate how to set these property values on the actual schema model. Consult with the schema model team to determine how these values map to the model. However, the source for the list of these properties is the schema spec and should map very directly to the schema model.
Common Proprties
| Property |
Type |
Notes |
| ID |
String |
Must be unique within the entire document.
Advanced property. |
Nodes
Following are details of each node.
NOTE: There is a potential disjuncture between the types of schema component children that can be created for a node based on the type of view containing the node. For example, in the categorized view, many schema components are hidden in an effort to provide a more logical view of the schema. Therefore, the actions to create some types of child components may need to be hidden in the categorized view, or some actions may need to be "elevated" to parent components. The resolution of this issue is currently unspecified.
All (1)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-all
| Advanced View |
| Child Components |
- Annotation
- Element *
- ElementReference *
* NewTypes included in TPR2 |
| Actions |
Should have actions to convert to other types of aggregator (choice, all, etc.) post-TPR2 |
| Prototype Form |
None |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.AllNewType |
| Structural View |
| Child Components |
- Annotation
- Element
- ElementReference
|
| Actions |
TBD |
| Prototype Form |
None |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Min Occurs |
Tags |
Select from "0", "1" |
AllElement
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-element
Properties
| Property |
Type |
Notes |
| Abstract |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Prohibited Substitutions (Block) |
Dialog |
See ElementBlockForm.java
Advanced property. |
| Prohibited Derivations (Final) |
Dialog |
See ElementFinalForm.java
Advanced property. |
| Default Value |
String |
Note, cannot be specified if fixed value is specified |
| Fixed Value |
String |
Note, cannot be specified if default value is specified |
| Form |
Tags |
"Default for schema", "Qualified", "Unqualified". Default: "Default for schema"
Advanced property. |
| Name |
String |
Must be unique within scope |
| Nillable |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Max Occurs |
Integer |
In addition to normal integers >= 0, must also accept an equivalent of "*" or "unbounded". Suggest using an editable tagged editor. The single tag should be "Unbounded". The editor should also allow direct typing of "*" and "unbounded", with "unbounded" as the canonical value. |
| Min Occurs |
Integer |
Integer value >=0 |
| Type |
Dialog |
Dialog that allows selection of an existing simple or complex type. Can use a 2-level tree to allow selection. However, we must consider the case when there are multiple schema files. An embedded columns view may be more usable, as it would allow selection based on name, file, and/or namespace. |
AllElementReference
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-element
Properties
| Property |
Type |
Notes |
| Reference |
Dialog |
Dialog that allows selection of an existing global element. An embedded columns view may be most usable. |
Any (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-any
Properties
| Property |
Type |
Notes |
| Max Occurs |
Integer |
In addition to normal integers >= 0, must also accept an equivalent of "*" or "unbounded". Suggest using an editable tagged editor. The single tag should be "Unbounded". The editor should also allow direct typing of "*" and "unbounded", with "unbounded" as the canonical value. |
| Min Occurs |
Integer |
Integer value >=0 |
| Namespace |
Dialog |
See AnyNamespaceForm.java and AnyNamespaceAddForm.java.
Clicking the Add button on AnyNamespaceForm brings up the second form. On AnyNamespaceAddForm.java, the list of namespaces "declared in this schema" is based on a just-in-time query on the schema model; all namespaces found in the document should be in this list. The intent here is to allow the user to choose a likely namespace instead of type it. |
| Process Contents |
Tags |
Advanced property.
Select from "Lax", "Skip", "Strict". Default: Empty |
AnyAttribute (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-anyAttribute
Properties
| Property |
Type |
Notes |
| Namespace |
Dialog |
(( ##any | ##other ) | List of ( anyURI | ( ##targetNamespace | ##local )) ) : ##any
See AnyNamespaceForm.java and AnyNamespaceAddForm.java |
| Process Contents |
Tags |
Select from "Lax", "Skip", "Strict" . Default: Empty
Advanced property. |
GlobalAttribute (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-attribute
| Advanced View |
| Child Components |
** Post-TPR2: This element will be transparent |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.GlobalAttributeForm.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.GlobalAttributeNewType.java |
| Structural View |
| Child Components |
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Default Value |
String |
Note, cannot be specified if fixed value is specified
|
| Fixed Value |
String |
Note, cannot be specified if default value is specified |
| Form |
Tags |
"Default for schema", "Qualified", "Unqualified". Default: "Default for schema"
Advanced property. |
| Name |
String |
Must be unique within scope |
| Type |
Dialog |
Dialog that allows selection of an existing simple type. Can use a 2-level tree to allow selection. However, we must consider the case when there are multiple schema files. An embedded columns view may be more usable, as it would allow selection based on name, file, and/or namespace. |
| Use |
Tags |
"Optional", "Prohibited", "Required". Default: Empty |
LocalAttribute (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-attribute
| Advanced View |
| Child Components |
** Post-TPR2: This element will be transparent |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalAttributeForm.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.LocalAttributeNewType.java |
| Structural View |
| Child Components |
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Default Value |
String |
Note, cannot be specified if fixed value is specified |
| Fixed Value |
String |
Note, cannot be specified if default value is specified |
| Form |
Tags |
"Default for schema", "Qualified", "Unqualified". Default: "Default for schema"
Advanced property. |
| Name |
String |
Must be unique within scope |
| Type |
Dialog |
Dialog that allows selection of an existing simple type. Can use a 2-level tree to allow selection. However, we must consider the case when there are multiple schema files. An embedded columns view may be more usable, as it would allow selection based on name, file, and/or namespace. |
| Use |
Tags |
"Optional", "Prohibited", "Required". Default: Empty |
AttributeReference (1)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-attribute
| Advanced View |
| Child Components |
|
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalAttributeForm.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.LocalAttributeNewType.java |
| Structural View |
| Child Components |
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Reference |
Dialog |
Dialog that allows selection of an existing global attribute. Can use a 2-level tree to allow selection. However, we must consider the case when there are multiple schema files. An embedded columns view may be more usable, as it would allow selection based on name, file, and/or namespace. |
AttributeGroup (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-attributeGroup
| Advanced View |
| Child Components |
- Annotation
- Attribute *
- AttributeGroup *
- AnyAttribute
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.AttributeGroupForm1.java
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.AttributeGroupForm2.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.AttributeGroupNewType.java |
| Structural View |
| Child Components |
- Annotation
- Attribute
- AttributeGroup
- AnyAttribute
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Name |
String |
Must be unique within scope |
AttributeGroupReference (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-attributeGroup
| Advanced View |
| Child Components |
|
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.AttributeGroupForm1.java
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.AttributeGroupForm2.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.AttributeGroupNewType.java |
| Structural View |
| Child Components |
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Reference |
Dialog |
Dialog that allows selection of an existing AttributeGroup. An embedded columns view may be most usable. |
Choice (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-choice
| Advanced View |
| Child Components |
- Annotation
- Element *
- ElementReference *
- Group
- Choice *
- Sequence *
- Any
* NewTypes included in TPR2 |
| Actions |
Should have actions to convert to other types of aggregator (choice, all, etc.) post-TPR2 |
| Prototype Form |
None |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.ChoiceNewType |
| Structural View |
| Child Components |
- Annotation
- Element
- ElementReference
- Group
- Choice
- Sequence
- Any
|
| Actions |
Should have actions to convert to other types of aggregator (choice, all, etc.) post-TPR2 |
| Prototype Form |
None |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Max Occurs |
Integer |
In addition to normal integers >= 0, must also accept an equivalent of "*" or "unbounded". Suggest using an editable tagged editor. The single tag should be "Unbounded". The editor should also allow direct typing of "*" and "unbounded", with "unbounded" as the canonical value. |
| Min Occurs |
Integer |
Integer value >=0 |
ComplexContent (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-complexContent
Note: In the category view, this node is not shown and so these properties are elevated to a parent node (ComplexType or an element that contains an in-line type definition). However, this node may be shown in the literal view, so this property needs to be available.
Properties
| Property |
Type |
Notes |
| Mixed Content |
Tags |
"True", "False". Default: Empty |
GlobalComplexType (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-complexType
| Advanced View |
| Child Components |
- Annotation
- Group
- All *
- Choice *
- Sequence *
- Attribute *
- AttributeReference *
- AttributeGroup *
- AttributeGroupReference *
- AnyAttribute
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.GlobalComplexTypeForm.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.GlobalComplexTypeNewType.java |
| Structural View |
| Child Components |
- Annotation
- SimpleContent
- ComplexContent
- Group
- All
- Choice
- Sequence
- Attribute
- AttributeReference
- AttributeGroup
- AttributeGroupReference
- AnyAttribute
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Abstract |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Prohibited Substitutions (Block) |
Dialog |
See ComplexTypeBlockForm.java
Advanced property. |
| Prohibited Derivations (Final) |
Dialog |
See ComplexTypeFinalForm.java
Advanced property. |
| Mixed Content |
Tags |
"True", "False". Default: Empty |
| Name |
String |
Must be unique within scope |
| Base Type |
Dialog |
See ComplexTypeBaseTypeForm.java.
Dialog that allows selection of an existing complex type and method of derivation (restriction or extension). Note, only extensible and allowable types should be shown in the dialog; types that are defined as final according to the type of derivation should be filtered out. There are also some very subtle rules about how derived types must be structured. We may want to filter the selectable list further based on these rules (see schema spec and Kohsuke's Do's and Don'ts document). An embedded columns view may be most usable. |
LocalComplexType (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-complexType
| Advanced View |
| Child Components |
- Annotation
- Group
- All *
- Choice *
- Sequence *
- Attribute *
- AttributeReference *
- AttributeGroup *
- AttributeGroupReference *
- AnyAttribute
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalComplexTypeForm1.java
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalComplexTypeForm2.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.LocalComplexTypeNewType.java |
| Structural View |
| Child Components |
- Annotation
- SimpleContent
- ComplexContent
- Group
- All
- Choice
- Sequence
- Attribute
- AttributeReference
- AttributeGroup
- AttributeGroupReference
- AnyAttribute
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Mixed Content |
Tags |
"True", "False". Default: Empty |
| Base Type |
Dialog |
See ComplexTypeBaseTypeForm.java.
Dialog that allows selection of an existing complex type and method of derivation (restriction or extension). Note, only extensible and allowable types should be shown in the dialog; types that are defined as final according to the type of derivation should be filtered out. There are also some very subtle rules about how derived types must be structured. We may want to filter the selectable list further based on these rules (see schema spec and Kohsuke's Do's and Don'ts document). An embedded columns view may be most usable. |
Documentation (1)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-documentation
Properties
| Property |
Type |
Notes |
| Source |
String |
Actual value is a URI |
| Language |
String |
Simple string editor |
| Text |
String |
A nice editor here (i.e. one that supports word wrap and markup) would be nice instead of the lame default string editor. The default string editor may be sufficient if the columns view directly supports documentation editing (TAF: as I argue it should). |
GlobalElement (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-element
| Advanced View |
| Child Components |
- Annotation
- Group
- All *
- Choice *
- Sequence *
- Attribute *
- AttributeReference *
- AttributeGroup *
- AttributeGroupReference *
- AnyAttribute
- Unique
- Key
- Keyref
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.GlobalElementForm.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.GlobalElementNewType.java |
| Structural View |
| Child Components |
- Annotation
- LocalSimpleType
- LocalComplexType
- Unique
- Key
- Keyref
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Abstract |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Prohibited Substitutions (Block) |
Dialog |
See ElementBlockForm.java
Advanced property. |
| Prohibited Derivations (Final) |
Dialog |
See ElementFinalForm.java
Advanced property. |
| Default Value |
String |
Note, cannot be specified if fixed value is specified |
| Fixed Value |
String |
Note, cannot be specified if default value is specified |
| Form |
Tags |
"Default for schema", "Qualified", "Unqualified". Default: "Default for schema"
Advanced property. |
| Name |
String |
Must be unique within scope |
| Nillable |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Substitution Group |
Dialog |
Dialog that allows selection of an existing element. Can use a 2-level tree to allow selection. However, we must consider the case when there are multiple schema files. An embedded columns view may be more usable, as it would allow selection based on name, file, and/or namespace.
TAF: What are the specific semantics of a substitution group? Does it have any bearing on which elements may be selected?
Advanced property. |
| Type |
Dialog |
Dialog that allows selection of an existing simple or complex type. An embedded columns view may be most usable. |
LocalElement (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-element
| Advanced View |
| Child Components |
- Annotation
- Group
- All *
- Choice *
- Sequence *
- Attribute *
- AttributeReference *
- AttributeGroup *
- AttributeGroupReference *
- AnyAttribute
- Unique
- Key
- Keyref
* NewTypes included in TPR2 |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalElementForm1.java
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalElementForm2.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.LocalElementNewType.java |
| Structural View |
| Child Components |
- Annotation
- LocalSimpleType
- LocalComplexType
- Unique
- Key
- Keyref
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Abstract |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Prohibited Substitutions (Block) |
Dialog |
See ElementBlockForm.java
Advanced property. |
| Prohibited Derivations (Final) |
Dialog |
See ElementFinalForm.java
Advanced property. |
| Default Value |
String |
Note, cannot be specified if fixed value is specified |
| Fixed Value |
String |
Note, cannot be specified if default value is specified |
| Form |
Tags |
"Default for schema", "Qualified", "Unqualified". Default: "Default for schema"
Advanced property. |
| Name |
String |
Must be unique within scope |
| Nillable |
Tags |
"True", "False". Default: Empty
Advanced property. |
| Max Occurs |
Integer |
In addition to normal integers >= 0, must also accept an equivalent of "*" or "unbounded". Suggest using an editable tagged editor. The single tag should be "Unbounded". The editor should also allow direct typing of "*" and "unbounded", with "unbounded" as the canonical value. |
| Min Occurs |
Integer |
Integer value >=0 |
| Type |
Dialog |
Dialog that allows selection of an existing simple or complex type. Can use a 2-level tree to allow selection. However, we must consider the case when there are multiple schema files. An embedded columns view may be more usable, as it would allow selection based on name, file, and/or namespace. |
ElementReference (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-element
| Advanced View |
| Child Components |
None |
| Actions |
TBD |
| Prototype Form |
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalElementForm1.java
org.netbeans.modules.xml.schema.ui.nodes.schema.forms.proto.LocalElementForm2.java |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.LocalElementNewType.java |
| Structural View |
| Child Components |
None |
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Reference |
Dialog |
Dialog that allows selection of an existing global element. An embedded columns view may be most usable. |
Enumeration (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-all
Properties
| Property |
Type |
Notes |
| Value |
Dialog |
Dialog that allows selection of an existing simple type. A tagged editor (combo box) may also be convenient (though less usable than a dialog). |
Extension (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-simpleContent..extension
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-complexContent..extension
Properties
Note: In the category view, this node is not shown and so these properties are elevated to a parent node (see SimpleType and ComplexType). However, this node may be shown in the literal view, so this property needs to be available.
| Property |
Type |
Notes |
| Base Type |
Dialog |
Dialog that allows selection of an existing complex or simple type (which one is dependent on the enclosing component, SimpleType or ComplexType). |
Field (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-field
Properties
| Property |
Type |
Notes |
| XPath |
Dialog |
Dialog to select the location of the fields to apply a uniqueness constraint. This will typically be a single offset from the selector element. TBD.
|
FractionDigits (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#fractionDigits
Properties
| Property |
Type |
Notes |
| Value |
Integer |
Non-negative integer |
| Fixed |
Tags |
"True", "False". Default: Empty |
Group (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-group
Properties
| Property |
Type |
Notes |
| Name |
String |
Must be unique within scope |
GroupReference (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-group
Properties
| Property |
Type |
Notes |
| Max Occurs |
Integer |
In addition to normal integers >= 0, must also accept an equivalent of "*" or "unbounded". Suggest using an editable tagged editor. The single tag should be "Unbounded". The editor should also allow direct typing of "*" and "unbounded", with "unbounded" as the canonical value. |
| Min Occurs |
Integer |
Integer value >=0 |
| Reference |
Dialog |
Dialog that allows selection of an existing global group. An embedded columns view may be most usable. |
Import (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-import
Properties
| Property |
Type |
Notes |
| Namespace |
|
TBD. Use a simple string editor for now. |
| Schema Location |
Dialog |
See SchemaLocationForm.java.
The Browse... button should open a chooser that lets the user select a schema file in one of the currently opened projects. After selecting a file, the field to the left of the button shows the effective value of the schemaLocation attribute. See the resolver spec for more information on the form of this value. |
Include (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-include
Properties
| Property |
Type |
Notes |
| Schema Location |
Dialog |
See SchemaLocationForm.java.
The Browse... button should open a chooser that lets the user select a schema file in one of the currently opened projects. After selecting a file, the field to the left of the button shows the effective value of the schemaLocation attribute. See the resolver spec for more information on the form of this value. |
Key (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-key
TBD
Keyref (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-keyref
Properties
| Property |
Type |
Notes |
| Name |
|
|
| Refer |
|
Name of unique constraint referred to by this ref, selection of appropriate constraint |
Length (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-length
Properties
| Property |
Type |
Notes |
| Value |
Integer |
Non-negative integer |
| Fixed |
Tags |
"True", "False". Default: Empty |
List (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-list
Properties
Note: In the category view, this node may not be shown and so these properties will need to elevated to a parent node. Which nodes are TBD (Jeri & Ajit, feel free to determine this).
| Property |
Type |
Notes |
| Item Type |
Dialog |
Dialog that allows selection of an existing simple type. An embedded columns view may be most usable. |
MaxExclusive (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-maxInclusive
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Dialog |
Dialog that allows selection of an existing simple type. A tagged editor (combo box) may also be convenient (though less usable than a dialog). Should be appropriate for type, e.g. int should be integer. (TAF: What does this last point mean, Chris?) |
MinExclusive (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-minInclusive
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Dialog |
Dialog that allows selection of an existing simple type. A tagged editor (combo box) may also be convenient (though less usable than a dialog). Should be appropriate for type, e.g. int should be integer. (TAF: What does this last point mean, Chris?) |
MaxInclusive (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-maxInclusive
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Dialog |
Dialog that allows selection of an existing simple type. A tagged editor (combo box) may also be convenient (though less usable than a dialog). Should be appropriate for type, e.g. int should be integer. (TAF: What does this last point mean, Chris?) |
MinInclusive (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-minInclusive
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Dialog |
Dialog that allows selection of an existing simple type. A tagged editor (combo box) may also be convenient (though less usable than a dialog). Should be appropriate for type, e.g. int should be integer. (TAF: What does this last point mean, Chris?) |
MaxLength (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-maxLength
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Integer |
Non-negative integer |
MinLength (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-minLength
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Integer |
Non-negative integer |
Notation (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-notation
Properties
| Property |
Type |
Notes |
| Name |
String |
Must be unique within scope |
| Public |
String |
This value is actually a token so we may want to apply some additional validation of the value. See the following description:
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#token |
| System |
Dialog |
See NotationSystemForm.java.
The list of namespaces "declared in this schema" is based on a just-in-time query on the schema model; all namespaces found in the document should be in this list. The intent here is to allow the user to choose a likely namespace instead of type it. |
Pattern (1)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-pattern
Properties
| Property |
Type |
Notes |
| Value |
String |
This is actually a schema regular expression. IN addition to direct editing in the property sheet, we might want to provide a property dialog that helps the user build one of these (since no one remembers how to write a regular expression). Design of the dialog is TBD. |
Redefine (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-redefine
Properties
| Property |
Type |
Notes |
| Schema Location |
Dialog |
See SchemaLocationForm.java.
The Browse... button should open a chooser that lets the user select a schema file in one of the currently opened projects. After selecting a file, the field to the left of the button shows the effective value of the schemaLocation attribute. See the resolver spec for more information on the form of this value. |
Restriction (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-restriction
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#whiteSpace-valid-restriction
Properties
Note: In the category view, this node is not shown and so these properties are elevated to a parent node (see SimpleType and ComplexType). However, this node may be shown in the literal view, so this property needs to be available.
| Property |
Type |
Notes |
| Base Type |
Dialog |
Dialog that allows selection of an existing complex or simple type (which one is dependent on the enclosing component, SimpleType or ComplexType).
|
Schema (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-schema
| Advanced View |
| Child Components |
- Include
- Import
- Redefine
- Annotation
- SimpleType
- ComplexType *
- Group
- AttributeGroup *
- Element *
- Attribute *
- Notation
* Included in TPR2 |
| Actions |
TBD |
| Prototype Form |
None |
| NewType |
N/A |
| Structural View |
| Child Components |
- Include
- Import
- Redefine
- Annotation
- SimpleType
- ComplexType
- Group
- AttributeGroup
- Element
- Attribute
- Notation
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Attribute Form Default |
Tags |
"Qualified", "Unqualified". Default: Emtpy |
| Prohibited Substitutions (Block) Default |
Dialog |
See SchemaBlockDefaultForm.java
Advanced property. |
| Element Form Default |
|
"Qualified", "Unqualified". Default: Emtpy |
| Target Namespace |
Dialog |
See SchemaTargetNamespaceForm.java.
The list of namespaces "declared in this schema" is based on a just-in-time query on the schema model; all namespaces found in the document should be in this list. The intent here is to allow the user to choose a likely namespace instead of type it. |
| Version |
String |
Simple string value
Advanced property. |
| Namespaces |
Dialog |
TBD |
Selector (0)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-selector
Properties
| Property |
Type |
Notes |
| XPath |
Dialog |
Dialog to select the relative XPath identifying the element on which to apply the constraint. TBD.
|
Sequence (2)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-sequence
| Advanced View |
| Child Components |
- Element *
- Element Reference *
- Group
- Choice *
- Sequence *
- Any
* Included in TPR2 |
| Actions |
Should have actions to convert to other types of aggregator (choice, all, etc.) post-TPR2 |
| Prototype Form |
None |
| NewType |
org.netbeans.modules.xml.schema.ui.nodes.schema.newtype.SequenceNewType.java |
| Structural View |
| Child Components |
- Element
- Element Reference
- Group
- Choice
- Sequence
- Any
- ?
|
| Actions |
TBD |
| Prototype Form |
TBD |
| NewType |
TBD |
Properties
| Property |
Type |
Notes |
| Max Occurs |
Integer |
In addition to normal integers >= 0, must also accept an equivalent of "*" or "unbounded". Suggest using an editable tagged editor. The single tag should be "Unbounded". The editor should also allow direct typing of "*" and "unbounded", with "unbounded" as the canonical value. |
| Min Occurs |
Integer |
Integer value >=0 |
SimpleType (2)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-simpleType
Properties
| Property |
Type |
Notes |
| Final |
Dialog |
See SimpleTypeFinalForm.java |
| Name |
String |
Must be unique within scope |
TotalDigits (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#dc-totalDigits
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Integer |
Non-negative integer >0 |
Union (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#element-union
Properties
| Property |
Type |
Notes |
| Member Types |
Dialog |
Dialog to choose a list of global simple types (use standard add/remove/up/down style dialog). The sub-dialog for add should be an embedded columns view dialog. |
Unique (1)
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-unique
Properties
| Property |
Type |
Notes |
| Name |
String |
Must be unique within scope |
WhiteSpace (0)
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#dc-whiteSpace
Properties
| Property |
Type |
Notes |
| Fixed |
Tags |
"True", "False". Default: Empty |
| Value |
Tags |
"Preserve", "Replace", "Collapse".
For the default value, see the constraints at the following location:
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#rf-whiteSpace Note, we might want to add additional validation according to validity contraints:
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#whiteSpace-valid-restriction |