Hi,
I'm working on http://track.sipfoundry.org/browse/XX-7162 and I need
some advice/help regarding the transition from DTD to schema.
While most of the xml files are easy to change, there is one problem
with the tapestry.xml file. Basically, this xml file is validated by
DTD, but the problem is that it contains entities (as in DTD's <!ENTITY
... >). From what I read and understood, XML schema doesn't accept
entities and I didn't find yet a suitable way to replace them.
These entities are used for text replacing, regarding some composed
regular expressions and they are defined as it follows:
|<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"
[
<!-- Regexp fragments that are not atoms should be in (...), so that
modifiers ('?', '{...}', etc.) can be applied to them directly. -->
<!-- see: http://www.ietf.org/rfc/rfc3261.txt -->
<!-- this is actually concatenation of unreserved and user-unreserved
sets -->
<!-- To be used only inside [...], and only at the beginning, as it starts
with '-'. -->
<!ENTITY SIP_USER_UNRESERVED "-_.!~*'\(\)&=+$,;?/">
<!-- To be used only inside [...]. -->
<!ENTITY SIP_USER_CHARS "&SIP_USER_UNRESERVED;a-zA-Z0-9">
<!-- % is percent -->
<!ENTITY SIP_USER_ESCAPED "(%[0-9a-fA-F]{2})">
<!ENTITY SIP_USER_REGEX "(\[\])">
<!-- One octet of an IP address. (Allows leading zeros, up to 3
digits.) -->
<!ENTITY IP_ADDR_OCTET "(25[0-5]|2[0-4][0-9]|[01]?[0-9]{1,2})">
<!ENTITY IP_ADDR
"(&IP_ADDR_OCTET;\.&IP_ADDR_OCTET;\.&IP_ADDR_OCTET;\.&IP_ADDR_OCTET;)">
<!-- Components of DNS names, per RFC 1034 section 3.5. -->
<!ENTITY DNS_LET_DIG "[A-Za-z0-9]">
<!ENTITY DNS_LET_DIG_HYP "[-A-Za-z0-9]">
<!ENTITY DNS_LABEL "(&DNS_LET_DIG;(&DNS_LET_DIG_HYP;*&DNS_LET_DIG;)?)">
<!-- DNS domain names have at least 2 labels, of which the last contains
only letters and has at least 2 chars. 'localhost' is also
allowed.. -->
<!ENTITY DNS_DOMAIN_NAME "((&DNS_LABEL;\.){1,}[A-Za-z]{2,}|localhost)">
]>|
I would be really grateful if someone could help me with this.
The way I see it now. there are two ways to get past this:
- get rid of the entities and directly replace the references with the
full text in the xml file (that would result in having some pretty nasty
regular expressions in xml).
- leave the tapestry.xml as it is for now, validating it by DTD, and
maybe someone could come up with a proper change for it in the future.
What do you think? Am I missing something? Is there another way to do this?
Thanks,
Bogdan
_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/