| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| |
| <HTML> |
| <BODY> |
| XML Tools API overview. |
| |
| <h2>Status</h2> |
| |
| Under development. |
| See also <a href="apichanges.html">API changes</a> document. |
| |
| <h2>Purpose</h2> |
| XML tools API simplifies writing inter-operable modules handling user's XML |
| resources. It also improves consistency of user experience as it introduces |
| minimum standard behavior support for all XML domains. |
| |
| <h2>Supported Use Cases</h2> |
| |
| <h3>Actions</h3> |
| XML is general document format that allows to define document structure |
| and semantics. It influences behavior of common user's actions. Particular |
| behavior of such action depends on specifics of defined semantics. This |
| can be modeled in OpenIDE APIs using cookies. XML tools API defines set of |
| common cookies {@link org.netbeans.api.xml.cookies} and support for their providers |
| {@link org.netbeans.spi.xml.cookies}. |
| <p>A user can take a cookie action from the action pool and put it on a data |
| object serving particular cookie. The action is performed via served cookie |
| that is aware of actual behavioural enhancement for given data object. |
| |
| <h3>User's XML Document Parsing</h3> |
| All standard XML processors APIs define call-back interfaces that must be provided |
| by clients. Further evaluation identifies one type of application wide |
| call-back interface - entity resolution (e.g. in SAX called |
| {@link org.xml.sax.EntityResolver}). XML tools API introduces notion of context |
| user's entity catalog service {@link org.netbeans.api.xml.services.UserCatalog} |
| back-ended by plugged in providers. |
| <p>A user has all their entity registrations at one place for given context and |
| these are shared by all processors handling user's documents in the context. |
| |
| <h3>Unification&Integration</h3> |
| Standard XML APIs (DOM, TrAX, SAX, OpenIDE) define a API for the same purpose |
| several times to avoid dependencies. |
| {@link org.netbeans.api.xml.parsers} provides classes bridging between them. |
| It also contains utility classes such as DTD parser. |
| |
| <h3>Model</h3> |
| Looking for model and 2-way editing support? We are looking for ideas |
| how to define it! |
| |
| |
| <!-- Contributors & Reviewers: |
| |
| Libor Kramolis |
| Svatopluk Dedic |
| Jaroslav Tulach |
| Petr Kuzel |
| --> |
| |
| </BODY></HTML> |