text:
Patent US20070170048 - Slide switch - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign in<nobr>Advanced Patent Search</nobr>PatentsA slide switch includes a disk-shaped control member laid over a support member accommodated in a casing, a plurality of transverse contacts arranged in positions to surround the control member, and an annular vertical contact arranged outwardly of the transverse contacts to detect a sliding operation...http://www.google.com/patents/US20070170048?utm_source=gb-gplus-sharePatent US20070170048 - Slide switchAdvanced Patent SearchPublication numberUS20070170048 A1Publication typeApplicationApplication numberUS 11/656,703Publication dateJul 26, 2007Filing dateJan 23, 2007Priority dateJan 25, 2006Also published asCN101009171A, CN101009171B, DE602007000520D1, EP1814130A1, EP1814130B1, US7294795Publication number11656703, 656703, US 2007/0170048 A1, US 2007/170048 A1, US 20070170048 A1, US 20070170048A1, US 2007170048 A1, US 2007170048A1, US-A1-20070170048, US-A1-2007170048, US2007/0170048A1, US2007/170048A1, US20070170048 A1, US20070170048A1, US2007170048 A1, US2007170048A1InventorsHayato Kondo, Takayuki NagataOriginal AssigneeHosiden CorporationExport CitationBiBTeX, EndNote, RefManReferenced by (1), Classifications (5), Legal Events (2) External Links: USPTO, USPTO Assignment, EspacenetSlide switchUS 20070170048 A1Abstract A slide switch includes a disk-shaped control member laid over a support member accommodated in a casing, a plurality of transverse contacts arranged in positions to surround the control member, and an annular vertical contact arranged outwardly of the transverse contacts to detect a sliding operation of the control member. Rod-shaped guide elements formed on peripheries of the support member are fitted into concaved engageable portions formed in the casing to be relatively movable in the pressing direction when the control member is pressed. The engageable portions and the guide elements constitute a posture maintaining mechanism.
The present invention relates to a slide switch comprising a control member slidable along an imaginary plane and pressable in a direction perpendicular to the imaginary plane, a plurality of transverse contacts arranged to surround the control member, and a vertical contact having a plurality of electrode portions associated with the plurality of transverse contacts to be conductive with any one of the transverse contacts when the control member is slid.
Japanese Patent Application �Kokai� No. 2003-31076 (paragraphs [0022] to [0038], and FIGS. 2 to 6) discloses a slide switch including an biasing member formed of elastomer, having four projections, and mounted in a casing, a sliding member fitted into a central portion of the biasing member, and a keytop connected to the sliding member. In this slide switch, four conductive elements are provided on outer peripheries of the biasing member while electrodes are arranged on inner walls of the casing in positions opposed to the conductive elements. With this arrangement, the keytop in a non-operative state is maintained in a neutral position by a biasing force exerted from the biasing member, and the conductive elements contact the electrodes to establish a conductive state when the keytop is operated. Also, this switch has a slider fitted into a side of the sliding member facing away from the keytop. The conductive elements are arranged in positions to contact the slider, and the electrodes are arranged in positions corresponding to the conductive elements. Each conductive element has a construction having a central portion projecting toward the slider. When the keytop is depressed, the conductive element is elastically deformed to contact the electrode thereby establishing a conductive state.
Japanese Patent Application �Kokai� No. 2003-50667 (paragraphs [0012] to [0026], and FIGS. 1 to 7) discloses a slide switch comprising a spacer, a control button, a return spring, a plunger, a sensing spring and a reverse spring laid one over another in a space between a base and a cover. In this slide switch, a knob of the control button projects to a center hole formed in the cover, and a biasing force is exerted on the control button from the return spring. A conductive rubber element is attached to a bottom surface of the control button, and guide projections are formed in a central portion of the bottom surface of the control button to be engageable with guide recesses formed in a top surface of the plunger. The guide recesses of the plunger are formed as grooves radially extending in eight directions from the center of the plunger. The plunger has a pressing projection formed in a bottom surface thereof, and an engaging projection formed in outer peripheries thereof to be engageable with the base for limiting rotation. The base has a central fixed contact provided in a circular recess formed in a central portion thereof, and peripheral fixed contacts formed in outer peripheries of the circular recess. The reverse spring and the sensing spring are arranged as corresponding to the circular recess.
With the construction of this conventional slide switch, the guide projections formed in the bottom surface of the control button are guided by the guide recesses of the plunger when the control button is slid, thereby allowing the button to be operated in eight directions. This sliding operation allows the conductive rubber element attached to the bottom surface of the control button to contact the peripheral vertical contacts of the base, thereby to electrically detect an operating direction. Further, when the control button is pressed while being slid, this operating force is transmitted to the reverse spring through the plunger. The central portion of the reverse spring contacts the central vertical contact thereby to electrically detect the pressing operation.
Recently, as switches provided in relatively small devices such as mobile phones, PDA', game equipment controllers and remote controllers, and the like, high-performance switches capable of being slid and pressed such as the slide switches disclosed in the above-noted publications have been desired, along with their downsizing. Further, from the aspect of the sense of operation, the sense of click and a smooth sliding operation are often desired. Also, in executing the sliding operation and the pressing operation at the same time, the sense of operation is enhanced by stabilizing the posture of the control member when pressed.
According to the slide switches disclosed in the above-noted publications where the control member in a non-operative state is positioned in the central position in plan view, the contacts for detecting a pressing operation of the control member and the springs for biasing the control member upward are located in the central position. Thus, the pressing force acts upon a position offset from the central position when the control member is pressed while being slid. The control member is inclined by the force unevenly applied to the control member to vary the stroke of the pressing operation and weaken the sense of operation. Further, the inclination of the control member causes malfunction.
Moreover, in the case of a switch using a member having a dome-shaped construction as a spring for biasing the control member upward, when the control member is pressed while being slid, the pressing force acts on a position offset from the central position of the dome, as a result of which the life of the dome-shaped spring is shortened.
SUMMARY OF THE INVENTION The object of the present invention is to provide a slide switch with a rational construction capable of realizing a smooth operation when the control member is pressed while being slid.
In order to achieve the above-noted object, the present invention provides a slide switch comprising a control member slidable in a direction along an imaginary plane and pressable in a direction perpendicular to the imaginary plane, a plurality of transverse contacts arranged to surround the control member, and a vertical contact having a plurality of electrode portions associated with the plurality of transverse contacts to be conductive with any one of the transverse contacts when the control member is slid, in which the switch further comprises a support member for contacting a sliding surface formed on a surface facing away from a control surface of the control member to allow the sliding movement of the control member, a casing for accommodating the support member and control member so that the members are movable in unison in the pressing direction, and a posture maintaining mechanism for maintaining a relative position between the control member and the casing when the control member and the casing are moved in the pressing direction, the posture maintaining mechanism being provided between the control member and the casing.
In a sliding operation using the control member, the control member is slid with the sliding surface of the control member contacting the support member to exert a pressing force from the control member on any one of the plurality of transverse contacts. The transverse contact contacts the vertical contact thereby to electrically detect the direction of the sliding operation. When the control member is pressed while being slid, a pressing force acts on a position offset from the central portion of the casing. At that time, the posture maintaining mechanism maintains the position, relative to the casing, of the support member contacting the control member. Thus, an inclination of the support member is restrained, and the support member and control member make a parallel movement in the pressing direction. As a result, a smooth operation is realized even when the control member is pressed while being slid.
According to one of the preferred embodiments of the invention, the casing includes an opening formed in a central portion of a top surface thereof, and the control member has an integral construction including a control portion projecting upward from the opening and a flange portion formed peripherally of a bottom surface of the control member, the support member having a larger diameter than the flange portion, and the posture maintaining mechanism includes guide elements formed on outer peripheries of the support member to extend along the pressing direction, and engageable portions formed in the casing to be engageable with the guide elements, the engageable portions allowing sliding movement of the guide elements in the pressing direction. With this construction, when the control member is pressed, the guide elements formed on the outer peripheries of the support member are slid relative to the engageable portions of the casing. As a result, the control member and support member make a parallel movement in unison in the pressing direction relative to the casing to avoid inclination of the control member.
According to another preferred embodiment, the casing includes an opening formed in a central portion of a top surface thereof, and the control member has an integral construction including a control portion projecting upward from the opening and a flange portion formed peripherally of a bottom surface of the control member, the support member having a larger diameter than the flange portion, and the posture maintaining mechanism includes guide elements formed in the casing to extend along the pressing direction, and engageable portions formed in outer peripheries of the support member to be engageable with the guide elements, the guide elements allowing sliding movement of the engageable portions in the pressing direction. With this construction, when the control member is pressed, the engageable portions formed in the outer peripheries of the support member are slid relative to the guide elements formed in the casing. As a result, the control member and support member make a parallel movement in unison in the pressing direction relative to the casing to avoid inclination of the control member.
According to a further preferred embodiment, the vertical contact is arranged to have an annular conductor surrounding the plurality of transverse contacts, and a plurality of biasing pieces are provided to project from the vertical contact toward the bottom surface of the support member to act as an biasing mechanism for exerting an biasing force on the support member counter to the pressing direction. With this construction, the vertical contact is formed as the annular member to act as a common contact, and thus the inner surface of the annular vertical contact contacts the transverse contacts to produce a conductive state, instead of using a plurality of vertical contacts corresponding to the plurality of transverse contacts. As a result, the sliding operation of the control member can be detected. Also, since the plurality of biasing pieces formed on the vertical contact are used as the biasing mechanism, the biasing force is exerted on the support member without using a coil spring or the like.
According to a still further embodiment, the vertical contact is supportably fitted into the bottom surface of the casing and includes conductive electrode portions extending downward from the vertical contact. With this construction, it is easy to apply a voltage to the annular member through the conductive electrode portions extending downward from the annular member, with the annular member being supportably fitted into the bottom surface of the casing, or to earth the annular member (to bring the voltage to a ground level).
According to a still further embodiment, the transverse contacts are supportably fitted into the bottom surface of the casing and include conductive electrode portions extending downward from the transverse contacts. With this construction, it is possible to recognize the sliding direction of the control member from a conductive state between the transverse contacts and the vertical contact through the electrode portions of the transverse contacts, with the plurality of transverse contacts being supportably fitted into the bottom surface of the casing.
Other features and advantages of the present invention will be apparent from the description of embodiments in reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a perspective view showing a slide switch mounted on a substrate;
FIG. 2 is a perspective view showing the substrate and the slide switch in an exploded state;
FIG. 3 is an exploded perspective view of the slide switch;
FIG. 4 is a perspective view showing the slide switch separated from the substrate;
FIG. 5 is a cross sectional plan view of the slide switch;
FIG. 6 is a bottom view of the slide switch;
FIG. 7 is a sectional view of the slide switch supported by the substrate;
FIG. 8 is a perspective view showing transverse contacts, a vertical contact and an elastic contact;
FIG. 9A is a sectional view of the slide switch in which a control member is in a non-operative state;
FIG. 9B is a sectional view of the slide switch in which the control member is in an operative state;
FIG. 10A is a perspective view of the elastic contact at start of a pressing operation;
FIG. 10B is a perspective view of the elastic contact in the middle of the pressing operation;
FIG. 10C is a perspective view of the elastic contact at the end of the pressing operation; and
FIG. 11 is a sectional view of a slide switch in another embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described hereinafter with reference to the accompanying drawings.
As shown in FIGS. 1 to 4, a slide switch comprises a regular octagonal casing 1 having a circular opening 1H formed in a central portion thereof to vertically extend therethrough, a disk-shaped control member 2 accommodated in the casing 1, a plate-shaped regular octagonal support member 3 accommodated in the casing 1 as placed in contact with the control member 2, eight transverse contacts 4 supported by the casing 1 in positions to surround the control member 2, a vertical contact 5 in the form of an annular element disposed in a position to surround the eight transverse contacts 4, a posture maintaining mechanism A for realizing a vertical parallel movement of the control member 2 and support member 3 laid one over the other when the control member 2 is pressed, a biasing mechanism B for exerting a biasing force in a direction to push back the support member 3, and an operation detecting mechanism C assuming a detecting state in response to pressure received from the support member 3 when the control member 2 is pressed. As described in detail below, the biasing mechanism B is realized by elements constituting the vertical contact 5.
This slide switch is incorporated into a mobile phone, a PDA, a controller for game equipment, a remote controller for a home electrical appliance or the like, and has a function for detecting a sliding operation of the control member 2 and a pressing operation of the control member 2.
Where an X-Y direction is defined as a direction of an imaginary plane (a horizontal surface of a substrate 10 in this embodiment) along which the control member 2 is slidable, a direction for the pressing operation may be defined as a Z direction perpendicular to the imaginary plane. While the vertical direction is irrelevant in using the slide switch, an upper position in the Z direction in FIGS. 1 and 2 is called the upper side for expediency.
In this slide switch, the operation detecting mechanism C is placed on the substrate 10. The casing 1 having the control member 2 and support member 3 is attached to the substrate 10 to cover the operation detecting mechanism C. However, the operation detecting mechanism C may be supported by a bottom portion of the casing 1.
In a non-operative state of the slide switch, the control member 2 is maintained in a neutral position N in the X-Y direction by an biasing force exerted from the eight transverse contacts 4 (see FIG. 9A), and at the same time a control surface 2T of the control member 2 is maintained in a non-operative position U in the Z direction by a biasing force exerted from the biasing mechanism B (see FIG. 7).
The casing 1 is formed of an insulating plastic material and includes a flat upper wall 1A, eight side walls 1B and positioning projections 1C provided on outer bottom portions of the side walls 1B. As shown in FIGS. 5 to 7, the circular opening 1H is formed in the upper wall 1A, and a member defining an opening edge projects downward to form an opening wall portion 1Ha. In the bottom of the casing 1 are formed eight first engageable grooves D1 into which the transverse contacts 4 are fitted, an annular second engageable groove D2 into which the vertical contact 5 is fitted, and eight engageable portions 1G recessed along the Z direction to receive eight guide elements 3G formed on the support member 3.
The control member 2 is formed of an insulating plastic material and includes a control portion 2A projecting upward and having a smaller diameter than the opening 1H of the casing 1, a flange portion 2B formed peripherally of the bottom of the control portion 2A and having a larger diameter than the opening 1H of the casing 1, a recess 2C formed in the bottom of the control portion 2A and having a circular shape in plan view, and an annular peripheral wall portion 2Ba extending upward from outer peripheries of the flange portion 2B.
The control surface 2T contacted by a finger of the operator is formed on a top surface of the control portion 2A of the control member 2. Sliding surfaces 2S are formed on the bottom surface of the flange portion 2B and the bottom surface of the recess 2C, respectively.
The support member 3 has an octagonal shape having a slightly larger diameter than the flange portion 2B, and includes a projection 3A having a circular shape in plan view and formed in a central portion of the top surface of the support member to be fitted into the recess 2C of the control member 2. A flat supporting surface 3S is formed in a portion surrounding the projection 3A. A boss 3P is formed in a central portion of the bottom surface. The eight guide elements 3G are formed in radially outward positions on the supporting surface 3S, and have a rod-like shape extending upward.
The recess 2C of the control member 2 has a diameter (inside diameter) large than the diameter (outside diameter) of the projection 3A of the support member 3. The peripheral wall portion 2Ba formed on the flange portion 2B of the control member 2 has a diameter (inside diameter) larger than the diameter (outside diameter) of the opening wall portion 1Ha formed on the casing 1. Thus, the control member 2 is allowed to slide relative to the support member 3.
In this slide switch, the top surface of the projection 3A of the support member 3 contacts the sliding surface 2S formed on the bottom surface of the recess 2C of the control member 2, and the supporting surface 3S of the support member 3 contacts the sliding surface 2S formed on the bottom surface of the flange portion 2B of the control member 2, thereby allowing the sliding operation of the control member 2. In the present invention, only one of the sliding surface 2S formed on the bottom surface of the recess 2C of the control member 2 and the sliding surface 2S formed on the bottom surface of the flange portion 2B of the control member 2 may act as the sliding surface 2S.
The eight guide elements 3G provided peripherally of the supporting surface 3S of the support member 3 are arranged in positions not to contact the flange portion 2B of the control member 2 when the control member 2 slides. The guiding direction of these eight guide elements 3G is the vertical direction parallel to the Z direction.
When the control member 2 is pressed, the control member 2 and support member 3 are vertically moved in unison. At this time, the eight engageable portions (holes) 1G formed in the casing 1 and the eight guide elements 3G fitted into the engageable portions 1G maintain an engaged condition, thereby to avoid a drawback of allowing the control member 2 and support member 3 to incline relative to the casing 1. The eight engageable portions 1G formed in the casing 1 constitute the posture maintaining mechanism A with the guide elements 13G.
The control member 2 slides with the lower sliding surface 2S of the control member 2 in contact with the supporting surface 3S formed on the top surface of the support member 3. To this end, the supporting surface 3S and the sliding surface 2S have flat and smooth finished surfaces. As an alternative to the above, another embodiment may be proposed in which fine projections are formed in one of the supporting surface 3S and sliding surface 2S, for example, to avoid a tight-contact condition.
As shown in FIG. 8, each of the transverse contacts 4 has an integral construction using a spring plate material made of flexibly and elastically deformable copper alloy and including a linear proximal end portion 4A, a contact portion 4B bulging and curving sideways from the proximal end portion 4, and an electrode portion 4C extending obliquely downward from a lower end of the proximal end portion 4A.
The transverse contacts 4 are supported with the proximal end portions 4A fitted into the first engageable grooves D1 formed in the casing 1. When the control member 2 is in the non-operative condition in the slidably operating direction, curved portions of the contact portions B of the plurality of transverse contacts 4 lightly contact the outer peripheries of the flange portion 2B of the control member 2 to maintain the control member 2 in the neutral position N.
The vertical contact 5 has an integral construction using a copper alloy material and including an annular portion 5A having an octagonal shape in plan view, a plurality of electrode portions 5B projecting obliquely downward from lower edges of the annular portion 5A, a plurality of biasing pieces 5C projecting obliquely upward from lower edges of the annular portion 5A. The plurality of biasing pieces 5C constitute the biasing mechanism B.
The electrode portions 5B and biasing pieces 5C are formed by bending inward parts of the annular portion 5A. The annular portion 5A is supported as fitted into the second engageable groove D2 of the casing 1, whereby the respective sides of the octagonal annular portion 5A are opposed in outward positions thereof to the contact portions 4B of the transverse contacts 4. Further, the plurality of biasing pieces 5C contact the bottom surface of the support member 3 to exert an upward biasing force thereon. The biasing force is exerted in this way and acts upon the control member 2 through the support member 3, as a result of which the flange portion 2B of the control member 2 contacts the inner surface of the upper wall 1A of the casing 1 as shown in FIG. 7, thereby to maintain the control surface 2T of the control member 2 in the non-operative position U.
The vertical contact 5 functions as a common electrode. The shape of the vertical contact 5 is not limited to the regular octagon, but may be circular or a polygon having sixteen sides, for example. The vertical contact 5 may be an incomplete annular member having slit parts.
In particular, the vertical contact 5 produces a conductive state when distal ends of the contact portions 4B of the transverse contacts 4 contact inner surfaces of the annular portion 5A. In this contacting condition, an oxide or dust can be removed from the surface by wiping action of the contact portions 4B frictionally moving on the inner surfaces of the annular portion 5A.
The electrode portions 4C of the eight transverse contacts 4 and the four electrode portions 5B of the vertical contact 5 are arranged to contact wiring formed on the substrate 10 to produce a conductive state when the casing 1 is attached to the substrate 10.
As shown in FIG. 8, the operation detecting mechanism C includes an elastic contact 7 arranged on the substrate 10 and a fixed electrode 8 formed on the substrate 10, and acts as a push-on switch. More particularly, the elastic contact 7 includes a rectangular frame portion 7A made of an elastically and flexibly deformable copper alloy, and a curved spring plate portion 7C made of the elastically and flexibly deformable copper alloy and arranged in a space confined by the frame portion 7A. The spring plate portion 7C is structurally and electrically connected to the frame portion 7A through a pair of connecting portions 7B.
The frame portion 7A has four sides, two of which are longer than the remaining two sides. Each of the longer sides has a bent portion 7Ap formed in a longitudinally middle position thereof to protrude upward, while each of the shorter sides has a projecting piece 7Aq formed in a middle portion thereof to protrude outward. Projecting portions 7Ar are formed in the four corners of the frame portion 7A to project outward along the longer sides. It should be noted that the spring plate portion 7C forming the elastic contact 7 is not necessarily curved, but may maintain a flat configuration in the non-operative condition while becoming curved in time of operation.
The elastic contact 7 may be formed by press-working an elastically and flexibly deformable copper alloy plate. At that time, the frame portion 7A, connecting portions 7B and spring plate portion 7C are formed. The spring plate portion 7C has a central portion which is curved to gently bulge upward. The elastic contact 7 is formed to have an overall configuration with the central portion bulging upward, and thus the four projecting portions 7Ar and the two projecting pieces 7Aq contact the substrate 10 when the elastic contact 7 is mounted on the substrate 10. The elastic contact 7 may be formed of a plurality of elements connected to one another by spot-welding technique or the like.
As shown in FIG. 2, the fixed electrode 8 includes a first electrode portion 8A, a second electrode portion 8B and a third electrode portion 8C formed on the substrate 10 by printed wiring technique. A ring-shaped electrode 11 is formed in a position to surround the first electrode portion 8A, second electrode portion 8B and third electrode portion 8C. The first electrode portion 8A is formed conductive with the ring-shaped electrode portion 11. Further, the ring-shaped electrode portion 11 is disposed in a position to be conductive with the electrode portions 5B of the vertical contact 5.
The first electrode portion 8A and second electrode portion 8B are arranged to be spaced downward from the connecting portions 7B, and the third electrode portion 8C is arranged to be spaced downward from the central portion of the spring plate portion 7C. Though not shown in the drawings, wiring is formed on the substrate 10 to fetch a potential difference between the first electrode portion 8A, second electrode portion 8B and third electrode portion 8C (for distinguishing between conductive state and non-conductive state).
As shown in FIGS. 7 and 10A, a relative positional relationship is established in which the lower surface of the boss 3P of the support member 3 is spaced from the central portion of the spring plate portion 7C by a distance G when the control member 2 is in the non-operative position U (where pressure is not exerted from the boss 3P of the support member 3).
On the other hand, as shown in FIG. 10B, when the control member 2 is pressed to exert pressure from the boss 3P of the support member 3 on the spring plate portion 7C, the spring plate portion 7C and connecting portions 7B start to be elastically deformed as a whole. Firstly, the pair of connecting portions 7B contact the corresponding first electrode portion 8A and second electrode portion 8B as shown in FIG. 10B, as a result of which the first electrode portion 8A and second electrode portion 8B become conductive.
When the pressing operation is further continued, as shown in FIG. 10C, the central portion of the spring plate portion 7C contacts the third electrode portion 8C while the pair of connecting portions 7B remain in contact with the corresponding first electrode portion 8A and second electrode portion 8B. As a result, the first electrode portion 8A and third electrode portion 8C become conductive.
Thus, when the control member 2 is pressed, the pair of connecting portions 7B undergoes a change in posture to become parallel to the substrate 10, and subsequently the spring plate portion 7C is displaced toward the substrate 10. In time of the displacement, the spring plate portion 7C is elastically deformed to the extent that its bulging direction is reversed. As a result, not only is it possible to switch to a reliable conductive state by allowing the central portion of the spring plate portion 7C to contact the third electrode 8C by a resilient biasing force, but also an appropriate feel of clicking can be obtained. It is possible to recognize the conductive state from a relative potential between the first electrode portion 8A, second electrode portion 8B and third electrode portion 8C.
The substrate 10 includes eight independent electrodes 12 formed by printed wiring technique, and printed wiring is formed for fetching a potential from each independent electrode 12. In the state where the casing 1 is fixed to the substrate 10, the eight electrode portions 4C of the transverse contacts 4 contact the independent electrodes 12 thereby to produce a conductive state therebetween, while the electrode portions 5B of the vertical contact 5 contact the ring-shaped electrode 11 to produce a conductive state.
As noted above, the eight independent electrode portions 12 are allowed to contact the eight electrode portions 4C of the transverse contacts 4 to be electrically conductive with each other. Instead, these electrode portions may be made conductive with each other by soldering using a reflow technique or the like. In a similar manner, instead of allowing the electrode portions 5B of the vertical contact 5 to contact the ring-shaped electrode 11 to be electrically conductive with each other, these electrode portions may be made conductive with each other by soldering using the reflow technique or the like.
With the slide switch constructed in this way, when the control member 2 is in the non-operative condition, as shown in FIG. 9A, the control member 2 is maintained in the neutral position N by the biasing force exerted from the eight transverse contacts 4, and also maintained in the non-operative position U by the biasing force exerted from the plurality of biasing pieces 5C acting as the biasing mechanism B. When, in this state, the operator touches the control surface 2T of the control member 2 with his or her finger and slides the control member 2 on the plane along the X-Y direction, as shown in FIG. 9B, the transverse contacts 4 are elastically deformed by pressure from the flange portion 2B of the control member 2. As a result, the contact portions 4B contact the annular portion 5A of the vertical contact 5 thereby to produce the conductive state. This conductive state is electrically detected.
When the control member 2 is slid in an intermediate direction between two adjacent ones of the eight transverse contacts 4, the two transverse contacts 4 can concurrently contact corresponding parts of the annular portion 5A thereby to produce the conductive state. More particularly, the slide switch according to the present invention includes the eight transverse contacts 4, but can detect operations made in sixteen directions.
With this construction, when the control member 2 is operated to move the control member 2 in a direction along the inner peripheral edge of the opening 1H of the casing 1, any one of the contact portions 4B of the transverse contacts 4 having been in contact with the annular portion 5A of the vertical contact 5 maintains its contacting condition. In this condition, an adjacent one of the contact portions 4B of the transverse contacts 4 contacts the annular portion 5A of the vertical contact 5. Subsequent to the latter contact, the contact portion 4B of the transverse contacts 4 having been in contact with the annular portion 5A of the vertical contact 5 earlier is moved away from the annular portion 5A of the vertical contact 5. That is, the contact portions 4B of the transverse contacts 4 and the annular portion 5A of the vertical contact 5 never move out of contact with each other in the course of this operation. Thus, there occurs no detection state similar to that in which the control member 2 is returned to the neutral position N. This eliminates the possibility of erroneous detection.
Further, in the slide switch according to the present invention, the relative positional relationship in the sliding direction between the support member 3 and operation detecting mechanism C is not changed when the control member 2 is slid. Thus, when the control member 2 is pressed along the Z direction while maintaining the condition where the contact portions 4B of the transverse contacts 4 are in contact with the annular portion 5A of the vertical contact 5, this pressing operation can be electrically detected by the operation detecting mechanism C.
In particular, since the slide switch according to the present invention includes the posture maintaining mechanism A, the control member 2 placed over the support member 3 is moved in the Z direction in unison when the control member 2 is operated. During this movement, with the eight guide elements 3G formed peripherally of the supporting surface 3S fitted into the eight engageable portions 1G formed in the casing 1, the relative position between the casing 1 and support member 3 is not changed. As a result, the vertical parallel movement in the pressing direction can be realized without inclining the posture.
Other Embodiments The present invention is not limited to the above embodiment, but may be modified as follows:
(a) As shown in FIG. 11, the posture maintaining mechanism A may include a plurality of guide elements 1K formed on the bottom surface of the casing 1 to project downward, and a plurality of hole-like engageable portions 3K formed in the outer peripheries of a flange portion 3B of the support member 3 to be engageable with the guide elements 1K. With this construction, the vertical parallel movement in the pressing direction of the control member 2 placed over the support member 3 can be realized when the control member 2 is pressed, without inclining the posture thereof.
(b) It is possible to employ the construction including the plurality of recessed engageable portions 1G formed in the bottom surface of the casing 1 and the plurality of rod-shaped guide elements 3G formed on the outer peripheries of the flange portion 3B of the support member 3 as in the described embodiment, and further including the plurality of guide elements 1K formed on the bottom surface of the casing 1 to project downward and the plurality of hole-like engageable portions 3K formed in the outer peripheries of a flange portion 3B of the support member 3 to be engageable with the guide elements 1K as in the alternative embodiment (a). Such a combination of the construction of the embodiment and the construction of the alternative embodiment (a) can realize the vertical parallel movement in the pressing direction without inclining the posture.
(c) The engagement construction need not be employed as the posture maintaining mechanism A. For example, guide surfaces may be formed on the outer peripheries of the support member 3 along the Z direction while slidably contact portions may be formed on the bottom surface of the casing 1 to slidably contact the guide surfaces, or guide surfaces may be formed on the casing 1 in the Z direction while slidable contact portions may be formed on the support member 3 to slidably contact the guide surfaces.
Referenced byCiting PatentFiling datePublication dateApplicantTitleUS20110183759 *Jan 27, 2010Jul 28, 2011Chu-Keng LinJoystick Controller* Cited by examinerClassifications U.S. Classification200/5.00RInternational ClassificationH01H13/70Cooperative ClassificationH01H2025/004, H01H25/002European ClassificationH01H25/00BLegal EventsDateCodeEventDescriptionApr 14, 2011FPAYFee paymentYear of fee payment: 4Jan 23, 2007ASAssignmentOwner name: HOSIDEN CORPORATION, JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONDO, HAYATO;NAGATA, TAKAYUKI;REEL/FRAME:018827/0505Effective date: 20070112RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google


text:
[Exist-open] [ exist-Bugs-2784478 ] xml:space="preserve" ignored at saving
From: SourceForge.net <noreply@so...> - 2009-04-30 16:35:08
Bugs item #2784478, was opened at 2009-04-30 20:35
Message generated for change (Tracker Item Submitted) made by xslt
https://sourceforge.net/tracker/?func=detail&atid=117691&aid=2784478&group_id=17691
Submitted By: Vyacheslav Sedov (xslt)
Summary: xml:space="preserve" ignored at saving
just note that eXist remove some spaces at saved xslt after reload - so i try use xml:space="preserve" at root element (not works)
> I think there is only one proper way to do this i.e. not
> doing string manipulation on XML!
> So you would first use httpclient, and then use XSLT or XQuery to
> transform the XML from httpclient into the XML you want to work
[Exist-open] [ exist-Patches-2783762 ] Suggested patch to get-feed.xq Atom module to remove redund
From: SourceForge.net <noreply@so...> - 2009-04-29 16:24:21
Patches item #2783762, was opened at 2009-04-29 12:24
https://sourceforge.net/tracker/?func=detail&atid=317691&aid=2783762&group_id=17691
Summary: Suggested patch to get-feed.xq Atom module to remove redund
I had some trouble with the latest (revision 8941) version of eXist's Atom module recently. I was trying to get FeedDemon to accept an Atom feed that was generated by eXist but it would not recognize it as valid.
This is probably a problem with FeedDemon but in researching it, I noticed that eXist's Atom feeds now have a lot of redundant xml namespace declarations for the atom namespace. I traced this down to a change to src/org/exist/atom/modules/get-feed.xq. I am proposing the attached small patch.
2009/4/29 Joop Ringelberg <joop.ringelberg@...>:
> The thing is, I would have liked to receive the XML body content
> 'uninterpreted' as it were, as a string rather than elements, so I could
> modify it before it is interpreted.
> However, I now know this will not happen with the httpclient as it sort of
> analyses the content received, by default trying to parse it as XML.
> I'll think of another way of doing it.
> On Wed, 2009-04-29 at 12:37 +0200, Huib Verweij wrote:
> I'm not exactly sure what you're trying to do, but is seems to me that the
> httpclient does what it's supposed to do, namely "XML body content will be
> returned as a Node". Again, I'm not sure. You could try using the
> transform:transform function in your xquery to create the content you want
> from the httpclient XML.
> Op 29 apr 2009, om 09:46 heeft Joop Ringelberg het volgende geschreven:
> I need to be able to 'catch' xml content sent from a server as a string (I
> cannot influence what is sent. The xml I receive has a default namespace
> "http://www.re-phrase.com/klikpraat";, but subelements "sentence" have mixed
> content with xhtml elements in them - however, these elements usually have
> no explicit namespace. eXist (correctly) puts them in the
> "http://www.re-phrase.com/klikpraat"; namespace. So what I want to do is to
> manipulate the text of the content before it is interpreted as XML by eXist,
> that is, put the sentence explicitly in the
> "http://www.re-phrase.com/klikpraat"; namespace and put a default xhtml
> namespace in it so the subelements will be in the correct namespace).
> I retrieve the content using the httpclient module. However, I cannot make
> it so that the received content is a string - it is always an element. I use
> version 1.2.5. The documentation says:
> "XML body content will be returned as a Node, HTML body content will be
> tidied into an XML compatible form, a body with mime-type of "text/..." will
> be returned as a URLEncoded string, and any other body content will be
> returned as xs:base64Binary encoded data."
'uninterpreted' as it were, as a string rather than elements, so I could
I'll think of another way of doing it.
> I'm not exactly sure what you're trying to do, but is seems to me that
> the httpclient does what it's supposed to do, namely "XML body content
> will be returned as a Node". Again, I'm not sure. You could try using
> the transform:transform function in your xquery to create the content
> you want from the httpclient XML.
> Op 29 apr 2009, om 09:46 heeft Joop Ringelberg het volgende
> > I need to be able to 'catch' xml content sent from a server as a
> > string (I cannot influence what is sent. The xml I receive has a
> > default namespace "http://www.re-phrase.com/klikpraat";, but
> > subelements "sentence" have mixed content with xhtml elements in
> > them - however, these elements usually have no explicit namespace.
> > eXist (correctly) puts them in the
> > "http://www.re-phrase.com/klikpraat"; namespace. So what I want to do
> > is to manipulate the text of the content before it is interpreted as
> > XML by eXist, that is, put the sentence explicitly in the
> > "http://www.re-phrase.com/klikpraat"; namespace and put a default
> > xhtml namespace in it so the subelements will be in the correct
> > I retrieve the content using the httpclient module. However, I
> > cannot make it so that the received content is a string - it is
> > always an element. I use version 1.2.5. The documentation says:
> > "XML body content will be returned as a Node, HTML body content will
> > be tidied into an XML compatible form, a body with mime-type of
> > "text/..." will be returned as a URLEncoded string, and any other
> > body content will be returned as xs:base64Binary encoded data."
I'll probably just analyse the mixed content and put any subelements in
> Joop Ringelberg wrote:
>   Joop,
> > Why is the type attribute of the httpclient:body equal to
> > "xml"? I guess I need it to be "text",
> > so how can I achieve that? Or what am I doing wrong?
>   As far as I know, eXist's HTTP Client does not use the
> Content-Type header of the response to decide whether the
> response entity content is XML or not.  The algorithm is:
>   - the content is parsed as XML, if this does not fail, then it
>     assumed to be XML;
>   - if that failed, and if Content-Type is HTML, then it is
>     parsed as HTML (to an XDM element node);
>   - if not, then if Content-Type is text/*, it is URL-encoded,
>     else it is Base64-encoded, and in both cases it is returned
>     as a text node.
>   At least, that's what I understand from the sources.  AFAIK
> there is no way to override that decision (and for instance to
> say "no, I want you to interpret response as text, or binary,
> even if it looks like well-formed XML.")
>   Hope that helps,
> Why is the type attribute of the httpclient:body equal to
> "xml"? I guess I need it to be "text",
> so how can I achieve that? Or what am I doing wrong?
As far as I know, eXist's HTTP Client does not use the
At least, that's what I understand from the sources.  AFAIK
say "no, I want you to interpret response as text, or binary,
even if it looks like well-formed XML.")
I'm not exactly sure what you're trying to do, but is seems to me that
the httpclient does what it's supposed to do, namely "XML body content
will be returned as a Node". Again, I'm not sure. You could try using
> I need to be able to 'catch' xml content sent from a server as a
> string (I cannot influence what is sent. The xml I receive has a
> default namespace "http://www.re-phrase.com/klikpraat";, but
> subelements "sentence" have mixed content with xhtml elements in
> them - however, these elements usually have no explicit namespace.
> eXist (correctly) puts them in the "http://www.re-phrase.com/
> klikpraat" namespace. So what I want to do is to manipulate the text
> of the content before it is interpreted as XML by eXist, that is,
> put the sentence explicitly in the "http://www.re-phrase.com/
> klikpraat" namespace and put a default xhtml namespace in it so the
> subelements will be in the correct namespace).
> I retrieve the content using the httpclient module. However, I
> cannot make it so that the received content is a string - it is
> always an element. I use version 1.2.5. The documentation says:
> "XML body content will be returned as a Node, HTML body content will
> be tidied into an XML compatible form, a body with mime-type of
> "text/..." will be returned as a URLEncoded string, and any other
> body content will be returned as xs:base64Binary encoded data."
I need to be able to 'catch' xml content sent from a server as a string
namespace "http://www.re-phrase.com/klikpraat";, but subelements
"sentence" have mixed content with xhtml elements in them - however,
puts them in the "http://www.re-phrase.com/klikpraat"; namespace. So what
"http://www.re-phrase.com/klikpraat"; namespace and put a default xhtml
"XML body content will be returned as a Node, HTML body content will be
tidied into an XML compatible form, a body with mime-type of "text/..."
be returned as xs:base64Binary encoded data."
<rp:phrases xmlns="http://www.re-phrase.com/klikpraat";
xmlns:rp="http://www.re-phrase.com/klikpraat"; source="main"
author="Joop" dateTime="2009-03-26T21:54:12.984+01:00"
nextPhraseIndex="50" displayName="adminHelp" product="autoAnswer"
defaultLanguage="en" languages="en" auto_res="andere tevree"
open_text_response="" rol1="support" rol2="client" top_phrase="id1"
onStartConversation="autoAnswer" afterGetOptions="autoAnswer"
deviceType="options-below" stylesheet="adminHelp">
<phrase id="id1" role="support" source="main">
<sentence language="nl">Waar wilt u iets over vragen?</sentence>
<sentence language="en">What do you want to ask
about?</sentence>
<re id="id2"/>
<re id="id3"/>
<re id="id4"/>
<re id="id5"/>
<re id="id6"/>
<re id="id7"/>
<re id="id8"/>
<re id="id9"/>
statusCode="200">
<httpclient:headers>
<httpclient:header name="Date" value="Wed, 29 Apr 2009 06:31:21 GMT"/>
<httpclient:header name="Server" value="Jetty/5.1.12 (Linux/2.6.24-23-generic i386 java/1.6.0_0"/>
<httpclient:header name="X-XQuery-Cached" value="true"/>
<httpclient:header name="Expires" value="Thu, 01 Jan 1970 00:00:00 GMT"/>
<httpclient:header name="Content-Type" value="text/plain; charset=UTF-8"/>
<httpclient:header name="Content-Length" value="5771"/>
<httpclient:header name="Set-Cookie" value="JSESSIONID=99u507st3y53;Path=/exist"/>
</httpclient:headers>
<httpclient:body mimetype="text/plain; charset=UTF-8" type="xml">
<rp:phrases xmlns:rp="http://www.re-phrase.com/klikpraat"; source="main" author="Joop" dateTime="2009-03-26T21:54:12.984+01:00" nextPhraseIndex="50" displayName="adminHelp" product="autoAnswer" defaultLanguage="en" languages="en" auto_res="andere tevree" open_text_response="" rol1="support" rol2="client" top_phrase="id1" onStartConversation="autoAnswer" afterGetOptions="autoAnswer" deviceType="options-below" stylesheet="adminHelp">
<rp:phrase id="id1" role="support" source="main">
<rp:sentence language="nl">Waar wilt u iets over vragen?</rp:sentence>
<rp:sentence language="en">What do you want to ask about?</rp:sentence>
<rp:re id="id2"/>
<rp:re id="id3"/>
<rp:re id="id4"/>
<rp:re id="id5"/>
<rp:re id="id6"/>
<rp:re id="id7"/>
<rp:re id="id8"/>
<rp:re id="id9"/>
</rp:phrase>
Why is the type attribute of the httpclient:body equal to "xml"? I guess I need it to be "text", so how can I achieve that? Or what am I doing wrong?
[Exist-open] [ exist-Bugs-2783190 ] XQueryURLRewrite.doFilter exception
From: SourceForge.net <noreply@so...> - 2009-04-28 20:30:08
Bugs item #2783190, was opened at 2009-04-28 20:30
https://sourceforge.net/tracker/?func=detail&atid=117691&aid=2783190&group_id=17691
Summary: XQueryURLRewrite.doFilter exception
Platform: Windows XP, java 1.6.0-14, 1.3.0dev, rev.8920
I receive this error in stderr. There is no particular pattern what causes it.
28 Apr 2009 17:08:23,316 [P1-2] WARN  (ServletHandler.java [handle]:577) - EXCEPTION
at org.exist.http.urlrewrite.XQueryURLRewrite.doFilter(XQueryURLRewrite.java:389)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandle
r.java:821)
Re: [Exist-open] JVM settings under Windows Server 2003
From: Joe Wicentowski <joewiz@gm...> - 2009-04-28 18:20:45
> The best solution for assigning lot's of memory to Java is...... to switch
> to a 64bit operating system :-(
Thanks, yes, I forgot to mention in my post that we're using the
32-bit version.  I just inquired with our IT department, and 64-bit
> I have reading along, but for windows 32 the 1.5-1.6 gig limit seems to be
> quite hard. The term "contiguous heap space" returned a few times,
> e.g. http://mail-archives.apache.org/mod_mbox/incubator-uima-dev/200903.mbox/%3Cb917db630903080758p12fd797fxdc0c1aef8c64b596@...%3E
Thanks for this link.  That individual was successful with 1327MB on a
32-bit windows machine.
The Windows knowledgebase article
mentioned how to allocate 3MB to a process, but I'm a little hesitant
since it sounds like in addition to tweaking the OS, the application
needs to have certain flags set too.
I think I'll stick with an -Xmx of 1300MB for now, and that should
give us some good breathing room.  If anyone else has suggestions /
experiences to share, do tell.
From: Dannes Wessels <dizzzz@ex...> - 2009-04-28 17:37:13
On 28 Apr 2009, at 19:25 , Joe Wicentowski wrote:
> Does anyone have experience assigning eXist lots of memory (> 1.5 G)
> What I've gleaned is that we can safely assign eXist an -Xmx of 1350M.
> Anything above that, and we're straying into unknown territory.  Has
> We're basically trying to give eXist as much memory as possible in
> order to withstand more traffic.
I have reading along, but for windows 32 the 1.5-1.6 gig limit seems
to be quite hard. The term "contiguous heap space" returned a few
times, e.g. http://mail-archives.apache.org/mod_mbox/incubator-uima-dev/200903.mbox/%3Cb917db630903080758p12fd797fxdc0c1aef8c64b596@...%3E
The best solution for assigning lot's of memory to Java is...... to
switch to a 64bit operating system :-(
[Exist-open] JVM settings under Windows Server 2003
From: Joe Wicentowski <joewiz@gm...> - 2009-04-28 17:25:39
Does anyone have experience assigning eXist lots of memory (> 1.5 G)
I've been trying to ascertain the optimal maximum memory settings for
eXist running under Windows Server 2003 \ (SP2) Standard Edition, with
Several people have suggested links:
- Dannes (via Wolfgang) has pointed me to
- Loren (via Dan) has pointed me to
http://weka.wiki.sourceforge.net/Java+Virtual+Machine.
What I've gleaned is that we can safely assign eXist an -Xmx of 1350M.
Anything above that, and we're straying into unknown territory.  Has
We're basically trying to give eXist as much memory as possible in
order to withstand more traffic.  Memory is one prong in a
multi-pronged effort to optimize queries and indexes, use browser
caching, debug, and improve stability/recovery.
Re: [Exist-open] xinclude via util:serialize
From: James Fuller <james.fuller.2007@gm...> - 2009-04-28 16:17:04
added test method for this in SerializeTest.java
doesn't pass but that might be down to the test ... if u can take a
quick look be appreciated.
On Tue, Apr 28, 2009 at 5:38 PM, Wolfgang <wolfgang@...> wrote:
>> can anyone confirm if this is a bug in current trunk
> http://exist.svn.sourceforge.net/exist/?rev=8936&view=rev
From: Wolfgang <wolfgang@ex...> - 2009-04-28 15:38:20
> can anyone confirm if this is a bug in current trunk
http://exist.svn.sourceforge.net/exist/?rev=8936&view=rev
Re: [Exist-open] problem building exist with lucene
From: Wolfgang <wolfgang@ex...> - 2009-04-28 15:09:17
> I've got a problem building exist1.3 with Lucene. When I try to build
> exist I get the following error messages:
http://exist.svn.sourceforge.net/exist/?rev=8929&view=rev
[Exist-open] problem building exist with lucene
From: Torsten Schassan <schassan@ha...> - 2009-04-28 15:05:47
I've got a problem building exist1.3 with Lucene. When I try to build
exist I get the following error messages:
C:\xampp\exist\extensions\indexes\lucene\classes
C:\xampp\exist\extensions\indexes\lucene\src\org\exist\indexing\luce
ne\LuceneConfig.java:21: generics are not supported in -source 1.4
[javac]     private Map<QName, LuceneIndexConfig> qnames = new
TreeMap<QName
, LuceneIndexConfig>();
C:\xampp\exist\build\scripts\build-impl.xml:535: The following error
C:\xampp\exist\extensions\indexes\build.xml:1: The following error
C:\xampp\exist\extensions\indexes\common.xml:59: Compile failed; see the
I checked out version 1.3 yesterday and run java version "1.6.0_11":
iD8DBQFJ9xOuq4nZEP2KS4QRAk25AJ9wUh7ZrtAk3I9DqjQiz3pZsy4ynwCfdk8Z
69XT3yBRAFmxSm2QElXlBQ0=
=tNY6
[Exist-open] xinclude via util:serialize
From: James Fuller <james.fuller.2007@gm...> - 2009-04-27 17:27:26
can anyone confirm if this is a bug in current trunk
let $stdin := document{<book
xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include
href="/db/xinclude/sidebar.xml"/></book>}
util:serialize($stdin,'enable-xincludes=yes')
when enable-xinclude=no in conf.xml
and accessing eXists example /db/xinclude/sidebar.xml
... I will add this as a unit test to SerializeTest for
util:serialize, but was wondering what the best method for setting
pragma's programatically  ?
Re: [Exist-open] Reading files from the file system
From: Pierrick Brihaye <pierrick.brihaye@fr...> - 2009-04-25 15:37:09
> Yes, I personally dont think that we should support file:// in the
> core libraries.
Personally, I think that every URL (or even URI) resolution should be
delegated to a resolver, which should be highly configurable at the
application developement level.
From: Adam Retter <adam@ex...> - 2009-04-25 15:26:24
> But the function docs for fn:doc() say it can take "file://"; URLs:
doc() is for XML files, you are trying to load a text file. So it wont
work regardless.
> Isn't this essentially the same security hole, Dannes?
Yes, I personally dont think that we should support file:// in the
From: Joe Wicentowski <joewiz@gm...> - 2009-04-25 15:06:05
Thanks for your replies, Dannes and Leif-Jöran,
2009/4/25 Leif-Jöran Olsson <ellefj@...>:
> How do you read the docs, Joe? ;) Putting "read" into the function search
> <http://demo.exist-db.org/exist/xquery/functions.xql>; gives you
> util:file-read()/1/2.
Yes, I did consult the function documentation, but util:file-read()
says "DEPRECATED: Moved to the file extension module. See
file:read()".  The all caps warning scared me off from relying on
this, but maybe it will do the trick for now; I don't expect I'll need
to rely on this for ever.
On Sat, Apr 25, 2009 at 9:31 AM, Dannes Wessels <dizzzz@...> wrote:
> hopefully not, because that would be a potential gigantic security hole.....
But the function docs for fn:doc() say it can take "file://"; URLs:
> The arguments are either document paths like '/db/shakespeare/plays/hamlet.xml' or XMLDB URIs like 'xmldb:exist://localhost:8081//db/shakespeare/plays/hamlet.xml'; or standard URLs starting with http://, file://, etc.
(In fact, file:// URLs don't work for me, as I mentioned.)  And
xmldb:store-files-from-pattern() reads from the file system:
> "Resources are read from the server's file system."
Likewise, fn:doc-available() operates on file:// URLs.  In fact,
sandbox.xql and doc-setup.xql make use of both
xmldb:store-files-from-pattern() and fn:doc-available() to load files
from the file system into the database.  So rather than reading the
file directly, these .xqls store the file in the database first, then
read it from the db.
Isn't this essentially the same security hole, Dannes?
Re: [Exist-open] queries blocking each other
From: Adam Retter <adam@ex...> - 2009-04-25 14:52:52
> So, here the query, and Indexes below. The query runs ~55 seconds on our fast Windows 2008 Server
> when I post it via SOAP from the C#.NET code that's behind a simple ASP.NET page:
> When I paste it into the eXist java client, it runs only 9.8 seconds! How can that be!? If I could
> solve this problem, maybe the speed would even suffice. Any ideas?
Could you try POST the same Query using the REST interface,
documentation is on the website. If it then takes 9.8 seconds I think
we can then point the finger at the SOAP interface.
2009/4/25  <wuuf@...>:
> Thanks for your offers of paid consulting time! I am still trying to narrow down the problem and
> Wolfgang wrote:
>>> What can be wrong if a long running query blocks a simple short one? I
>>> start an xquery joining
>>> several long xml docs and then a short one that usually takes just
>>> 15ms. The short one gets finished
>>> only when the long one does, even timeouts when the long query does.
>> Can you show us the query? And the indexes you defined? Read-only
>> queries will not lock the db. However, bad queries can block the
>> low-level db files, usually because they need to do a full scan over a
>> huge node set. Defining a range index would help in this case.
> QueryService qry;
> QueryResponse response = qry.xquery(session, Encoding.UTF8.GetBytes(cmd));
> TimeSpan t = DateTime.Now - start;
> log.Info("xquery(session " + session + ") took " + t.TotalSeconds + "s");
> Thanks for your time & help, wuuf
> The query (a little complex, it basically joins parts of several large XML documents and ads some
> HTML depending on certain criteria):
> declare option exist:output-size-limit "128000";
> declare function local:Tags($el as node()) as node()*
>        for $tag in $el/Tag
>        return <span class="tag">{$tag/text()}</span>
> declare function local:Ampel($p as node()) as node()
>        let $status := $p/Data[1]/Status
>        if (empty($status)) then <span>???Status???</span>
>        <span class="{if ($status = 'Entw.') then 'yellow' else ( if ($status = 'Gesp.') then 'red' else
> 'green' )}"> </span>
> let $pub := doc('/Application/Publication/Publication.xml')//Publication[1]
> let $oldProducers := doc('/Application/Nachmigration/Producer.xml')/ProductInfoList
> let $oldCompositions := doc('/Application/Nachmigration/Composition.xml')/ProductInfoList
> <ul class="categories">
>        for $catLink in $pub/Category
>        let $cat := doc('/Application/Category/Category.xml')//Category[@Guid = $catLink/@Guid]
>        let $publish := ($catLink/@Publish = "true")
>        <li class="category {if ($publish) then "included" else "excluded"}" id="{$catLink/@Guid}">
>                <span class="name">{$cat/Name cast as xs:string}</span>
>                { local:Tags($catLink) }
>                { (: if (not($publish)) then () else :)
>                        <ul class="productinfos">
>                                for $prodLink in $catLink/ProductInfo
>                                let $prod := doc('/Application/ProductInfo/ProductInfo.xml')//ProductInfo[@Guid = $prodLink/@Guid]
>                                let $publish := if ($prodLink/@Publish = "true") then "included" else "excluded"
>                                return
>                                if ($prod/@Deleted) then () else
>                                if (not($prod/Data[1]/Category/@Guid = $cat/@Guid)) then () (:
> <li><span>({$prod/Data[1]/ProductName/text()}<a href="ProductDetail.aspx?id={$prod/@Guid}"
> target="_blank">*</a> ist nicht mehr in dieser Kategorie)</span></li> :)
>                                else
>                                if (empty($prod)) then <li><span>[Produkt {string($prodLink/@Guid)} existiert nicht]</span></li>
>                                <li class="productinfo {$publish} no-branch" id="{$prodLink/@Guid}">
>                                        { local:Ampel($prod) }
>                                        <span class="name">{$prod/Data[1]/ProductName/text()}</span>
>                                        <a href="ProductDetail.aspx?id={$prod/@Guid}" target="_blank">*</a>
>                                        { if ($pub/Title = 'HUMAN') then <span>({if ($prod/Data[1]/Producer) then
> $prod/Data[1]/Producer/text() else $oldProducers/ProductInfo[@OldId = $prod/@OldId]/Producer/text()})
>                                                [{if ($prod/Data[1]/ActiveSubstance) then $prod/Data[1]/ActiveSubstance/text() else
> $oldCompositions/ProductInfo[@OldId = $prod/@OldId]/Composition[1]/Substance/text()}]</span> else () }
>                                        { local:Tags($prodLink) }
>                                        { (: if (not($publish)) then () else :)
>                                                <ul class="productitems"> {
>                                                        for $artLink in $prodLink/ProductItem
>                                                        let $art := doc('/Application/ProductInfo/ProductInfo.xml')//ProductItem[@Guid = $artLink/@Guid]
>                                                        let $pA:= doc('/Application/ProAlpha/ProAlpha.xml')//ProductItem[@Guid = $art/@Guid]
>                                                        let $publish := if ($artLink/@Publish = "true") then "included" else "excluded"
>                                                        return
>                                                        if ($art/@Deleted) then <li>(Artikel Deleted)</li> else
>                                                        if (empty($art)) then <li>[Artikel {string($artLink/@Guid)} existiert nicht]</li> else
>                                                        <li class="productitem {$publish}" id="{$art/@Guid}">
>                                                                { local:Ampel($art) }
>                                                                { if (empty($pA) or matches($pA/Zustaende, '80[23]')) then
>                                                                        <span style="color: red;">[{if (empty($pA)) then 'keine Daten aus pA' else if
> (matches($pA/Zustaende, '80[23]')) then concat('pA-Zustand ', $pA/Zustaende) else '???'}]</span>
> else () }
>                                                                <span class="name" style="{if ($pA/Artikelsperre = 'true') then 'color: #F80;' else
> ()}">{$art/Data[1]/SupplierArticleId}  {if ($art/Data[1]/Name) then $art/Data[1]/Name/text()
> else $pA/Bezeichnung/text()} ({$pA/Abfassung/text()})</span>
>                                                                {local:Tags($artLink)}
>                                                        </li>
>                                                { (: new productitems :)
>                                                        let $oldArt := $prodLink/ProductItem
>                                                        for $newArt in $prod/ProductItemList/ProductItem
>                                                        return if ($newArt/@Guid = $oldArt/@Guid) then () else
>                                                        if ($newArt/@Deleted) then () else
>                                                                <li class="productitem new" id="{$newArt/@Guid}">
>                                                                        { local:Ampel($newArt) }
>                                                                        <span class="name">{$newArt/Data[1]/SupplierArticleId}
> {$newArt/Data[1]/Name/text()}</span>
>                                                                </li>
>                                                (: end of new productitems :) }
>                                </li>
>                        { (: new productinfos :)
>                                let $oldProd := $catLink/ProductInfo
>                                for $newProd in
> doc('/Application/ProductInfo/ProductInfo.xml')//ProductInfo[Data[1]/Category/@Guid = $catLink/@Guid]
>                                return if ($newProd/@Deleted) then () else
>                                if  ($newProd/@Guid = $oldProd/@Guid) then () else
>                                <li class="productinfo new no-branch" id="{$newProd/@Guid}">
>                                        { local:Ampel($newProd) }
>                                        <span class="name">{$newProd/Data[1]/ProductName/text()}</span>
>                                        <ul> {
>                                                for $newArt in $newProd/ProductItemList/ProductItem
>                                                return
>                                                <li class="productitem new" id="{$newArt/@Guid}">
>                                                        { local:Ampel($newArt) }
>                                                        <span class="name">{$newArt/Data[1]/SupplierArticleId}  {$newArt/Data[1]/Name/text()}</span>
>                                                </li>
>                                        }</ul>
>                        (: end of new productinfos :)
>                }</ul>
>        </li>
> /db/system/config/db/Application/collection.xconf:
>        <fulltext default="none" attributes="false"/>
>        <!-- Range indexes -->
>        <create qname="@Guid" type="xs:string"/>
>        <create qname="@OldId" type="xs:integer"/>
>        <create qname="@Deleted" type="xs:string"/>
>        <create qname="@Was" type="xs:string"/>
>        <create qname="@At" type="xs:string"/>
>        <create qname="@By" type="xs:string"/>
>        <create qname="Key" type="xs:string"/>
>        <create qname="@Publish" type="xs:boolean"/>
>        <create qname="Status" type="xs:string"/>
>        <create qname="ActiveSubstance" type="xs:string"/>
>        <create qname="Zustaende" type="xs:string"/>
>        <create qname="Artikelsperre" type="xs:boolean"/>
>        <!-- Enums -->
>        <create qname="@Name" type="xs:string"/>
>        <create qname="@Language" type="xs:string"/>
>        <!-- ProductItem -->
>        <create qname="SupplierArticleId" type="xs:string"/>
>        <!-- Price -->
>        <create qname="@SAI" type="xs:string"/>
>        <!-- File -->
>        <create qname="@Purpose" type="xs:string"/>
>        <create qname="@Source" type="xs:string"/>
>        <create qname="@To" type="xs:string"/>
From: <wuuf@gm...> - 2009-04-25 14:24:52
Thanks for your offers of paid consulting time! I am still trying to narrow down the problem and
>> What can be wrong if a long running query blocks a simple short one? I
>> start an xquery joining
>> several long xml docs and then a short one that usually takes just
>> 15ms. The short one gets finished
>> only when the long one does, even timeouts when the long query does.
> Can you show us the query? And the indexes you defined? Read-only
> queries will not lock the db. However, bad queries can block the
> low-level db files, usually because they need to do a full scan over a
> huge node set. Defining a range index would help in this case.
So, here the query, and Indexes below. The query runs ~55 seconds on our fast Windows 2008 Server
when I post it via SOAP from the C#.NET code that's behind a simple ASP.NET page:
QueryService qry;
QueryResponse response = qry.xquery(session, Encoding.UTF8.GetBytes(cmd));
log.Info("xquery(session " + session + ") took " + t.TotalSeconds + "s");
When I paste it into the eXist java client, it runs only 9.8 seconds! How can that be!? If I could
solve this problem, maybe the speed would even suffice. Any ideas?
Thanks for your time & help, wuuf
The query (a little complex, it basically joins parts of several large XML documents and ads some
HTML depending on certain criteria):
declare option exist:output-size-limit "128000";
declare function local:Tags($el as node()) as node()*
for $tag in $el/Tag
return <span class="tag">{$tag/text()}</span>
declare function local:Ampel($p as node()) as node()
let $status := $p/Data[1]/Status
if (empty($status)) then <span>???Status???</span>
<span class="{if ($status = 'Entw.') then 'yellow' else ( if ($status = 'Gesp.') then 'red' else
'green' )}"> </span>
let $pub := doc('/Application/Publication/Publication.xml')//Publication[1]
let $oldProducers := doc('/Application/Nachmigration/Producer.xml')/ProductInfoList
let $oldCompositions := doc('/Application/Nachmigration/Composition.xml')/ProductInfoList
for $catLink in $pub/Category
let $cat := doc('/Application/Category/Category.xml')//Category[@Guid = $catLink/@Guid]
let $publish := ($catLink/@Publish = "true")
<li class="category {if ($publish) then "included" else "excluded"}" id="{$catLink/@Guid}">
<span class="name">{$cat/Name cast as xs:string}</span>
{ (: if (not($publish)) then () else :)
<ul class="productinfos">
for $prodLink in $catLink/ProductInfo
let $prod := doc('/Application/ProductInfo/ProductInfo.xml')//ProductInfo[@Guid = $prodLink/@Guid]
let $publish := if ($prodLink/@Publish = "true") then "included" else "excluded"
if ($prod/@Deleted) then () else
if (not($prod/Data[1]/Category/@Guid = $cat/@Guid)) then () (:
<li><span>({$prod/Data[1]/ProductName/text()}<a href="ProductDetail.aspx?id={$prod/@Guid}"
target="_blank">*</a> ist nicht mehr in dieser Kategorie)</span></li> :)
if (empty($prod)) then <li><span>[Produkt {string($prodLink/@Guid)} existiert nicht]</span></li>
<li class="productinfo {$publish} no-branch" id="{$prodLink/@Guid}">
{ local:Ampel($prod) }
<span class="name">{$prod/Data[1]/ProductName/text()}</span>
<a href="ProductDetail.aspx?id={$prod/@Guid}" target="_blank">*</a>
{ if ($pub/Title = 'HUMAN') then <span>({if ($prod/Data[1]/Producer) then
$prod/Data[1]/Producer/text() else $oldProducers/ProductInfo[@OldId = $prod/@OldId]/Producer/text()})
[{if ($prod/Data[1]/ActiveSubstance) then $prod/Data[1]/ActiveSubstance/text() else
$oldCompositions/ProductInfo[@OldId = $prod/@OldId]/Composition[1]/Substance/text()}]</span> else () }
{ local:Tags($prodLink) }
<ul class="productitems"> {
for $artLink in $prodLink/ProductItem
let $art := doc('/Application/ProductInfo/ProductInfo.xml')//ProductItem[@Guid = $artLink/@Guid]
let $pA:= doc('/Application/ProAlpha/ProAlpha.xml')//ProductItem[@Guid = $art/@Guid]
let $publish := if ($artLink/@Publish = "true") then "included" else "excluded"
if ($art/@Deleted) then <li>(Artikel Deleted)</li> else
if (empty($art)) then <li>[Artikel {string($artLink/@Guid)} existiert nicht]</li> else
<li class="productitem {$publish}" id="{$art/@Guid}">
{ local:Ampel($art) }
{ if (empty($pA) or matches($pA/Zustaende, '80[23]')) then
<span style="color: red;">[{if (empty($pA)) then 'keine Daten aus pA' else if
(matches($pA/Zustaende, '80[23]')) then concat('pA-Zustand ', $pA/Zustaende) else '???'}]</span>
else () }
<span class="name" style="{if ($pA/Artikelsperre = 'true') then 'color: #F80;' else
()}">{$art/Data[1]/SupplierArticleId}  {if ($art/Data[1]/Name) then $art/Data[1]/Name/text()
else $pA/Bezeichnung/text()} ({$pA/Abfassung/text()})</span>
{local:Tags($artLink)}
{ (: new productitems :)
let $oldArt := $prodLink/ProductItem
for $newArt in $prod/ProductItemList/ProductItem
return if ($newArt/@Guid = $oldArt/@Guid) then () else
if ($newArt/@Deleted) then () else
<li class="productitem new" id="{$newArt/@Guid}">
{ local:Ampel($newArt) }
<span class="name">{$newArt/Data[1]/SupplierArticleId}
{$newArt/Data[1]/Name/text()}</span>
(: end of new productitems :) }
{ (: new productinfos :)
let $oldProd := $catLink/ProductInfo
for $newProd in
doc('/Application/ProductInfo/ProductInfo.xml')//ProductInfo[Data[1]/Category/@Guid = $catLink/@Guid]
return if ($newProd/@Deleted) then () else
if  ($newProd/@Guid = $oldProd/@Guid) then () else
<li class="productinfo new no-branch" id="{$newProd/@Guid}">
{ local:Ampel($newProd) }
<span class="name">{$newProd/Data[1]/ProductName/text()}</span>
for $newArt in $newProd/ProductItemList/ProductItem
<span class="name">{$newArt/Data[1]/SupplierArticleId}  {$newArt/Data[1]/Name/text()}</span>
(: end of new productinfos :)
/db/system/config/db/Application/collection.xconf:
<create qname="@Guid" type="xs:string"/>
<create qname="@OldId" type="xs:integer"/>
<create qname="@Deleted" type="xs:string"/>
<create qname="@Was" type="xs:string"/>
<create qname="@At" type="xs:string"/>
<create qname="@By" type="xs:string"/>
<create qname="Key" type="xs:string"/>
<create qname="@Publish" type="xs:boolean"/>
<create qname="Status" type="xs:string"/>
<create qname="ActiveSubstance" type="xs:string"/>
<create qname="Zustaende" type="xs:string"/>
<create qname="Artikelsperre" type="xs:boolean"/>
<create qname="@Language" type="xs:string"/>
<!-- ProductItem -->
<create qname="SupplierArticleId" type="xs:string"/>
<create qname="@SAI" type="xs:string"/>
<create qname="@Purpose" type="xs:string"/>
<create qname="@Source" type="xs:string"/>
From: Dannes Wessels <dizzzz@ex...> - 2009-04-25 13:48:01
On 25 Apr 2009, at 8:05 , Joe Wicentowski wrote:
> This works, but I'd prefer not to rely on the file module.  Is there a
> way to read files from the file system without using the file module?
hopefully not, because that would be a potential gigantic security
[Exist-open] [ exist-Bugs-2781149 ] Cluster and Non-Cluster collection() has different behaviour
From: SourceForge.net <noreply@so...> - 2009-04-25 13:43:10
Bugs item #2781149, was opened at 2009-04-25 14:43
Message generated for change (Tracker Item Submitted) made by mattjubb
https://sourceforge.net/tracker/?func=detail&atid=117691&aid=2781149&group_id=17691
Submitted By: metalstorm (mattjubb)
Summary: Cluster and Non-Cluster collection() has different behaviour
When running eXist normally i can query a entire collection and all children below it by doing collection('/db')//* or something similar but when running eXist in cluster mode this query will only return the direct elements contained within that collection not any levels deeper. This problem can easily be reproduced on the latest trunk rev (I have tested it on 8886 and 8578) by running the following system:as-user('admin','',collection('/db'))/* in both clustered and non cluster mode and comparing the results. Note: using system:as-user or not makes no difference

type: global

value: This website is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring of downloads for load balancing, a wiki for documentation, developer and user mailing lists, user-support forums, user-written reviews and ratings, a news bulletin, micro-blog for publishing project updates, and other features.


text:
BBC - Your Paintings - A View of the Garden and Main Parterre of Winchendon House, Buckinghamshire, from the East, with Figures in the Foreground
A View of the Garden and Main Parterre of Winchendon House, Buckinghamshire, from the East, with Figures in the Foreground by Peter Tillemans
Oil on canvas, 64.5 x 90.5 cm Collection: Buckinghamshire County Museum	Where to see this painting?
Accession number:AYBCM:1993.234.1
Acquisition method:purchased at Christie's with a grant from the Museums and Galleries Commission and the Victoria and Albert Museum Purchase Grant Fund, 1993

value: This website is the BBC's online service. It is a large network of websites including such high-profile sites as BBC News and Sport, the on-demand video and radio services co-branded BBC iPlayer, the children's sites CBBC and CBeebies, and learning services such as Bitesize.


text:
Video: Photographer Alan Schaller offers seven tips for black and white street photography
from Alphabet soup. Letter D - Illustrate "Dreamy" fireman comforts young boy by Gerry Frederick
Feb 17, 202023
Feb 17, 20202lens news
Feb 17, 202031
Feb 17, 2020138
Feb 16, 2020145lens news
Feb 16, 202040review
Feb 15, 202034
Feb 15, 2020247video
Feb 14, 2020178
Feb 14, 2020175
Feb 14, 202030mobile
Feb 14, 202086review
Feb 14, 2020265
Feb 13, 202057
Feb 13, 20201573camera news
Feb 13, 2020445lens news

value: This website is a website about digital cameras and digital photography, established in November 1998. The website provides comprehensive reviews of digital cameras, lenses and accessories, buying guides, user reviews, and forums for individual cameras, as well as general photography forums.


text:
The table was just what I was looking for. Nice table for the price.
This square side table packs a highly useful punch into a 15-inch footprint. Scaled to fit most anywhere, this table features a pull-out top drawer, bottom display shelf and oak-edging accents against a slate black finish.
Finish: Black with oak details
Today: $70.10 - $84.99
aldmph Mar 20, 2012
gr8pyr Jun 11, 2013
mkspode1 Apr 11, 2012
OstkUser1729711 Dec 21, 2017
I purchased two of these tables to use as night stands. I didn't have much space so the size was perfect. They went together easily and fit the space nicely. They are sturdy and made well.
walkermn Mar 4, 2017
Jami D. Dec 5, 2016

value: This website is an American internet retailer selling primarily furniture headquartered in Midvale, Utah, near Salt Lake City.


text:
BBB Business Profile | Janes Asphalt Paving
> Janes Asphalt Paving
(936) 293-8070
62 Possum Walk Loop # B
Huntsville, TX 77340-2135
(936) 293-8591
(936) 435-0740
janesasphalt123@sbcglobal.net
Mrs. Ann Janes, Office Manager
Mrs. Ella Janes, Owner
This company offers asphalt paving, base installation, and concrete paving, as well as a variety of high quality aggregate products.
Janes Pavement Services, Inc.

value: This website is a private, nonprofit organization whose self-described mission is to focus on advancing marketplace trust, consisting of 106 independently incorporated local BBB organizations in the United States and Canada, coordinated under the International Association of Better Business Bureaus  in Arlington, Virginia.The Better Business Bureau is not affiliated with any governmental agency. Businesses that affiliate with the BBB and adhere to its standards do so through industry self-regulation.


text:
Re: B&W or Sepia which do you like best????: Black and White Photography Forum: Digital Photography Review
Forum indexBlack and White PhotographyChange forum B&W or Sepia which do you like best????
Re: B&W or Sepia which do you like best???? In reply to TClair,
Thanks for the input everyone that helps me a lot. If you would like to see it in color check the Fuji forum here. http://forums.dpreview.com/forums/read.asp?forum=1020&message=41191561 TClair's gear list:TClair's gear list
Post (hide subjects)Posted byWhenB&W or Sepia which do you like best????NewTClair Apr 11, 2012 Re: B&W or Sepia which do you like best????NewBob Tullis Apr 12, 2012 Re: B&W or Sepia which do you like best????NewKokomo O Apr 12, 2012 Re: B&W or Sepia which do you like best????NewFinch585 Apr 12, 2012 Re: B&W or Sepia which do you like best????Newjeffsvisions Apr 12, 2012 Re: B&W or Sepia which do you like best????NewAlexBakerPhotoz Apr 18, 2012 Re: B&W or Sepia which do you like best????NewTClair Apr 12, 2012 Re: B&W or Sepia which do you like best????Newgranitespider Apr 16, 2012 B&W like bestNewArnJ Apr 12, 2012 Re: B&W like bestNewVic Chapman Apr 12, 2012 Re: B&W like bestNewTClair Apr 13, 2012 Re: B&W or Sepia which do you like best????NewAlexBakerPhotoz Apr 15, 2012 Re: B&W or Sepia which do you like best????Newfrostybroc Apr 15, 2012 an unsolicited demonstrationNewtom60634 Apr 15, 2012 Re: an unsolicited demonstrationNewTClair Apr 16, 2012 Embarrassed :)Newtom60634 Apr 16, 2012 Re: B&W or Sepia which do you like best????Newgranitespider Apr 16, 2012 Re: B&W or Sepia which do you like best????Newffnikclif Apr 17, 2012 Re: B&W or Sepia which do you like best????NewTClair Apr 17, 2012 Re: B&W or Sepia which do you like best????NewAlbertoGarcia Apr 27, 2012 Re: B&W or Sepia which do you like best????NewAlbertoGarcia Apr 27, 2012 ForumParentFirstPreviousNextNext unread
FeaturesDistinctly evolvedFujifilm X-E2 reviewFirst impressions reviewNikon D4s: Hit ISO 409,600 In-depth reviewSony a7R: Shaking up the market? Gearhead's playgroundCP+ 2014: Highlights of the showIn-depth reviewSony a7: Full-frame mirrorless is here+new real-world galleryFujifilm X-T1: Shooting experienceWHAT TO BUY - AND WHYCamera and Lens Buying GuidesJust a mom with her camera580Dreamy life on Russian farm 4K for the rest of usHands-on with Panasonic GH4125,000 photos = 1 stunning video228Wyoming's weather in time-lapse
Top threads in this forum9The Real Bangkok Railway Station thread6Brooklyn sunset5automobile3Community Center, Cleo Texas2Car #1 at the Indianapolis Motor Speedway2Amaryllis Bulb1One or two... Street lamp (19/35) by Pascal Riben1One or two... Bangkok Wall (21/35) by Pascal Riben1One or two... Bangkok Crosswalk (20/35) by Pascal Riben1A dreamy bridge in Brooklyn
Top posters in this forum66bosjohn2137Pascal Riben25Vidau17daRRski15kgwhite10mallbuedel8Irina Sh6Brev005wyeman5Displacer5Dr Paul4jrk4rfeuer4IvanM4Nhelnhel4kenwj3dgnelson3Aaron8012jconrad242Stuart001