1.0 Introduction
2.0 Supported software and specifications
3.0 Changes from the previous release
4.0 Known problems and limitations
4.1 Opening large XML files may cause the workbench to close abruptly
4.2 Generating an XML schema from a database table that contains DBCS characters
4.3 Applying an XSL stylesheet with an infinite loop to an XML file
4.4 XML Catalog settings is not recoginized in remote XSL launcher
4.5 XML file generated from a complex XML schema may not be valid
4.6 Generating XSL for an XHTML template without using the 'Extract XML data from XHTML' option
4.7 Tip: URI resolution in XSL using the context path
4.8 XML to XML Mapping Editor: Elements with Empty Content
4.9 XML to XML Mapping : Summary view only reflects mappings in Target view
4.10 Reload does not does not change anything in the RMX and XMX editors
4.11 Tip: For EJB Projects, do not move the RMX session file to a directory that is not under EJBProjectname/ejbmodule
4.12 Tip: For Web Projects, do not move the RMX session file to a directory that is not under WebProjectName/Web Content
4.13 Validation errors with docbook DTD
4.14 Validation and unresolved URIs
4.15 Problems using Java Bean XML/XSL Client wizard if bean has methods with the same parameter names
4.16 BiDi encoding problems may be encountered when generating an XML schema or DTD file
4.17 Renaming complex types that have complex or simple content causes a null pointer exception
4.18 When changing derivation method of complex type base type will reset to first available type listed
4.19 XSL Transform output view empty when tracing remote XML transformation
4.20 Renaming a namespace in an XML schema creates a new namespace
4.21 XML Web Employee Example - Unbound variable error
The following XML development environment tools are available in WebSphere Studio: XML editor, DTD editor, XML schema editor, XSL editor, XSL debugging and transformation tool, XML to XML mapping editor, and the RDB to XML mapping editor (which you can use to generates DAD files for the DB2 XML Extender). Also included are Java class libraries and wizards for storing and retrieving XML data from any JDBC databases, XML security support, an XPath expression wizard and many generators (such as XML DOM/XSL generation from a Java bean and XSL/XML generation from XHTML file).
The HTML and XML editors support the following encodings. The IANA name is used in the encoding statement of an XML file, or charset directive in an HTML file.
Table of Supported Encodings XML Encoding
(IANA Name)Description
BIG5
Big5, Traditional Chinese
EUC-JP
EUC encoding, Japanese
EUC-KR
EUC encoding, Korean
GB2312
GBK, Simplified Chinese
GB18030 National Standard, Chinese IBM864 PC Arabic ISO-2022-JP
ISO 2022, Japanese
ISO-2022-KR
ISO 2022, Korean
ISO-8859-1
ISO Latin-1
ISO-8859-2 Central/East European (Slavic) ISO-8859-3 Southern European ISO-8859-4 ISO 8859-4, Cyrillic ISO-8859-5 ISO 8859-5, Cyrillic ISO-8859-6
Arabic (Logical)
ISO-8859-7 Greek ISO-8859-8-I
Hebrew (Logical)
ISO-8859-8
Hebrew (Visual)(encoding supported, but not supported by the Page Designer Design page)
ISO-8859-9 Turkish SHIFT_JIS
Shift-JIS, Japanese
TIS-620 TISI, Thai US-ASCII
US ASCII
UTF-8
ISO 10646/Unicode, one-byte encoding
UTF-16
ISO 10646/Unicode, two-byte encoding
UTF-16BE
Unicode BigEndian
UTF-16LE
Unicode LittleEndian
WINDOWS-874 Thai, Microsoft WINDOWS-1252
ISO Latin-1
WINDOWS-1255
Hebrew
WINDOWS-1256
Arabic
X-EUC-JP EUC encoding, Japanese (alias for EUC-JP) X-SJIS Shift-JIS, Japanese (alias for SHIFT_JIS)
A new Output view has been added to the XSL Debug perspective and some of the XSL Debug perspective menu options have changed.
Exercise caution when opening large files with any of the XML editors. If the memory limits of the workbench are exceeded, it will abruptly close without saving any data (and without warning or error messages). The number of elements in an XML file, not its size, is the best indicator of how much memory will be required. Memory requirements also depend on what else is open in the workbench - in some cases you can open a 15 megabytes file, but in other cases a one-megabyte file may cause problems. Therefore, we recommend you save all data in the workbench before opening large XML files.
Note: You can change the maximum memory allocated to WebSphere Studio. For more information, refer to the Workbench readme.
If you generate an XML schema from a database table containing full-width alphabet and digit names you will receive errors in the Tasks view. We recommend you do not give database tables and columns names that contain DBCS characters.
If the XSL stylesheet you apply to an XML file to has an infinite loop, you may receive an error message such as the following:
Xalan dies with a java.lang.StackOverflowError,
most likely due to deep recursion.You should fix your stylesheet before you re-run your transformation. If you do not fix the stylesheet and immediately re-run the transformation, you may receive a different error message - this occurs because memory failure can occur in different places in the virtual machine. If this occurs, you should close WebSphere Studio, restart it, and fix the XSL stylesheet to clean things up.
When applying an XSL file against an XML file that includes a DTD or XSD file, any settings that you have in the XML Catalog will be honored if you are launching the XSL Debugger in a local XSL process.
If your XSL file calls external Java beans and you have to launch the XSL Debugger in a remote XSL process, the URI to key mappings in the XML Catalog are not honored and you will receive a java.io.FileNotFound exception.
To work around this, change the XML file so that the included DTD or XSD can be located directly (that is, without going through the XML Catalog).
In certain cases, when an XML file is generated from a complex XML schema file, the XML file may not be valid.
If this occurs, you can open the generated file in the XML editor and correct any errors that occur. Usually, only a few errors need to be fixed.
The following XML schema constructs may present problems:
- Restrictions. Sometimes restricted elements are erroneously generated.
- Facets: Default generated data values may not conform to complex facets (for example, patterns).
- Abstract elements. abstract elements are sometimes erroneously generated.
When data is already stored in an XML file, you would invoke the 'XSL for XHTML template' wizard without selecting the 'Extract XML data from XHTML' option.
Due to a current limitation, the dataLogic file that is generated by the wizard must be hand edited to specify the data related logic specific to the XML file that is the subject of the transformation. Example dataLogic files are included in the 'XML from XSL and HTML' example project.
If you do not hand edit the data related logic file, the XSL files will produce a skeleton HTML file that will not include any data.
In some situations, having a relative path may not work. For example, you may want to define your import directive to be <xsl:import href="/myproject/xsl/test.xsl"/> for deployment on the server. If you want to use the XSL tools in the development enviroment to work with these URIs, you can go to the (Window > Preference) XSL debugging preference page and set up a context path. If specified, the context path will be prepended to these URIs during the URI resolution so that the XSL debugging and transformation tool can find the referenced files. Refer to the online help for more information.
Mapping to an XML element that has no content at all (e.g. <Person/>) is different than mapping to an XML element that containins character data (e.g. <Person>Molly</Person>). In the latter case, the mapping signifies that the data from the source node will be used as the character data for the target element. However, in the former case, the mapping is equivalent to nothing happening since the target element can never have any content. In other words, the mapping has no effect on the XSLT that is generated.
In a DTD, an element that has no content at all is specified using the keyword 'EMPTY' (for example, <!ELEMENT Person EMPTY>). In an XML schema, it is not as straight forward. One of the syntatically compact ways of specifying an empty content element in an XML schema is to define a complex type without any simple content or complex content (for example, <xsd:element name="Person"> <xsd:complexType/></xsd:element>). This can be interpreted as shorthand for complex content that restricts anyType.
For any XML to XML mapping, the Overview view always reflects the mappings in the current Target view. Therefore,if the target contains a choice, only the member currently showing in the Target view will appear in the Overview view. The other members of the choice, even though they may be mapped, will not appear in the Overview view. However all mappings do appear in the Outline view regardless of the current Target view.
The reload option, which is prompted when the contents of an edited file change on disk, does not do anything. This should be noted particularily for Team Support. In the case where a user checks out a file, and the file's contents are different than those in the editor, the editor will prompt the user to reload, but the reload action will not do anything. In this case, you should close down the RMX or XMX session and reopen it to edit the newly checked out file.
When creating an RMX session file, you are only allowed to create a session in an EJB project under any subdirectory of EJBProjectname/ejbmodule. You can manually move your RMX session file to an invalid directory (for example, directly under EJBProjectname), but if you do this, WebSphere Studio will not be able to resolve the RMX session properly.
When creating an RMX session file, you are only allowed to create a session in a Web project under any subdirectory of WebProjectName/Web Content. You can manually move your RMX session file to an invalid directory (for example, directly under WebProjectName), but if you do this, WebSphere Studio will not be able to resolve the RMX session properly.
The OASIS docbook DTD (version 4.1 and above) and instances of this DTD can not be validated by the by the XML tools. A bug in the packaged Xerces libraries causes the following error message:
The markup declarations contained or pointed to by the document type declaration must be well-formed. dbpoolx.mod line 2,498
A temporary workaround for this problem is to edit a few lines to remove the 'INCLUDE' block for the entity named areaspec.content.module. This can be achieved by commenting out lines as shown below.
[2495] <!--<!ENTITY % areaspec.content.module "INCLUDE">-->
[2496]<!--<![%areaspec.content.module;[-->
.
.
.
[2619]<!--end of areaspec.content.module--><!--]]>-->
The behavior of the XML parser when encountering an unresolvable URI (for example, in a DOCTYPE declaration) is to report a fatal IO error and stop any further processing. An unresolved URI is seen neither as a syntactic nor a semantic error and as such, the parser does not attempt to handle it. Essentially, the document remains unchecked.
For the Java Bean XML/XSL Client wizard if the bean has methods with the same parameter names, the fields for the input form will be generated with the same name as well.
The workaround is to rename method parameters so that there is no name overlap for parameters of the methods that are used for bean generation.
When you generate an XML schema from a DTD file that contains Hebrew or Arabic elements or generate a DTD from an XML schema that contains Hebrew or Arabic elements, certain element names may be encoded with their equivalent hexadecimal Hebrew and Arabic encoding values. To avoid this problem, change the encoding attribute of the original DTD or XML schema file to UTF-8 before performing the generation: That is, the XML declaration should be:
<?xml version="1.0" encoding="UTF-8"?>
The list of affected encoding values is:
- ISO-8859-8-I
- ISO-8859-8
- Windows-1256
- ISO-8859-6
In the Design view of the XML schema editor, renaming complex types that have complex or simple content causes a null pointer exception. However, this does not occur with complex types that have sequence, all, or choice content. To work around this, try renaming the complex type in the Source view.
In the Design view of the XML schema editor, when you are changing the derivation method of a complex type, the base type will reset to the first available type listed. When you are making these types of changes, edit the derivation method first, then change the base type.
The XSL Transform output view in the XSL debug perspective will not show any output when tracing an XSL transformation launched on a remote application.
If you change the target namespace in an XML schema, a new namespace is created with prefix Q1. To avoid this, first move your global elements and types to the top of the document (before they are actually referenced). Then, apply your target namespace change.
Using this example without DB2 installed or without a local DB2 JDBC driver will cause an unbound variable error to appear in the Tasks list. If you are planning to run the example without DB2, you can remove the DB2JAVA variable from the build path by right-clicking the WebEmployeeProject in the J2EE navigator view and selecting Properties > Java Build Path. In the Libraries tab, select DB2JAVA in the list and then click the Remove button. Click OK to close the wizard. If you are running the example with DB2 remotely, you will need to provide the location of the DB2 JDBC driver in the same tab in the Properties for the WebEmployeeProject. Select the DB2JAVA entry and click the Edit button.
Return to the main readme file