Package Name | Comment |
org.netbeans.api.xml.lexer | |
org.netbeans.jellytools.modules.css.actions | |
org.netbeans.jellytools.modules.xml | |
org.netbeans.jellytools.modules.xml.actions | |
org.netbeans.jellytools.modules.xml.catalog | |
org.netbeans.jellytools.modules.xml.catalog.actions | |
org.netbeans.jellytools.modules.xml.catalog.nodes | |
org.netbeans.jellytools.modules.xml.catalog.operators | |
org.netbeans.jellytools.modules.xml.saxwizard | |
org.netbeans.jellytools.modules.xsl.actions | |
org.netbeans.lib.xml.lexer | |
org.netbeans.modules.xml | |
org.netbeans.modules.xml.actions | |
org.netbeans.modules.xml.api | |
org.netbeans.modules.xml.api.model |
XML Code Completion
XML Model SPIs
The SPI defines an interface of GrammarQuery provider.
Once registered (the registration methods depends on particular
client) it can reply to queries that can be resolved with a
grammar knowledge. It reuses DOM interfaces for context definition
however their semantics can be slightly changed. Most notably the DOM
is read-only and may throw DOMException.UNSUPPORTED_OPERATION from
more methods than defined by DOM IDLs.
How to Register a Provider
Default GrammarQuery registration mechanism uses
Lookup. Modules providing an implementation can register
{@link org.netbeans.modules.xml.api.model.GrammarQueryManager} at default filesystem. Such
registration can be than located by clients using
{@link org.netbeans.modules.xml.api.model.GrammarQueryManager#getDefault} which returns
an implementation proxing to registered ones.
XML Code Completion ("XCC") SPI Requirements
XML Phenomens to be Completed
- pairing end tag (must be solved by a client)
- element name and content
- attribute name and value (enumerated, ...)
- namespace prefix (namespaces declared)
- general reference name
- parameter reference name
- prolog content (must be solved by a client)
XCC Context
All bellow can be described by read-only DOM Node context.
- Current namespace (possibly derived from parents)
- Parents
- Siblings
- Attributes (what about default ones)
Document content that is not described by DOM Node that must be extra handled
by a client:
- Entity Prolog
- extra handling is easy no grammar required
- DTD Stuff
- what about it? exclude this support in GrammarQuery
Document DTD if any (note it is a responsibility of a binder)
XCC Interface
XCC behaviour should be pluggable, XML module should provide
a default implementation for:
- well formed document
- document history based completion (at least pairing tags)
- DTD grammar based completion
- content is forced by a DTD grammar
- Schema grammar based completion
- must be namespace aware
Particular XCC plugins can add some well-known global attributes at element content or
can provide information that is not provided by grammar (Ant task names and content)
or can handle new type of grammar.
Integration with Text Editor
Text editor must provide its context as virtual read-only Node representing
just edited phenomenon (therefore itself invalid).
Narrowing Context
Node context can be narrowed by knowledge of characters precending caret.
- whitespace in content
- complete element name, the first option is pairing end tag
- <ns:prefix
- complete element name starting with the prefix defined in given ns (detect that document use : for ordinary naming)
- </prefix
- complete pairing end tag starting with prefix
- <prefix
- complete element name or namespace starting with the prefix
- [prefix after] whitespace in element start tag markup
- complete namespace prefix of attribute name (global)
- &prefix
- list all declared general entities starting with prefix
- pseudo attribute name in prolog
- complete one of: version, standalone, encoding
- pseudo attribute value in prolog
- complete from list of known values (encodings)
Integration with Tree Editor
Narrowing Context
All particular text field values may be used as prefix, but in this mode
all other values can be hidden.
http://xml.netbeans.org/issues/show_bug.cgi?id=14296
|
org.netbeans.modules.xml.axi | |
org.netbeans.modules.xml.axi.datatype | |
org.netbeans.modules.xml.axi.impl | |
org.netbeans.modules.xml.axi.sync | |
org.netbeans.modules.xml.axi.util | |
org.netbeans.modules.xml.axi.visitor | |
org.netbeans.modules.xml.catalog |
Catalogs Package
Maintainer: Petr Kuzel
Updated on: 6th feb 2001
Introduction
What is catalog?
In order to use a variety of XML tools in a variety of
computer environments, the problem of addressing resources
that are inaccessible using their explicit system
identifiers must be solved.
The short term solution to this problem is to define an
entity catalog that handles the simple cases of mapping an
external entity's public identifier and/or system
identifier to an alternate URI. This solution allows for a
probably system-dependent but application-independent
catalog. Though it does not handle all issues that a
combination of a complete entity manager and storage
manager addresses, it simplifies both the use of multiple
products in a great majority of cases and the task of
processing documents on different systems.
What is Entity Resolution?
Entity resolution is the process that an XML processor goes through
when it has been requested to find another
file[1] in the course of
processing the file it's working on. The XML processor knows labelling
information about the file such as its system identifier and possibly
a name, public identifier, and so forth. These identifiers can be used
to determine the actual location of the desired external file. This
determination process (which "maps" the known labelling information
into an actual location) is called an entity resolution, and the file
that contains the specific mapping information is called the entity
resolution catalog.
[1] file
is used here for simplicity, but could be any other resource
consisting of such things as declarations, a parsed entity, an
unparsed entity, etc.
Requirements
Catalog can define public ID to system ID mappings.
Catalog must allow to mount user's catalogs
Mounted catalog's should be persistent
Catalog must provide mappings to OpenIDE APIs
Visualize build-in catalog
Define catalog SPI
Dependencies
OpenIDE should allow to add custom EntityResolvers.
Developer's View
OpenIDE Support
XMLDataObject allows registering custom catalogs by two methods.
XMLDataObject API
@deprecated
I call it Entity Resolving API. It consists of registerCatalogEntry() methods.
Two new methods have been introduced into it to support users catalogs:
addEntityResolver(EntityResolver resolver)
removeEntityResolver(EntityResolver resolver)
The mapping registered by registerCatalogEntry() must stay of
the highest priority
transient among IDE restarts
must use latter registered mapping prevails previous mapping strategy.
Declarative way
XMLDataObject recognize well known folder named XML/catalog containing
EntityResolver's implemetations registrations.
The Catalog package put there its implementation of EntityResolver.
User's Persistent Catalogs
A user can have its own catalog on some place following some DTD or
other format (SOCAT). This feature supports integration of such catalogs
into IDE mappings. Every catalog must provide
a CatalogReader interface implementation.
See SPI interface for details.
The catalog implementation provides a EntityResolver implementation
based upon mounted catalogs. The resolver is registered into the IDE resolver chain.
See JavaDoc.
User's View>
A user will browse and manage catalog using a node structure.
+ XML Catalog Browser ~-------------------------{root}
+ System Catalog [ro] ~--------------------{catalog}
| + -//Netbeans Toolbars DTD//EN ~---{catalog entry}
| + -//Other system DTD//EN
| + -//X Catalog//EN
+ My SOCAT [ro]
+ My XCatalog [rw]
+ +//WML 1.1//EN
Catalog Root
Root of all catalogs used in system. It always contains a system catalog as a child.
Actions:
Catalog
A catalog must be mounted by New action at Catalog Root. One mounted then all
actions in XML module use mappings defined by the catalog. Depending on catalog
type the mounting is persistent in per project basis.
Actions:
Delete: remove it if user confirms
Refresh: refreshes a catalog content
Catalog Entry
It may be read-only depending on catalog provider type.
Actions:
Properties:
|
org.netbeans.modules.xml.catalog.impl |
Catalog providers implementations
Catalog providers package
Maintainer: Petr Kuzel
Updated on: 6th feb 2001
SystemCatalogReader provides access to Netbeans build in catalog
XCatalogReader provides acess to catalogs following this DTD
<!ELEMENT XMLCatalog (Map | Remap | Delegate | Extend | Base)+>
<!ELEMENT Map EMPTY>
<!ATTLIST Map
PublicId CDATA #REQUIRED
HRef CDATA #REQUIRED>
<!ELEMENT Remap EMPTY>
<!ATTLIST Remap
SystemId CDATA #REQUIRED
HRef CDATA #REQUIRED>
<!ELEMENT Delegate EMPTY>
<!ATTLIST Delegate
PublicId CDATA #REQUIRED
HRef CDATA #REQUIRED>
<!ELEMENT Extend EMPTY>
<!ATTLIST Extend
HRef CDATA #REQUIRED>
<!ELEMENT Base EMPTY>
<!ATTLIST Base
HRef CDATA #REQUIRED>
It will move towards specs
|
org.netbeans.modules.xml.catalog.impl.sun |
This package represents a bridge to Sun's Entity and URI resolvers 1.1
that implements various catalog standards: OASIS, OASIS XML, TR9401 and
XML Catalog v0.4.
|
org.netbeans.modules.xml.catalog.lib | |
org.netbeans.modules.xml.catalog.settings | |
org.netbeans.modules.xml.catalog.spi |
XML Entity Catalog SPI
Maintainer: Petr Kuzel
Updated on: 31st June 2001
SPI Overview
The SPI is very simple, there is only one mandatory interface
to be implemented. Then the implementation must be integrated
with IDE.
SPI Implementator Guide
Every SPI implementation must implement interface
{@link org.netbeans.modules.xml.catalog.spi.CatalogReader CatalogReader}
allowing quering catalog for entries, refreshing its content and optionaly
listening on its content.
An SPI implementation should implement following interfaces:
- {@link org.netbeans.modules.xml.catalog.spi.CatalogDescriptor CatalogDescriptor} describing catalog instance
- {@link org.netbeans.modules.xml.catalog.spi.CatalogWriter CatalogWriter} allowing to modify catalog entries
- SAX's org.xml.sax.EntityResolver if it can resolve more complicated cases than public => system ID mappings
NetBeans IDE Platform Integration
An SPI implementation can register its availability using NetBeans Lookup.
A module providing a new SPI implementation registers its avaiability using
{@link org.netbeans.modules.xml.catalog.spi.CatalogProvider CatalogProvider}
instance (declared at its XML Layer):
<folder name="Services">
<folder name="Hidden">
<file name="my-company-netbeans-catalog-impl-MyProvider.instance" />
</filder>
</folder>
Where my.company.netbeans.catalog.impl.MyProvider public no-arg constructor
class implements the CatalogProvider interface.
Using CatalogProvider just provides a kind of factory, so that the user can add one or more
instances of the catalog at will. You may instead register a CatalogReader instance directly in
your layer in the folder Plugins/XML/UserCatalogs/ ; such catalogs will be preinstalled and not
deletable.
Forte for Java 3.0 Specifics Feature
If a catalog implements Serializable interface then
its mounting point is persistent among IDE restarts. In such case it is
highly recommended to explicitly declare serialVersionUID field.
|
org.netbeans.modules.xml.catalog.user | |
org.netbeans.modules.xml.catalogsupport | |
org.netbeans.modules.xml.catalogsupport.ui.customizer | |
org.netbeans.modules.xml.catalogsupport.util | |
org.netbeans.modules.xml.cookies | XML Cookies
XML DataObject allows plugin cookies. Most of this package
is implementation of plugin cookies framework.
|
org.netbeans.modules.xml.core | |
org.netbeans.modules.xml.core.lib | |
org.netbeans.modules.xml.dtd.grammar |
Simple DTD completion grammar
Simple DTD based Completion Grammar Package
This package implements simple DTD grammar. It means
that the grammar can resolve queries by using no
document context. It means that if a content model declaration
prescribes a sequence and a document already contains
starting sequence members the grammar will provide
these also because it does not support document context.
This simplification is same as for HTML grammar provided
by editor module.
On the other hand there it prepared class {@link ContentModel}
that handles it. It is ready to be integrated.
|
org.netbeans.modules.xml.jaxb | |
org.netbeans.modules.xml.jaxb.actions | |
org.netbeans.modules.xml.jaxb.api.model | |
org.netbeans.modules.xml.jaxb.api.model.events | |
org.netbeans.modules.xml.jaxb.cfg.schema | |
org.netbeans.modules.xml.jaxb.model | |
org.netbeans.modules.xml.jaxb.model.events | |
org.netbeans.modules.xml.jaxb.ui | |
org.netbeans.modules.xml.jaxb.util | |
org.netbeans.modules.xml.lib | |
org.netbeans.modules.xml.multiview | |
org.netbeans.modules.xml.multiview.cookies | |
org.netbeans.modules.xml.multiview.test | |
org.netbeans.modules.xml.multiview.test.bookmodel | |
org.netbeans.modules.xml.multiview.test.util | |
org.netbeans.modules.xml.multiview.ui | |
org.netbeans.modules.xml.nbprefuse | |
org.netbeans.modules.xml.nbprefuse.layout | |
org.netbeans.modules.xml.nbprefuse.render | |
org.netbeans.modules.xml.nbprefuse.util | |
org.netbeans.modules.xml.refactoring | |
org.netbeans.modules.xml.refactoring.impl | |
org.netbeans.modules.xml.refactoring.spi | |
org.netbeans.modules.xml.refactoring.ui | |
org.netbeans.modules.xml.refactoring.ui.views | |
org.netbeans.modules.xml.retriever | |
org.netbeans.modules.xml.retriever.catalog | |
org.netbeans.modules.xml.retriever.catalog.impl | |
org.netbeans.modules.xml.retriever.catalog.model | |
org.netbeans.modules.xml.retriever.catalog.model.impl | |
org.netbeans.modules.xml.retriever.catalog.test | |
org.netbeans.modules.xml.retriever.impl | |
org.netbeans.modules.xml.schema |
XML Schema Support
It may constitute separate module in future, therefore placing into expected
package to avoid typical de/serialization problems.
|
org.netbeans.modules.xml.schema.abe | |
org.netbeans.modules.xml.schema.abe.action | |
org.netbeans.modules.xml.schema.abe.navigator | |
org.netbeans.modules.xml.schema.abe.nodes | |
org.netbeans.modules.xml.schema.abe.nodes.properties | |
org.netbeans.modules.xml.schema.abe.palette | |
org.netbeans.modules.xml.schema.abe.visitors | |
org.netbeans.modules.xml.schema.abe.wizard | |
org.netbeans.modules.xml.schema.actions | |
org.netbeans.modules.xml.schema.completion | |
org.netbeans.modules.xml.schema.completion.spi | |
org.netbeans.modules.xml.schema.completion.util | |
org.netbeans.modules.xml.schema.cookies | |
org.netbeans.modules.xml.schema.model | |
org.netbeans.modules.xml.schema.model.impl | |
org.netbeans.modules.xml.schema.model.impl.xdm | |
org.netbeans.modules.xml.schema.model.readwrite | |
org.netbeans.modules.xml.schema.model.validation | |
org.netbeans.modules.xml.schema.model.visitor | |
org.netbeans.modules.xml.schema.multiview | |
org.netbeans.modules.xml.schema.refactoring | |
org.netbeans.modules.xml.schema.refactoring.query | |
org.netbeans.modules.xml.schema.refactoring.query.actions | |
org.netbeans.modules.xml.schema.refactoring.query.readers | |
org.netbeans.modules.xml.schema.refactoring.query.views | |
org.netbeans.modules.xml.schema.refactoring.ui | |
org.netbeans.modules.xml.schema.refactoring.ui.tree | |
org.netbeans.modules.xml.schema.ui.basic | |
org.netbeans.modules.xml.schema.ui.basic.editors | |
org.netbeans.modules.xml.schema.ui.basic.navigator | |
org.netbeans.modules.xml.schema.ui.basic.search | |
org.netbeans.modules.xml.schema.ui.basic.spi | |
org.netbeans.modules.xml.schema.ui.nodes | |
org.netbeans.modules.xml.schema.ui.nodes.categorized | |
org.netbeans.modules.xml.schema.ui.nodes.categorized.customizer | |
org.netbeans.modules.xml.schema.ui.nodes.categorized.newtype | |
org.netbeans.modules.xml.schema.ui.nodes.schema | |
org.netbeans.modules.xml.schema.ui.nodes.schema.properties | |
org.netbeans.modules.xml.schema.undo | |
org.netbeans.modules.xml.schema.wizard | |
org.netbeans.modules.xml.spi.dom |
Model SPI
Model SPI Description
The package supports DOM level 1. It can be utilized by
{@link org.netbeans.modules.xml.api.model} providers or various DOM wrappers.
Contributors please keep dependencies as small as possible. Generally DOM
and Java Core APIs are permitted.
|
org.netbeans.modules.xml.sync | |
org.netbeans.modules.xml.tax | |
org.netbeans.modules.xml.tax.beans | |
org.netbeans.modules.xml.tax.beans.customizer |
TODO
- Add possibility to set TreeFactory e.g. protected
AbstractTreeCustomizer.getFactory()
|
org.netbeans.modules.xml.tax.beans.editor | |
org.netbeans.modules.xml.tax.cookies | |
org.netbeans.modules.xml.tax.parser | |
org.netbeans.modules.xml.tax.traversal | |
org.netbeans.modules.xml.tax.util | |
org.netbeans.modules.xml.text | |
org.netbeans.modules.xml.text.api | |
org.netbeans.modules.xml.text.completion | |
org.netbeans.modules.xml.text.folding | |
org.netbeans.modules.xml.text.indent | |
org.netbeans.modules.xml.text.navigator | |
org.netbeans.modules.xml.text.navigator.base | |
org.netbeans.modules.xml.text.structure | |
org.netbeans.modules.xml.text.syntax | |
org.netbeans.modules.xml.text.syntax.dom |
Document based DOM
Document Based DOM
The package contains DOM level 1 Core and XML module
implemetation. The implementation is read-only and is on the
fly constructed from Document token chain.
Open Issues
Entity references cannot be properly resolved as DTD part
and all external stuff is completelly ignored. A callback
interface can be established for this purpose:
public interface EntityReferenceResolver {
NodeList resolveEntityReference(EntityReference ref) throws IOException;
}
Attribute values should report DTD defined defaults as it
cannot be also retrieved from token chain. In this case can be also
introduced a callback or does not stay fully with DOM spec. But is
it violation of spec? We are contruction DOM without DTD knowledge
so there are not default attributes declared.
|
org.netbeans.modules.xml.text.syntax.javacc | How to use this package
All Java code in this package is generated using JavaCC tool
from .jj files. It used to exist at
Metamata WWW pages.
Developer needs to postprocess generated files by erasing
all generated *Stream classes and sources. All .jj
grammars import lib subpackage which contains proper
implementation of these interfaces/classes.
This solution is not clean but current JavaCC and editor module does not
support better solution. Look for lexer.netbeans.org
that should provide stream based lexical analysis for editor that is more
suitable for JavaCC generated code.
XMLSyntax uses more general state stack than DTDSyntax integer array.
(It can be easily copy pasted to DTDSyntax shared text section.)
|
org.netbeans.modules.xml.text.syntax.javacc.lib | |
org.netbeans.modules.xml.text.test | |
org.netbeans.modules.xml.tools.actions | |
org.netbeans.modules.xml.tools.doclet | |
org.netbeans.modules.xml.tools.generator |
XML Generators Package
Maintainer: Petr Kuzel and Libor Kramolis
Updated on: 11th Jun 2001
Introduction
Generators in this package eliminates writing complex but routine code.
To do
What about sample implementation generate attributes switch
Requirements
Provide Java and XML code generators:
- Java code generator creating SAX parser of documents following given DTD.
- Java code generator creating DOM scanner (a visitor) of DOM following given DTD.
- DTD generator guessing it from an XML document.
- All Java generators produces a JAXP compliant code to achieve parser neutrality.
User's View
SAX Document Handler Wizard
This wizard is useful for generating XML content parsers. As typical example
can be taken a configuration file or incoming XML message. The wizard generates
callback interface that a user implements. Implementing this interface is
believed to be simpler and more versionable that implementing pure SAX intefaces directly.
The higher level generated handler interface is well defined, type safe and
is compatible for compatible DTDs.
The concept also saves the user from writing complex dispatch code.
The generated code depends on DTD availability and therefore does not support namespaces.
Term: Parslet stay for a set of data convertors.
Input
- DTD representing static vocabulary to be recognized
- DTD mapping allowing to define mapping between the vocabulary and a code.
Mapping key is and element name.
- JAXP version - version of JAXP to be used in generated methods
- SAX version - version of SAX parser to be used (depends on JAXP version)
- Output file names where generated code will be placed. There are 1-2 interfaces,
1 recognizer file and empty implementations files.
A user will customize all above using several steps wizard. The logical steps are provided bellow.
DTD to Method Mapping Step
Four types of element declarations are recognized:
- Data element representing (#PCDATA). It represents a data holder.
- Empty element representing EMPTY. It represents a data holder.
- Mixed element representing mixed content. It represents a data holder or a container or both.
- Container element allowing just another elements. It represents a container.
A data holder can be mapped into a handling method taking actual data and meta-data where
the actual data can be a result of parsing by a parslet.
It can be also ignored.
A container can be mapped into delimiter methods taking meta-data.
It can be also ignored.
The generator detects all DTD declarations and fills a mapping table.
It maps data holders into handle_elementname(Object data, Attributes meta)
event methods using no parslet.
It maps containers into start_elementname(Attributes meta) and
end_elementname(Attributes meta).
Data Holders to Parslet Mapping Step
It could constitute next optional step, possibly let a user
disable the parslet support at all (e.g. for Schema compatible parsers in future).
A parslet accepts names on Java method names that will perform the conversion.
Derending on return type the generator tries to guess an implementation.
Every parslet is generated as returnTYpe parsetMethodName(String data) throws SAXException
method.
Versions Step
JAXP and SAX versions compatibility is stated in following matrix.
SAX\JAXP | 1.0 | 1.1 |
1.0 | OK | OK |
2.0 | not possible | OK |
Output Destination Step
Generated files are placed into current package. Suggested file names
can be modified by a user. Generator left intact users implemetation files
if they exist. It replaces content of generated files leaving a backup copy
of originals.
Output
A code generated according the input. Files to be implemented are opened in editor.
Generator generates output files overwriting files that are not supposed to be
modified by user. Anyway it keep a backup copy of rewritten files.
Files to be automatically overwritten are parser, handler interface and parslet interface,
these content is driven by the DTD file.
Wizard Reentrance
Generator stores last customization done by user to a well known file.
The file name is derived from DTD file name. On subsequent start is tries to locate
this file and reuse it as much as possible (it depends on level od DTD changes).
This mechanism also allows a user to design mappings by creating the settings file by hand.
It is an XML document following "-//XML Module//DTD SAX Bindings 1.0//EN" DTD. On other hand by
deleting this file user can simply remove wrong settings and let the generator generate defaults.
DOM Scanner
It generates a DOM implematation independent visitor (a pattern) of passed DTD.
|
org.netbeans.modules.xml.tools.java.actions | |
org.netbeans.modules.xml.tools.java.generator | |
org.netbeans.modules.xml.tree |
Parser Package
Maintainer: Petr Kuzel and Libor Kramolis
Updated on: 6th feb 2001
The package provides a parser suitable for XML editing tasks.
There are two parsers provided.
-
A cloned implementation of Sun's JAXP 1.0 reference implementation parser.
Entity resolution is patched so it is suitable for
tools purposes (allows two-way). Rejected
-
ParserLoader represents a izolator implemented as
filtering class loader for particular Xerces implementation.
It will replace almost whole package in future.
|
org.netbeans.modules.xml.validation | |
org.netbeans.modules.xml.validation.ui | |
org.netbeans.modules.xml.wizard | |
org.netbeans.modules.xml.wsdl.bindingsupport.spi | |
org.netbeans.modules.xml.wsdl.bindingsupport.template | |
org.netbeans.modules.xml.wsdl.bindingsupport.template.localized | |
org.netbeans.modules.xml.wsdl.model | |
org.netbeans.modules.xml.wsdl.model.extensions | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.impl | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation.deprecation | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation.schema | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation.schema.resources | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation.semantic | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation.staticanalysis | |
org.netbeans.modules.xml.wsdl.model.extensions.bpel.validation.xpath | |
org.netbeans.modules.xml.wsdl.model.extensions.http | |
org.netbeans.modules.xml.wsdl.model.extensions.http.impl | |
org.netbeans.modules.xml.wsdl.model.extensions.http.validation | |
org.netbeans.modules.xml.wsdl.model.extensions.i18n | |
org.netbeans.modules.xml.wsdl.model.extensions.soap | |
org.netbeans.modules.xml.wsdl.model.extensions.soap.impl | |
org.netbeans.modules.xml.wsdl.model.extensions.soap.validation | |
org.netbeans.modules.xml.wsdl.model.extensions.xsd | |
org.netbeans.modules.xml.wsdl.model.extensions.xsd.impl | |
org.netbeans.modules.xml.wsdl.model.impl | |
org.netbeans.modules.xml.wsdl.model.readwrite | |
org.netbeans.modules.xml.wsdl.model.spi | |
org.netbeans.modules.xml.wsdl.model.visitor | |
org.netbeans.modules.xml.wsdl.refactoring | |
org.netbeans.modules.xml.wsdl.refactoring.ui.tree | |
org.netbeans.modules.xml.wsdl.refactoring.xsd | |
org.netbeans.modules.xml.wsdl.ui | |
org.netbeans.modules.xml.wsdl.ui.actions | |
org.netbeans.modules.xml.wsdl.ui.actions.extensibility | |
org.netbeans.modules.xml.wsdl.ui.actions.schema | |
org.netbeans.modules.xml.wsdl.ui.api.property | |
org.netbeans.modules.xml.wsdl.ui.commands | |
org.netbeans.modules.xml.wsdl.ui.common | |
org.netbeans.modules.xml.wsdl.ui.completion | |
org.netbeans.modules.xml.wsdl.ui.cookies | |
org.netbeans.modules.xml.wsdl.ui.extensibility.model | |
org.netbeans.modules.xml.wsdl.ui.extensibility.model.impl | |
org.netbeans.modules.xml.wsdl.ui.fastmodel | |
org.netbeans.modules.xml.wsdl.ui.fastmodel.impl | |
org.netbeans.modules.xml.wsdl.ui.model | |
org.netbeans.modules.xml.wsdl.ui.navigator | |
org.netbeans.modules.xml.wsdl.ui.netbeans.module | |
org.netbeans.modules.xml.wsdl.ui.property.model | |
org.netbeans.modules.xml.wsdl.ui.property.model.impl | |
org.netbeans.modules.xml.wsdl.ui.property.view | |
org.netbeans.modules.xml.wsdl.ui.property.view.impl | |
org.netbeans.modules.xml.wsdl.ui.schema.visitor | |
org.netbeans.modules.xml.wsdl.ui.search | |
org.netbeans.modules.xml.wsdl.ui.spi | |
org.netbeans.modules.xml.wsdl.ui.validation | |
org.netbeans.modules.xml.wsdl.ui.view | |
org.netbeans.modules.xml.wsdl.ui.view.common | |
org.netbeans.modules.xml.wsdl.ui.view.grapheditor | |
org.netbeans.modules.xml.wsdl.ui.view.grapheditor.actions | |
org.netbeans.modules.xml.wsdl.ui.view.grapheditor.border | |
org.netbeans.modules.xml.wsdl.ui.view.grapheditor.layout | |
org.netbeans.modules.xml.wsdl.ui.view.grapheditor.palette | |
org.netbeans.modules.xml.wsdl.ui.view.grapheditor.widget | |
org.netbeans.modules.xml.wsdl.ui.view.property | |
org.netbeans.modules.xml.wsdl.ui.view.treeeditor | |
org.netbeans.modules.xml.wsdl.ui.view.treeeditor.extension.bpel | |
org.netbeans.modules.xml.wsdl.ui.view.treeeditor.newtype | |
org.netbeans.modules.xml.wsdl.ui.view.treeeditor.pastetype | |
org.netbeans.modules.xml.wsdl.ui.wizard | |
org.netbeans.modules.xml.wsdl.ui.wsdl.nodes | |
org.netbeans.modules.xml.wsdl.ui.wsdl.util | |
org.netbeans.modules.xml.wsdl.validator | |
org.netbeans.modules.xml.wsdl.validator.spi | |
org.netbeans.modules.xml.wsdl.validator.visitor | |
org.netbeans.modules.xml.wsdl.validator.visitor.schema | |
org.netbeans.modules.xml.wsdlextui.property | |
org.netbeans.modules.xml.wsdlextui.property.http | |
org.netbeans.modules.xml.wsdlextui.template | |
org.netbeans.modules.xml.wsdlextui.template.http | |
org.netbeans.modules.xml.xam | |
org.netbeans.modules.xml.xam.dom | |
org.netbeans.modules.xml.xam.locator | |
org.netbeans.modules.xml.xam.spi | |
org.netbeans.modules.xml.xam.ui | |
org.netbeans.modules.xml.xam.ui.actions | |
org.netbeans.modules.xml.xam.ui.category | |
org.netbeans.modules.xml.xam.ui.column | |
org.netbeans.modules.xml.xam.ui.cookies | |
org.netbeans.modules.xml.xam.ui.customizer | |
org.netbeans.modules.xml.xam.ui.highlight | |
org.netbeans.modules.xml.xam.ui.layout | |
org.netbeans.modules.xml.xam.ui.multiview | |
org.netbeans.modules.xml.xam.ui.search | |
org.netbeans.modules.xml.xam.ui.undo | |
org.netbeans.modules.xml.xdm | |
org.netbeans.modules.xml.xdm.diff | |
org.netbeans.modules.xml.xdm.nodes | |
org.netbeans.modules.xml.xdm.perf | |
org.netbeans.modules.xml.xdm.visitor | |
org.netbeans.modules.xml.xdm.xam | |
org.netbeans.modules.xml.xpath | |
org.netbeans.modules.xml.xpath.common | |
org.netbeans.modules.xml.xpath.ext | |
org.netbeans.modules.xml.xpath.ext.impl | |
org.netbeans.modules.xml.xpath.ext.metadata | |
org.netbeans.modules.xml.xpath.ext.metadata.impl | |
org.netbeans.modules.xml.xpath.ext.metadata.impl.images | |
org.netbeans.modules.xml.xpath.ext.schema | |
org.netbeans.modules.xml.xpath.ext.spi | |
org.netbeans.modules.xml.xpath.ext.spi.validation | |
org.netbeans.modules.xml.xpath.ext.visitor | |
org.netbeans.modules.xml.xpath.ext.visitor.impl | |
org.netbeans.modules.xml.xpath.function.core | |
org.netbeans.modules.xml.xpath.function.core.visitor | |
org.netbeans.modules.xml.xpath.function.extension | |
org.netbeans.modules.xml.xpath.function.extension.impl | |
org.netbeans.modules.xml.xpath.function.extension.visitor | |
org.netbeans.modules.xml.xpath.impl | |
org.netbeans.modules.xml.xpath.visitor | |
org.netbeans.modules.xml.xpath.visitor.impl | |
org.netbeans.modules.xml.xsd | |
org.netbeans.modules.xsl | |
org.netbeans.modules.xsl.action | |
org.netbeans.modules.xsl.actions | |
org.netbeans.modules.xsl.api | |
org.netbeans.modules.xsl.cookies | |
org.netbeans.modules.xsl.grammar | |
org.netbeans.modules.xsl.settings | |
org.netbeans.modules.xsl.transform | |
org.netbeans.modules.xsl.ui | |
org.netbeans.modules.xsl.utils | |
org.netbeans.modules.xsl.wizard | |
org.netbeans.modules.xslt.core | |
org.netbeans.modules.xslt.core.context | |
org.netbeans.modules.xslt.core.multiview | |
org.netbeans.modules.xslt.core.multiview.mapper | |
org.netbeans.modules.xslt.core.multiview.source | |
org.netbeans.modules.xslt.core.multiview.spi | |
org.netbeans.modules.xslt.core.util | |
org.netbeans.modules.xslt.mapper | |
org.netbeans.modules.xslt.mapper.methoid | |
org.netbeans.modules.xslt.mapper.model | |
org.netbeans.modules.xslt.mapper.model.nodes | |
org.netbeans.modules.xslt.mapper.model.nodes.actions | |
org.netbeans.modules.xslt.mapper.model.nodes.visitor | |
org.netbeans.modules.xslt.mapper.model.targettree | |
org.netbeans.modules.xslt.mapper.palette | |
org.netbeans.modules.xslt.mapper.view | |
org.netbeans.modules.xslt.mapper.xpatheditor | |
org.netbeans.modules.xslt.model | |
org.netbeans.modules.xslt.model.enums | |
org.netbeans.modules.xslt.model.impl | |
org.netbeans.modules.xslt.model.spi | |
org.netbeans.modules.xslt.project | |
org.netbeans.modules.xslt.project.anttasks | |
org.netbeans.modules.xslt.project.anttasks.jbi | |
org.netbeans.modules.xslt.project.nodes | |
org.netbeans.modules.xslt.project.spi | |
org.netbeans.modules.xslt.project.ui | |
org.netbeans.modules.xslt.project.wizard | |
org.netbeans.modules.xslt.project.wizard.element | |
org.netbeans.modules.xslt.tmap | |
org.netbeans.modules.xslt.tmap.model.api | |
org.netbeans.modules.xslt.tmap.model.api.events | |
org.netbeans.modules.xslt.tmap.model.impl | |
org.netbeans.modules.xslt.tmap.model.spi | |
org.netbeans.modules.xslt.tmap.model.validation | |
org.netbeans.modules.xslt.tmap.model.xsltmap | |
org.netbeans.modules.xslt.tmap.multiview | |
org.netbeans.modules.xslt.tmap.multiview.designer | |
org.netbeans.modules.xslt.tmap.multiview.source | |
org.netbeans.modules.xslt.tmap.multiview.tree | |
org.netbeans.modules.xslt.tmap.navigator | |
org.netbeans.modules.xslt.tmap.nodes | |
org.netbeans.modules.xslt.tmap.nodes.actions | |
org.netbeans.modules.xslt.tmap.nodes.properties | |
org.netbeans.modules.xslt.tmap.util | |
org.netbeans.tax |
TODO
On request validation instead of Vetos and other setter constrains (see JAXB)
Use setPROP (checks WF and R/O and call impl) and setPROPImpl (just set and fire) pattern
mark checkXXX final ()
Tree package
It represent parser tree as tree of beans. The beans should form the tree using BeanContext.
The tree is produced by TreeBuilder that is basically a SAX handler.
Document and Declaration Nodes
Basically two kinds of nodes exist:
- declaratin nodes *.Decl[.]java
- document nodes
from any suitable document node can be obtained its declaration node by getDecl().
Document Nodes
Element nodes can be classified as:
- nodes that allows subelements boolean allowElements()
- nodes that allows text boolean allowText()
Indentation
The tree nodes implement method toXMLString(bool, Map) that is used
while generating plain text from the tree. The second argument holds
formatting arguments or null for no formating is applied at all.
|
org.netbeans.tax.decl | |
org.netbeans.tax.decl.parser | |
org.netbeans.tax.dom |
TAX DOM wrapper
Readonly DOM level 1 implementation wraping TAX.
Entry point is a set of {@link Wrapper.wrap} methods.
Why Wrapper?
Another alternative i.e. let TAX directly implement DOM
intefaces would polute TAX API and cause schizofreny.
Status
Prototype that doe not handle refs, PIs, comments etc. It should
prove concept only.
Why so Many new
Claim: Latest HotSpot has very optimalized new and
authors suggest to leave classical pool approach.
Consequence: This implementation uses very lightweight wrappers
therefore only drawback it increased garbage production. It should
be also handled in latest HotSpot implementations.
|
org.netbeans.tax.event | |
org.netbeans.tax.grammar | |
org.netbeans.tax.io |
io package
Overview
The package contains classes used for building and writing
down the tree structure (load/save).
Class Structure
TreeInputSource TreeOutputResult
| |
TreeBuilder TreeWriter
| |
*---------> Tree -----------+
- TreeInputSource
- interface representing a source providing a builder
available to build a tree instance from the source.
- TreeStreamSource
- TreeInputSource implemenation
reading data from SAX's InputSource.
- TreeBuilder
- interface with buildDocument() returning a tree instance
It returns XML or DTD tree depending on the source that provided it.
- TreeStreamBuilderXercesImpl
- TreeBuilder implementation
provided by TreeStreamSource
- TreeOutputResult
- provides getWriter() returning writer writing to
some output representation
- TreeStreamResult
- implementation of TreeOutputResult
SAX EntityResolver Replacement
- TreeEntityResolver
- an interface
- TreeEntityManager
- the void implementation
|
org.netbeans.tax.spec |
Spec package
Creator Interfaces Purpose
The intefaces allow to create minimal WF instance of given class.
Writer Interface Purpose
A visitor pattern for writing document down.
Constrains Interface Purpose
Every TreeObject is at all time well-formed. This interface
allow to add some context-free customizations.
|
org.netbeans.tax.test | |
org.netbeans.tax.traversal | |
org.netbeans.test.xml.schema | |
org.netbeans.test.xml.schema.core | |
org.netbeans.test.xml.schema.core.lib | |
org.netbeans.test.xml.schema.core.lib.dom.parser | |
org.netbeans.test.xml.schema.core.lib.sequential | |
org.netbeans.test.xml.schema.core.lib.types | |
org.netbeans.test.xml.schema.core.lib.util | |
org.netbeans.test.xml.schema.core.sequential | |
org.netbeans.test.xml.schema.lib | |
org.netbeans.test.xml.schema.lib.dom.parser | |
org.netbeans.test.xml.schema.lib.sequential | |
org.netbeans.test.xml.schema.lib.types | |
org.netbeans.test.xml.schema.lib.util | |
org.netbeans.test.xml.schema.sequential | |
org.netbeans.tests.xml | |
org.netbeans.xml.test.actions | |
org.netbeans.xml.test.catalog | |
org.netbeans.xml.test.core | |
org.netbeans.xml.test.core.wizardoperator | |